Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly Selektor u. Aufzählungen Geräte zählen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Selektor u. Aufzählungen Geräte zählen

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @Conquest last edited by

      @Conquest
      meinst Du es so ? (Alexa2 Adapter Ansage) Hier ist nur der "Ansage-Teil".
      Hier rein klicken und den passenden Datenpunkt erstellen z.B.
      Bildschirmfoto 2020-01-31 um 14.50.28.png

      Bildschirmfoto 2020-01-31 um 14.51.38.png

      z.B.

          ['Alexa_Ansagen.Ansagen.10Fensteransage_einzelne_Fenster', {'name': '10Fensteransage_einzelne_Fenster','type': 'boolean', 'read': true, 'write': true, 'role': 'button','def':false, "smartName": {"de": "10Fensteransage einzelne Fenster","smartType": "SWITCH"} }], 
      
      

      Ich habe diese Ansagen
      Bildschirmfoto 2020-01-31 um 14.59.20.png

      und dann dieses Blockly
      Bildschirmfoto 2020-01-31 um 14.55.07.png


      Alexa2_Ansage.txt

      C 1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @Iccube last edited by

        @Icube
        poste mal den RAW als Code von so einem Datenpunkt

        Iccube 1 Reply Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @Iccube last edited by dslraser

          @Icube
          nimm mal nur den und kommentiere den Rest aus (bei Dir Zeile 7 und 8 )

          if(getObject(id.substring(0, id.lastIndexOf('.')))) return getObject(id.substring(0, id.lastIndexOf('.'))).common.name;
          else return null;
          
          Iccube 1 Reply Last reply Reply Quote 0
          • Iccube
            Iccube @dslraser last edited by Iccube

            @dslraser

            {
              "_id": "knx.0.Beleuchtung_.Schalten_Status.Bad_Deckenlicht_status",
              "type": "state",
              "common": {
                "name": "Bad Deckenlicht.status",
                "type": "boolean",
                "read": true,
                "write": false,
                "role": "indicator.switch",
                "min": false,
                "max": true
              },
              "native": {
                "dpt": "DPT1.011",
                "address": "1/4/4",
                "addressRefId": "P-034B-0_GA-81",
                "statusGARefId": "",
                "actGARefId": "P-034B-0_GA-5"
              },
              "from": "system.adapter.knx.0",
              "user": "system.user.admin",
              "ts": 1580326377284,
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            
            1 Reply Last reply Reply Quote 0
            • Iccube
              Iccube @dslraser last edited by

              @dslraser meinst du so
              fehler.png
              dann kommt folgender Fehler und anzeigen tut er auch nix
              log.png

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Iccube last edited by paul53

                @Icube
                Ändere Zeile 4 in der Javascript-Funktion in

                return devicename;
                

                oder mach einen 2-Zeiler draus:

                let name = getObject(id).common.name;
                return name.substring(0, name.lastIndexOf('.'));
                
                Iccube 1 Reply Last reply Reply Quote 1
                • Iccube
                  Iccube @paul53 last edited by

                  @paul53 ja jetzt klappt es danke
                  richtig.png

                  1 Reply Last reply Reply Quote 1
                  • C
                    Conquest @dslraser last edited by

                    @dslraser
                    Ja genau so habe ich es gemeint.
                    Bekomme allerdings noch eine Warnung im Log:

                    javascript.3	2020-01-31 15:36:11.067	warn	(24179) script.js.Alexa.Alexa_Lichtansage: Das angesprochene Gerät unterstützt kein ssml oder speak-volume !
                    
                    dslraser 1 Reply Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @Conquest last edited by

                      @Conquest
                      auf was für einem Gerät soll die Ansage kommen ? Und kommt denn eine Ansage ?

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        Conquest @dslraser last edited by

                        @dslraser sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:

                        @Conquest
                        auf was für einem Gerät soll die Ansage kommen ? Und kommt denn eine Ansage ?

                        Auf einem Amazon Echo. Ob eine Ansage kommt kann ich nicht sagen bin momentan nicht zu Hause. Der Fehler kam direkt nach Scriptstart.

                        dslraser 1 Reply Last reply Reply Quote 0
                        • dslraser
                          dslraser Forum Testing Most Active @Conquest last edited by dslraser

                          @Conquest sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:

                          Auf einem Amazon Echo. Ob eine Ansage kommt kann ich nicht sagen bin momentan nicht zu Hause. Der Fehler kam direkt nach Scriptstart.

                          Okay, das mit dem Scriptstart könnte sein, weil der Datenpunkt eventuell erstellt und dann aktualisiert wurde.
                          Diese Warnung habe ich absichtlich drinn, weil nicht alle Geräte ssml unterstützen, z.B. wenn Du die Ansage am Handy per Sprache startest. Eine Antwort soll am angesprochenen Gerät erfolgen, was ja eigentlich kein ECHO sein kann, wenn Du nicht zu Hause bist oder am Handy.
                          Probiere mal bitte eine echte Ansage wenn Du zu Hause bist.

                          1 Reply Last reply Reply Quote 0
                          • tugsi
                            tugsi @tugsi last edited by

                            @tugsi sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:

                            Kann man eigentlich in dem Selektor auch eine ODER-Verknüpfung einbringen, weil meine ZWAVE Fensterkontakte ja auf einen anderen Datenpunkt signalisieren (.SENSOR_1)

                            Sowas wie (state[id=.opened]ORstate[id=.SENSOR_1])(functions=fenster) ...

                            @paul53 vielleicht kannst Du was dazu sagen?,
                            kann ich im Selektor zwei verschiedene Datenpunkte abfragen, sodass ich mir eine erneute Schleife spare?

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @tugsi last edited by paul53

                              @tugsi sagte:

                              kann ich im Selektor zwei verschiedene Datenpunkte abfragen, sodass ich mir eine erneute Schleife spare?

                              Das habe ich noch nicht getestet. Du kannst es mal so testen und berichten:

                              $('state[id=*.(opened|SENSOR_1)$](functions=fenster)')
                              

                              Vermutlich wird es nicht funktionieren, da der Selektor nicht funktioniert, wenn die ID Klammern enthält.

                              tugsi 1 Reply Last reply Reply Quote 0
                              • tugsi
                                tugsi @paul53 last edited by tugsi

                                @paul53 sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:

                                Das habe ich noch nicht getestet. Du kannst es mal so testen und berichten:

                                $('state[id=*.(opened|SENSOR_1)$](functions=fenster)')
                                

                                Vermutlich wird es nicht funktionieren, da der Selektor nicht funktioniert, wenn die ID Klammern enthält.

                                JS meckert:

                                Invalid selector: enum close bracket ")" cannot be found in "$('state[id=*.(opened|SENSOR_1)$](functions=fenster)')"
                                
                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @tugsi last edited by paul53

                                  @tugsi sagte:

                                  ohne Fenster öffnen, passiert keine Änderung

                                  Du kannst so testen, ob alle passenden IDs gefunden werden:

                                  $('state[id=*.(opened|SENSOR_1)$](functions=fenster)').each(function(id, i) {
                                     log(id);
                                  });
                                  
                                  tugsi 1 Reply Last reply Reply Quote 0
                                  • tugsi
                                    tugsi @paul53 last edited by

                                    @paul53 Ok,
                                    Aber der kommt schon mit dem $ nach dem SENSOR_1 nicht klar.
                                    Und im Blockly kann ich die ' nicht mit reinpacken, dass bemängelt der auch.

                                    Ist der Ausdruck von Dir aus JS genommen?
                                    Btw gibts ne gute Seite für JS, sodass ich da einiges nachlesen kann?

                                    paul53 2 Replies Last reply Reply Quote 0
                                    • paul53
                                      paul53 @tugsi last edited by

                                      @tugsi sagte:

                                      Btw gibts ne gute Seite für JS

                                      Funktions-Doku zum JS-Adapter.

                                      1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @tugsi last edited by paul53

                                        @tugsi sagte:

                                        der kommt schon mit dem $ nach dem SENSOR_1 nicht klar.

                                        $ kannst Du weglassen.

                                        tugsi 1 Reply Last reply Reply Quote 0
                                        • tugsi
                                          tugsi @paul53 last edited by

                                          @paul53 sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:

                                          @tugsi sagte:

                                          der kommt schon mit dem $ nach dem SENSOR_1 nicht klar.

                                          $ kannst Du weglassen.

                                          Ich habe jetzt einiges probiert, aber er kommt nicht klar mit den Klammern.
                                          Muss man wohl doch eine zweite Schleife mit einbauen

                                          1 Reply Last reply Reply Quote 0
                                          • Elektroniker86
                                            Elektroniker86 last edited by

                                            Moin, erstmal Danke für die Mühe, die Du hier reinsteckst!

                                            Jetzt zu meinem Anliegen, ich würde sehr gerne das blockly zum zählen meiner Beleuchtung ausprobieren jedoch bin ich mit den Einstellungen ein wenig überfordert. Ich weiß nicht wie ich es einstellen muss das es funktioniert. Ich sehe HMIP und HUE, das nutze ich alles nicht und meine Aufzählungen sehen so aus.

                                            Anmerkung 2020-02-09 113815.jpg

                                            Das ich im Blockly dann bei stateid=*.STATE anstatt HUE, Licht eintragen muss kann ich mir denken, aber was ist mit id=level ? Brauch ich dass? Weiter unten im Blockly weiss ich auch nicht was ich bei den Variabeln auswählen muss?

                                            Anmerkung 2020-02-09 112619.jpg

                                            Ausserdem möchte ich nicht das die Datenpunkte unter userdata.0.Geräte zählen angelegt werden. Ich hätte sie viel lieber hier.

                                            Anmerkung 2020-02-09 113117.jpg

                                            Ist es möglich, dass Blockly so abzuändern das die Datenpunkte hier landen?

                                            Vielen Dank im Voraus für eure Hilfe.

                                            dslraser 3 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            657
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            14
                                            202
                                            23504
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo