Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. On(pattern, callbackOrId, value) -> Rückgabe: obj

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    177

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.4k

On(pattern, callbackOrId, value) -> Rückgabe: obj

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
22 Beiträge 3 Kommentatoren 4.4k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • carsten04C Online
    carsten04C Online
    carsten04
    Developer
    schrieb am zuletzt editiert von
    #9

    Danke für die Mühe. Ich glaube hier liegt noch ein Fehler vor. Habe gerade erst folgenden Beitrag http://forum.iobroker.org/viewtopic.php?f=22&t=854 von Headroom68 unter "ioBroker Fehler gefunden". Er hat das selbe Problem.

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #10

      Muss jetzt funktionieren.

      Danke fürs Fehlermelden. ;)

      1 Antwort Letzte Antwort
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        schrieb am zuletzt editiert von
        #11
        javascript-0	2015-07-11 07:29:39	info	}
        javascript-0	2015-07-11 07:29:39	info	"enumNames": []
        javascript-0	2015-07-11 07:29:39	info	"enumIds": [],
        javascript-0	2015-07-11 07:29:39	info	"deviceName": "Küche Taster Säule",
        javascript-0	2015-07-11 07:29:39	info	"deviceId": "hm-rpc.0.FEQ0060867",
        javascript-0	2015-07-11 07:29:39	info	"channelName": "Küche Wandlampe rot",
        javascript-0	2015-07-11 07:29:39	info	"channelId": "hm-rpc.0.FEQ0060867.1",
        javascript-0	2015-07-11 07:29:39	info	"name": "Küche Wandlampe rot Taster links.STATE",
        javascript-0	2015-07-11 07:29:39	info	},
        

        Adapter: Fritzbox, Unify Circuit
        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

        1 Antwort Letzte Antwort
        0
        • ruhr70R Offline
          ruhr70R Offline
          ruhr70
          schrieb am zuletzt editiert von
          #12

          Der Taster ist bei mir dem Raum "Küche" zugeordnet.

          Müsste das nicht in enumNames auftauchen?

          Adapter: Fritzbox, Unify Circuit
          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

          1 Antwort Letzte Antwort
          0
          • carsten04C Online
            carsten04C Online
            carsten04
            Developer
            schrieb am zuletzt editiert von
            #13

            Hallo ruhr70,

            das müsste eigentlich auch nach meinem Verständnis so sein. Da enumNames ja ein Array ist glaube ich, dass hier nicht nur der Raum (von enum.rooms), sondern auch Favoriten (enum.favotires) und Funktionsnamen (enum.functions) in der jeweilgen JSON-Struktur erscheinen müssten, falls diese bei dem zugehörigen STATE gesetzt wurden (gleiches müsste nach meinem Verständnis auch für die enumIds gelten).

            @Bluefox: danke für die superschnelle Reaktion. Jetzt kann ich schon mal weiter scripten und meine ccu.io Portierung zu Ende bringen.

            Beste Grüße

            Carsten

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #14

              @ruhr70:

              Der Taster ist bei mir dem Raum "Küche" zugeordnet.

              Müsste das nicht in enumNames auftauchen? `
              Wenn du folgendes eingibst:

              iobroker l e | grep FEQ0060867
              

              Sieht du was?

              P.S. l - list, e - enum. Es geht auch "iobroker list enum"

              1 Antwort Letzte Antwort
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                schrieb am zuletzt editiert von
                #15

                @carsten04:

                Hallo ruhr70,

                das müsste eigentlich auch nach meinem Verständnis so sein. Da enumNames ja ein Array ist glaube ich, dass hier nicht nur der Raum (von enum.rooms), sondern auch Favoriten (enum.favotires) und Funktionsnamen (enum.functions) in der jeweilgen JSON-Struktur erscheinen müssten, falls diese bei dem zugehörigen STATE gesetzt wurden (gleiches müsste nach meinem Verständnis auch für die enumIds gelten).

                @Bluefox: danke für die superschnelle Reaktion. Jetzt kann ich schon mal weiter scripten und meine ccu.io Portierung zu Ende bringen.

                Beste Grüße

                Carsten `
                Bei mir ist z.B. enumIds = ["enum.favorites.Admin.Heizung","enum.functions.Heizung","enum.rooms.Kinderzimmer"]

                1 Antwort Letzte Antwort
                0
                • ruhr70R Offline
                  ruhr70R Offline
                  ruhr70
                  schrieb am zuletzt editiert von
                  #16

                  ich probier das nachher.

                  d.h. was Du davor angegeben hattest b

                  bin gerade auf einen "russischen" Geburtstag;-)

                  Gesendet von iPhone mit Tapatalk

                  Adapter: Fritzbox, Unify Circuit
                  Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                  1 Antwort Letzte Antwort
                  0
                  • carsten04C Online
                    carsten04C Online
                    carsten04
                    Developer
                    schrieb am zuletzt editiert von
                    #17

                    @Bluefox:

                    @carsten04:

                    Hallo ruhr70,

                    das müsste eigentlich auch nach meinem Verständnis so sein. Da enumNames ja ein Array ist glaube ich, dass hier nicht nur der Raum (von enum.rooms), sondern auch Favoriten (enum.favotires) und Funktionsnamen (enum.functions) in der jeweilgen JSON-Struktur erscheinen müssten, falls diese bei dem zugehörigen STATE gesetzt wurden (gleiches müsste nach meinem Verständnis auch für die enumIds gelten).

                    @Bluefox: danke für die superschnelle Reaktion. Jetzt kann ich schon mal weiter scripten und meine ccu.io Portierung zu Ende bringen.

                    Beste Grüße

                    Carsten Bei mir ist z.B. enumIds = ["enum.favorites.Admin.Heizung","enum.functions.Heizung","enum.rooms.Kinderzimmer"]

                    Hallo Bluefox,

                    bei mir bleiben enumNames und enumIds weiterhin leer. Ich habe folgendes einfache Szenario getestet:

                    function allLightsToggle(obj) {
                        log(JSON.stringify(obj),'info');
                    }
                    
                    on('hm-rpc.0.LEQ1226350.1.STATE',function(obj){
                        allLightsToggle(obj);
                        });
                    

                    Dabei ist LEQ1226350 ein 1fach Schaltaktor (HM-LC-Sw1-FM) der das Terrassenlicht schaltet und dem Raum Garten (enum.rooms) und dem Gewerk Licht (enum.functions) zugeordnet wurde.

                    JSON.stringify(obj) liefert:

                    2015-07-12 08:55:37.651  - info: javascript.0 script.js.Test: {"id":"hm-rpc.0.LEQ1226350.1.STATE","newState":{"val":true,"ts":1436684138,"ack":true,"lc":1436684138,"from":"system.adapter.hm-rpc.0"},"oldState":{"val":false,"ts":1436683871,"ack":true,"lc":1436683158,"from":"system.adapter.hm-rpc.0"},"common":{},"native":{},"channelId":"hm-rpc.0.LEQ1226350.1","channelName":"Schalter Terrassenlicht:1","deviceId":"hm-rpc.0.LEQ1226350","deviceName":"Schalter Terrassenlicht","enumIds":[],"enumNames":[]}
                    

                    und die Ausgabe von iobroker l e liefert an den relevanten Stellen:

                    =====================================================================================
                    rooms.Garten       (Garten)
                    -------------------------------------------------------------------------------------
                    hm-rpc.0.LEQ1226350.1
                    
                    =====================================================================================
                    functions.Licht    (Licht)
                    -------------------------------------------------------------------------------------
                    hm-rpc.0.LEQ1226350.1
                    
                    

                    Das sieht also alles soweit ganz gut aus, ausser das eben enumNames und enumIds leer bleiben.

                    Beste Grüße

                    Carsten
                    721_sma-em.jpg

                    1 Antwort Letzte Antwort
                    0
                    • carsten04C Online
                      carsten04C Online
                      carsten04
                      Developer
                      schrieb am zuletzt editiert von
                      #18

                      Hallo,

                      ich wollte das Thema noch einmal nach oben holen, da bei mir immer noch enumIds und enumNames leer bleiben, ich die Informationen in meinem Skript aber gut gebrauchen könnte. Ist das jetzt noch ein bekannter Fehler, oder mache ich noch irgendetwas falsch. Für Hinweise jedweder Art wäre ich very happy.

                      Beste Grüße

                      Carsten

                      1 Antwort Letzte Antwort
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        schrieb am zuletzt editiert von
                        #19

                        Was passiert wenn du folgendes machst?

                        var obj1 = getObject('hm-rpc.0.LEQ1226350.1.STATE', true);
                        var obj2 = getObject('hm-rpc.0.LEQ1226350.1', true);
                        
                        log(JSON.stringify(obj1.enumIds));
                        log(JSON.stringify(obj2.enumIds));
                        
                        
                        1 Antwort Letzte Antwort
                        0
                        • carsten04C Online
                          carsten04C Online
                          carsten04
                          Developer
                          schrieb am zuletzt editiert von
                          #20

                          Dann wird folgendes geloggt:

                          javascript-0	2015-07-30 14:56:02	info	script.js.test1: ["enum.functions.Licht","enum.rooms.Garten"]
                          javascript-0	2015-07-30 14:56:02	info	script.js.test1: ["enum.functions.Licht","enum.rooms.Garten"]
                          

                          Sieht also eigentlich ganz gut aus.

                          und jetzt kommts: nachdem ich Dein Skript habe laufen lassen, habe ich noch einmal folgendes probiert:

                          function allLightsToggle(obj) {
                              log(JSON.stringify(obj),'info');
                          }
                          on({id:'hm-rpc.0.LEQ1226350.1.STATE',valNe:2}, function (obj) {
                              allLightsToggle(obj);
                          });
                          

                          mit folgender Ausgabe:

                          {"id":"hm-rpc.0.LEQ1226350.1.STATE","newState":{"val":true,"ts":1438261226,"ack":true,"lc":1438261226,"from":"system.adapter.hm-rpc.0"},"oldState":{"val":false,"ts":1438259876,"ack":true,"lc":1438257205,"from":"system.adapter.hm-rega.0"},"common":{"def":false,"type":"boolean","read":true,"write":true,"role":"state","name":"Schalter Terrassenlicht:1.STATE"},"native":{"CONTROL":"SWITCH.STATE","DEFAULT":false,"FLAGS":1,"ID":"STATE","MAX":true,"MIN":false,"OPERATIONS":7,"TAB_ORDER":0,"TYPE":"BOOL","UNIT":""},"name":"Schalter Terrassenlicht:1.STATE","channelId":"hm-rpc.0.LEQ1226350.1","channelName":"Schalter Terrassenlicht:1","deviceId":"hm-rpc.0.LEQ1226350","deviceName":"Schalter Terrassenlicht","enumIds":["enum.functions.Licht","enum.rooms.Garten"],"enumNames":["Licht","Garten"]}
                          

                          Jetzt klappt es also, warum auch immer :P Falls Du eine Idee hast warum, würde mich das sehr interessieren. Ansonsten noch einmal Danke für dieses geniale System.

                          Beste Grüße

                          Carsten

                          1 Antwort Letzte Antwort
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            schrieb am zuletzt editiert von
                            #21

                            Toll, dass es bei dir geht. Falls JS-Adapter nachdem gestartet wurde als die Enums verteilt sind, dann kennt JS-Adapter die neue Enums.

                            Konnte das sein?

                            Was passiert jetzt bei dir bei?

                            function allLightsToggle(obj) {
                                log(JSON.stringify(obj),'info');
                            }
                            on({id:'hm-rpc.0.LEQ1226350.1.STATE'}, function (obj) {
                                allLightsToggle(obj);
                            });
                            
                            1 Antwort Letzte Antwort
                            0
                            • carsten04C Online
                              carsten04C Online
                              carsten04
                              Developer
                              schrieb am zuletzt editiert von
                              #22

                              Sieht jetzt alles super aus, auch ohne valNe:2.

                              2015-07-30 17:31:14.221  - info: javascript.0 script.js.test: {"id":"hm-rpc.0.LEQ1226350.1.STATE","newState":{"val":false,"ts":1438270274,"ack":true,"lc":1438270274,"from":"system.adapter.hm-rpc.0"},"oldState":{"val":true,"ts":1438268324,"ack":true,"lc":1438262778,"from":"system.adapter.hm-rpc.0"},"common":{"def":false,"type":"boolean","read":true,"write":true,"role":"state","name":"Schalter Terrassenlicht:1.STATE"},"native":{"CONTROL":"SWITCH.STATE","DEFAULT":false,"FLAGS":1,"ID":"STATE","MAX":true,"MIN":false,"OPERATIONS":7,"TAB_ORDER":0,"TYPE":"BOOL","UNIT":""},"name":"Schalter Terrassenlicht:1.STATE","channelId":"hm-rpc.0.LEQ1226350.1","channelName":"Schalter Terrassenlicht:1","deviceId":"hm-rpc.0.LEQ1226350","deviceName":"Schalter Terrassenlicht","enumIds":["enum.functions.Licht","enum.rooms.Garten"],"enumNames":["Licht","Garten"]}
                              
                              

                              Die Idee mit dem JS-Adapterstart könnte passen, da ich den Adapter heute mehrmals neu gestartet habe, allerdings hatte ich die functions und rooms auch nicht geändert. So richtig nachvollziehen kann ich es daher noch nicht. Aber egal, bin froh das jetzt alles läuft. Manchmal ist eben alles fuzzy :D

                              Beste Grüße

                              Carsten

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              674

                              Online

                              32.5k

                              Benutzer

                              81.7k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe