Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    870

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

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

Scheduled Pinned Locked Moved Skripten / Logik
22 Posts 3 Posters 4.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • carsten04C Online
    carsten04C Online
    carsten04
    Developer
    wrote on last edited by
    #7

    Wäre mal jemand so nett und könnte das folgende Miniscript:

    function allLightsToggle(obj) {
        log(JSON.stringify(obj),'info');
    }
    on({id:'hm-rpc.0.BidCoS-RF.8.PRESS_SHORT',valNe:2}, function (obj) {
        allLightsToggle(obj);
    });
    

    mal bei sich mit einer gültigen id ausprobieren und dann hier sagen, ob er ebenfalls bei der Ausgabe immer nur channelId":null,"channelName":null,"deviceId":null,"deviceName":null zurückbekommt, anstatt der erwarteten Werte.

    Danke

    Carsten

    1 Reply Last reply
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      wrote on last edited by
      #8
      javascript-0	2015-07-10 19:45:55	info	"newState": {
      javascript-0	2015-07-10 19:45:55	info	"enumNames": [],
      javascript-0	2015-07-10 19:45:55	info	"enumIds": [],
      javascript-0	2015-07-10 19:45:55	info	"deviceName": null,
      javascript-0	2015-07-10 19:45:55	info	"deviceId": null,
      javascript-0	2015-07-10 19:45:55	info	"channelName": null,
      javascript-0	2015-07-10 19:45:55	info	},
      

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

      1 Reply Last reply
      0
      • carsten04C Online
        carsten04C Online
        carsten04
        Developer
        wrote on last edited by
        #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 Reply Last reply
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          wrote on last edited by
          #10

          Muss jetzt funktionieren.

          Danke fürs Fehlermelden. ;)

          1 Reply Last reply
          0
          • ruhr70R Offline
            ruhr70R Offline
            ruhr70
            wrote on last edited by
            #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 Reply Last reply
            0
            • ruhr70R Offline
              ruhr70R Offline
              ruhr70
              wrote on last edited by
              #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 Reply Last reply
              0
              • carsten04C Online
                carsten04C Online
                carsten04
                Developer
                wrote on last edited by
                #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 Reply Last reply
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  wrote on last edited by
                  #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 Reply Last reply
                  0
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    wrote on last edited by
                    #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 Reply Last reply
                    0
                    • ruhr70R Offline
                      ruhr70R Offline
                      ruhr70
                      wrote on last edited by
                      #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 Reply Last reply
                      0
                      • carsten04C Online
                        carsten04C Online
                        carsten04
                        Developer
                        wrote on last edited by
                        #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 Reply Last reply
                        0
                        • carsten04C Online
                          carsten04C Online
                          carsten04
                          Developer
                          wrote on last edited by
                          #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 Reply Last reply
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            wrote on last edited by
                            #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 Reply Last reply
                            0
                            • carsten04C Online
                              carsten04C Online
                              carsten04
                              Developer
                              wrote on last edited by
                              #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 Reply Last reply
                              0
                              • BluefoxB Offline
                                BluefoxB Offline
                                Bluefox
                                wrote on last edited by
                                #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 Reply Last reply
                                0
                                • carsten04C Online
                                  carsten04C Online
                                  carsten04
                                  Developer
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  404

                                  Online

                                  32.6k

                                  Users

                                  82.1k

                                  Topics

                                  1.3m

                                  Posts
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Home
                                  • Recent
                                  • Tags
                                  • Unread 0
                                  • Categories
                                  • Unreplied
                                  • Popular
                                  • GitHub
                                  • Docu
                                  • Hilfe