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 @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
                                          • dslraser
                                            dslraser Forum Testing Most Active @Elektroniker86 last edited by

                                            @Elektroniker86
                                            was sind das denn für Geräte von Deinem Licht ? Poste mal einen Datenpunkt von so einem Gerät als RAW in Code Tags.

                                            möchte ich nicht das die Datenpunkte unter userdata.0.Geräte zählen angelegt werden

                                            ja, das geht, in der Funktion Datenpunkte anlegen.
                                            da rein klicklen </>
                                            Bildschirmfoto 2020-02-09 um 11.54.41.png
                                            dann ganz unten in den Datenpunkten den / die Ordnerstruktur bestimmen. Ganz unten dann anstatt 0_userdata.0 Dein javascript.o eintragen.
                                            Bildschirmfoto 2020-02-09 um 11.54.53.png

                                            Elektroniker86 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            457
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            14
                                            202
                                            23107
                                            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