Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Zugriff auf Raum

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Zugriff auf Raum

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      Funktion "on" gibt zurück ein Objekt, wo auch "enumNames" dabei sind.

      Folgendes Skript:

      on('javascript.0.yr.0.forecast.html', function(obj) {
          log(JSON.stringify(obj));
      });
      

      Gibt so was zurück:

      {
      	'id': 'javascript.0.yr.0.forecast.html',
      	'newState': {
      		'val': 3,
      		'ts': 1438001975,
      		'ack': false,
      		'lc': 1438001975,
      		'from': 'system.adapter.admin.0'
      	},
      	'oldState': {
      		'val': 2,
      		'ts': 1438001926,
      		'ack': false,
      		'lc': 1438001926,
      		'from': 'system.adapter.admin.0'
      	},
      	'common': {
      		'name': 'yr.0.forecast.html',
      		'role': 'javascript',
      		'type': 'mixed'
      	},
      	'native': {
      
      	},
      	'name': 'yr.0.forecast.html',
      	'channelId': null,
      	'channelName': null,
      	'deviceId': null,
      	'deviceName': null,
      	'enumIds': ['enum.rooms.küche'],
      	'enumNames': ['Küche']
      }
      

      enumNames, das ist Raum, wo dieses Objekt sich befindet.

      Hast du eher an so was gedacht?

      getEnums('javascript.0.yr.0.forecast.html') => {'enumIds': ['enum.rooms.küche'],	'enumNames': ['Küche']}
      
      
      1 Reply Last reply Reply Quote 0
      • sissiwup
        sissiwup last edited by

        Hallo,

        ich versuche ausgehend von einen Datenpunkt, z.B. hm-rpc.0.LEQ1274926.1

        auf den Raumnamen zu kommen.

        Ich habe schon probiert: Die Objektwerte von State, die vom Channel (:1) bei mir

        und vom Device.

        Ich habe mir immer die kompletten Werte mit

            var dat = JSON.stringify(obj,null,4);
            log("Device04=" + obj + " " + dat);
        
        

        ausgeben lassen. Habe aber nicht die Enums oder Raumnamen gefunden.

        Im "Objekte" Reiter finde ich diese aber immer direkt hinter den Channel 1

        PS: Kann ich mir die Debug-Ausgabe auch wo anders als im log ansehen?

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

          @paul53:

          @sissiwup:

          Oder alternativ, wie kann ich die Struktur des enum.rooms auslesen, denn da sind ja alle Geräte hinterlegt? `
          Versuche mal so:

          var rooms = getObject("enum.rooms.wohnzimmer").common.members;
          ```` `  
          

          Hallo,

          das funktioniert, aber wie bekomme ich zuerst die Liste aller Zimmer?

          var rooms = getObject("enum.rooms").common.members;
          

          liefert eine leere Liste. Habe ich hier einen Knoten im Hirn?

          root@pi:/opt/iobroker# iobroker list enums
          
          =====================================================================================
          rooms              (Rooms)
          -------------------------------------------------------------------------------------
          
          =====================================================================================
          favorites          (Favorites)
          -------------------------------------------------------------------------------------
          
          =====================================================================================
          

          Ist das korrekt, das der Enum nicht seine "Kinder" kennt?

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

            @sissiwup:

            var rooms = getObject("enum.rooms").common.members;

            liefert eine leere Liste. `
            Von der Objektstruktur her müsste es

            var rooms = getObject("enum.rooms").members;
            

            lauten, was allerdings auch eine leere Liste liefert, da das members array nicht ausgefüllt ist..

            Da muss wohl Bluefox noch mal ran.

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

              Habe mal getestet:

              on("hm-rpc.0.JEQ0035715.1.TEMPERATURE", function(dp) {
                  log("EnumNames: " + dp.enumNames);
              });
              

              funktioniert und liefert Raum und Gewerk, getrennt durch Komma.

              vardp = getObject("hm-rpc.0.JEQ0035715.1.TEMPERATURE");
              log ("EnumNames: " + dp.enumNames);
              

              liefert "undefined".

              Sollten nicht beide Funktionen das gleiche Ergebnis liefern oder unterscheiden sich die Objektstrukturen (absichtlich) zwischen on(…) und getObject(...) ?

              EDIT: Habe mir mal den Inhalt von getObject() anzeigen lassen und gesehen, dass nur die deklariereten Objektelemente zurück gegeben werden.

              Die folgenden Elemente sind offenbar nur durch on(…) erreichbar:

                 'newState': {
                    'val': 3,
                    'ts': 1438001975,
                    'ack': false,
                    'lc': 1438001975,
                    'from': 'system.adapter.admin.0'
                 },
                 'oldState': {
                    'val': 2,
                    'ts': 1438001926,
                    'ack': false,
                    'lc': 1438001926,
                    'from': 'system.adapter.admin.0'
                 },
                 'channelId': null,
                 'channelName': null,
                 'deviceId': null,
                 'deviceName': null,
                 'enumIds': ['enum.rooms.küche'],
                 'enumNames': ['Küche']
              
              

              Da on(…) aber auch zum Triggern dient, folgende Frage:

              Welche Möglichkeit gibt es, z.B. auf das Objektelement "channelName" eines <u>anderen Datenpunktes</u> innerhalb der Callback-Funktion von on(…) zuzugreifen ?

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

                Hallo,

                bei mir ist auch in der "on" - Variante die Struktur leer:

                javascript-0	2015-07-27 20:30:34	info	}
                javascript-0	2015-07-27 20:30:34	info	'enumNames': []
                javascript-0	2015-07-27 20:30:34	info	'enumIds': [],
                javascript-0	2015-07-27 20:30:34	info	'deviceName': 'ST-05',
                javascript-0	2015-07-27 20:30:34	info	'deviceId': 'hm-rpc.0.LEQ1274882',
                javascript-0	2015-07-27 20:30:34	info	'channelName': 'ST-05:1',
                javascript-0	2015-07-27 20:30:34	info	'channelId': 'hm-rpc.0.LEQ1274882.1',
                javascript-0	2015-07-27 20:30:34	info	'name': 'ST-05:1.STATE',
                javascript-0	2015-07-27 20:30:34	info	},
                javascript-0	2015-07-27 20:30:34	info	'UNIT': ''
                javascript-0	2015-07-27 20:30:34	info	'TYPE': 'BOOL',
                javascript-0	2015-07-27 20:30:34	info	'TAB_ORDER': 0,
                javascript-0	2015-07-27 20:30:34	info	'OPERATIONS': 7,
                javascript-0	2015-07-27 20:30:34	info	'MIN': false,
                javascript-0	2015-07-27 20:30:34	info	'MAX': true,
                javascript-0	2015-07-27 20:30:34	info	'ID': 'STATE',
                javascript-0	2015-07-27 20:30:34	info	'FLAGS': 1,
                javascript-0	2015-07-27 20:30:34	info	'DEFAULT': false,
                javascript-0	2015-07-27 20:30:34	info	'CONTROL': 'SWITCH.STATE',
                javascript-0	2015-07-27 20:30:34	info	'native': {
                javascript-0	2015-07-27 20:30:34	info	},
                javascript-0	2015-07-27 20:30:34	info	}
                javascript-0	2015-07-27 20:30:34	info	'debounce': 10000
                javascript-0	2015-07-27 20:30:34	info	'retention': 31536000,
                javascript-0	2015-07-27 20:30:34	info	'maxLength': 960,
                javascript-0	2015-07-27 20:30:34	info	'minLength': 480,
                javascript-0	2015-07-27 20:30:34	info	'changesOnly': true,
                javascript-0	2015-07-27 20:30:34	info	'enabled': true,
                javascript-0	2015-07-27 20:30:34	info	'history': {
                javascript-0	2015-07-27 20:30:34	info	'name': 'ST-05:1.STATE',
                javascript-0	2015-07-27 20:30:34	info	'role': 'state',
                javascript-0	2015-07-27 20:30:34	info	'write': true,
                javascript-0	2015-07-27 20:30:34	info	'read': true,
                javascript-0	2015-07-27 20:30:34	info	'type': 'boolean',
                javascript-0	2015-07-27 20:30:34	info	'def': false,
                javascript-0	2015-07-27 20:30:34	info	'common': {
                javascript-0	2015-07-27 20:30:34	info	},
                javascript-0	2015-07-27 20:30:34	info	'from': 'system.adapter.hm-rpc.0'
                javascript-0	2015-07-27 20:30:34	info	'lc': 1438021727,
                javascript-0	2015-07-27 20:30:34	info	'ack': true,
                javascript-0	2015-07-27 20:30:34	info	'ts': 1438021728,
                javascript-0	2015-07-27 20:30:34	info	'val': true,
                javascript-0	2015-07-27 20:30:34	info	'oldState': {
                javascript-0	2015-07-27 20:30:34	info	},
                javascript-0	2015-07-27 20:30:34	info	'from': 'system.adapter.web.0'
                javascript-0	2015-07-27 20:30:34	info	'lc': 1438021835,
                javascript-0	2015-07-27 20:30:34	info	'ack': false,
                javascript-0	2015-07-27 20:30:34	info	'ts': 1438021835,
                javascript-0	2015-07-27 20:30:34	info	'val': false,
                javascript-0	2015-07-27 20:30:34	info	'newState': {
                javascript-0	2015-07-27 20:30:34	info	'id': 'hm-rpc.0.LEQ1274882.1.STATE',
                javascript-0	2015-07-27 20:30:34	info	script.js.ereignis: OBJ={
                javascript-0	2015-07-27 20:30:34	info	script.js.ereignis: ereignis 2015-07-27 20:30:35 ST-05:1 AUTO
                javascript-0	2015-07-27 20:30:28	info	script.js.ereignis: registered 5 subscriptions and 0 schedules
                
                
                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @sissiwup:

                  bei mir ist auch in der "on" - Variante die Struktur leer: `
                  Hast Du den Raum auch den Datenpunkten und nicht nur den Kanälen zugewiesen ? In Deiner Abbildung sind alle zugewiesenen Objekte vom Typ "channel".

                  Übrigens muss ich nach einer neuen Zuweisung ioBroker erst neu starten, damit die Zuweisung das gewünschte Ergebnis unter enumNames liefert.

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

                    Habe jetzt iobroker.javascript erweitert:

                    ### getObject
                        getObject (id, enumName)
                    Get description of object id as stored in system.
                    You can specify the enumeration name. If this is defined, two additional attributes will be added to result: enumIds and enumNames.
                    These arrays has all enumerations, where ID is member of. E.g:
                    
                    ``` getObject ('adapter.N.objectName', 'rooms') ```
                    
                    gives back in enumIds all rooms, where the requested object is a member. You can define "true" as enumName to get back *all* enumerations.
                    
                    ### getEnums
                        getEnums(enumName)
                    
                    Get the list of existing enumerations with members, like: 
                    
                    ```
                    getEnums('rooms') =>
                    [
                        {
                            "id":"enum.rooms.LivingRoom",
                            "members":["hm-rpc.0.JEQ0024123.1","hm-rpc.0.BidCoS-RF.4"],
                            "name": "Living room"
                        },
                        {
                            "id":"enum.rooms.Bath",
                            "members":["hm-rpc.0.JEQ0024124.1","hm-rpc.0.BidCoS-RF.5"],
                            "name": "Bath"
                        }
                    ]
                    ```
                    
                    1 Reply Last reply Reply Quote 0
                    • sissiwup
                      sissiwup last edited by

                      Hallo,

                      ich bin ein wenig weiter und habe hier mal meine Umgehungslösung:

                      `createState("vEreignisse","
                      
                      *   first
                      
                      ");
                      
                      var sensorsST = $('channel[state.id=*.STATE](functions=ST)').each(function(id) {
                          var val = getObject(id).common.name;
                          log("DeviceST=" + val);
                      });
                      
                      var sensorsVS = $('channel[state.id=*.STATE](functions=VS)').each(function(id) {
                          var val = getObject(id).common.name;
                          log("DeviceVS=" + val);
                      });
                      
                      var sensorsBW = $('channel[state.id=*.MOTION](functions=BW)').each(function(id) {
                          var val = getObject(id).common.name;
                          log("DeviceBW=" + val);
                      });
                      
                      function ereignis(text) {
                          log("ereignis "+text);
                          var ereignisStr = getState("vEreignisse").val;
                          var ereignisArr;
                          ereignisArr = ereignisStr.replace(/`
                      
                      `*   /, "").replace(/<\/li><\/ul>/, "").split("*   ");
                              ereignisArr = ereignisArr.reverse();
                              ereignisArr.push(text);
                              ereignisArr.reverse().splice(20); // Liste auf 20 Einträge beschränken
                              var str = ereignisArr.join("`
                      *   `");
                              setState("vEreignisse", "
                      
                          *   "+str+"
                      
                          ");
                          }
                      
                          function timestamp(ts) {
                              var now=new Date(ts);
                              var day = now.getDate();
                              var month = now.getMonth() + 1;
                              var year = now.getFullYear();
                              var weekday = now.getDay();
                              var hours = now.getHours();
                              var minutes = now.getMinutes();
                              var seconds = now.getSeconds();
                              var day0  = ((day < 10) ? "0" : "");
                              var month0  = ((month < 10) ? "0" : "");
                              var hours0  = ((hours < 10) ? "0" : "");
                              var minutes0  = ((minutes < 10) ? "0" : "");
                              var seconds0  = ((seconds < 10) ? "0" : "");
                              var output = year + "-" + month0 + month + "-" + day0 + day + " " + hours0 + hours + ":" + minutes0 + minutes + ":" + seconds0 + seconds;  
                              return output;
                      
                          }
                      
                          function room(devname) {
                              var rooms ={"ST-05" : "OG Balkontür", "ST-02" : "OG Wohnzimmer BW", "ST-03" : "EG Treppenhaustür"
                                , "ST-01" : "EG Wintergarten" , "ST-04" : "EG Eingangstür"
                                , "BW-01" : "UG Garage" , "BW-02" : "EG Wintergarten" , "BW-03" : "OG Wohnzimmer"   
                                , "VS-01" : "EG Eingangstür" , "VS-02" : "UG Eingangstür" , "VS-03" : "UG Waschküche" 
                                , "VS-04" : "UG Garagentor" , "VS-05" : "EG Balkontür Atrium" , "VS-06" : "EG Relaxraum" 
                                , "VS-07" : "OG Balkontür" , "VS-08" : "OG Dachfenster" , "VS-09" : "EG Katzen R" 
                                , "VS-10" : "EG Katzen L" , "VS-11" : "EG Wintergarten" , "VS-12" : "EG Wohnzimmerfenster" 
                                , "VS-13" : "EG Küche L" , "VS-14" : "EG Küche R" , "VS-15" : "EG Abstellkammer" 
                                , "VS-16" : "EG Trepphaus" , "VS-17" : "OG Gästezimmer" , "VS-18" : "OG Ankleidezimmer" 
                      
                              };
                              if (devname in rooms) {
                                  return rooms[devname];
                              }
                              return "?? ????????";
                          }
                      
                          sensorsST.on(function(obj) {
                            var aktion="AUTO";
                            if (obj.newState.val == 1) {
                              aktion="OFF";
                            }
                            var ts=timestamp(obj.newState.ts*1000);
                              ereignis(ts + " " + obj.deviceName + " " + room(obj.deviceName) + " " + aktion);
                          //    log("OBJ=" + JSON.stringify(obj,null,2));
                          })
                      
                          sensorsVS.on(function(obj) {
                            var aktion="ZU";
                            if (obj.newState.val == 1) {
                              aktion="AUF";
                            }
                            var ts=timestamp(obj.newState.ts*1000);
                              ereignis(ts + " " + obj.deviceName + " " + room(obj.deviceName) + " " + aktion);
                          //    log("OBJ=" + JSON.stringify(obj,null,2));
                          })
                      
                          sensorsBW.on(function(obj) {
                            if (obj.newState.val == 1) {
                            var ts=timestamp(obj.newState.ts*1000);
                              ereignis(ts + " " + obj.deviceName + " " + room(obj.deviceName) + " " + "Bewegung");
                          //    log("OBJ=" + JSON.stringify(obj,null,2));
                            }
                      
                            })` 
                      
                          Als Ergebnis kommt eine Liste der letzten Ereignisse, quasi als Log heraus.
                            [305_tempundnexttemp.txt](/assets/uploads/files/305_tempundnexttemp.txt)  
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • sissiwup
                        sissiwup last edited by

                        @paul53:

                        @sissiwup:

                        bei mir ist auch in der "on" - Variante die Struktur leer: `
                        Hast Du den Raum auch den Datenpunkten und nicht nur den Kanälen zugewiesen ? In Deiner Abbildung sind alle zugewiesenen Objekte vom Typ "channel".

                        Übrigens muss ich nach einer neuen Zuweisung ioBroker erst neu starten, damit die Zuweisung das gewünschte Ergebnis unter enumNames liefert. `

                        Hallo,

                        wie weise ich denn den Raum den Channels zu?

                        Ich habe es allerdings auch mit den Channels probiert gehabt (siehe oben).
                        1282_iobroker.2017-12-03.zip.txt

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

                          @Bluefox:

                          Habe jetzt iobroker.javascript erweitert: In der neuen Version 0.5.0 funktioniert __getObject(id)__ nicht mehr, sondern liefert folgende Fehler: > javascript-0 2015-07-27 21:56:14 error at script.js._Multistate-Test:1:9

                          javascript-0 2015-07-27 21:56:14 error at sandbox.getObject (C:\Program Files\ioBroker\node_modules\iobroker.javascript\javascript.js:1113:21)

                          javascript-0 2015-07-27 21:56:14 error script.js._Multistate-Test: ReferenceError: withEnums is not defined `

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

                            @paul53:

                            @Bluefox:

                            Habe jetzt iobroker.javascript erweitert: In der neuen Version 0.5.0 funktioniert __getObject(id)__ nicht mehr, sondern liefert folgende Fehler: > javascript-0 2015-07-27 21:56:14 error at script.js._Multistate-Test:1:9

                            javascript-0 2015-07-27 21:56:14 error at sandbox.getObject (C:\Program Files\ioBroker\node_modules\iobroker.javascript\javascript.js:1113:21)

                            javascript-0 2015-07-27 21:56:14 error script.js._Multistate-Test: ReferenceError: withEnums is not defined
                            http://forum.iobroker.org/viewtopic.php … 1086#p8726
                            305_nextdata_hzscrop.txt

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

                              Danke für die schnelle Reaktion.

                              So funktioniert es jetzt mit getObject():

                              var dp = getObject("hm-rpc.0.JEQ0035715.1.TEMPERATURE","rooms");
                              log ("Raum: " + dp.enumNames);
                              log ("RaumID: " + dp.enumIds);
                              
                              1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 last edited by

                                @sissiwup:

                                wie weise ich denn den Raum den Channels zu? `
                                493_roommembers.jpg
                                Unter "Aufzählungen" in der Raumzeile den Button ganz rechts (Mitglieder) drücken; im Fenster "Mitglieder" das "+" links unten betätigen und das passende Objekt (Datenpunkt) auswählen.

                                Anmerkung: Die CCU kennt Raumzuordnungen <u>ausschließlich</u> zu Kanälen.

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

                                  @sissiwup:

                                  aber wie bekomme ich zuerst die Liste aller Zimmer? `
                                  Mit der neuen Funktion getEnums("rooms") funktioniert es:

                                  var rooms = getEnums("rooms");
                                  rooms.forEach(function(r,i,z) {
                                     log("Raum" + i + ": " + r.name + "; ID: " + r.id);
                                     ++i;
                                  });
                                  

                                  liefert folgende Logs:
                                  ` > javascript-0 2015-07-28 18:06:12 info script.js._Multistate-Test: Raum3: Bad; ID: enum.rooms.bad

                                  javascript-0 2015-07-28 18:06:12 info script.js._Multistate-Test: Raum2: Aussen; ID: enum.rooms.aussen

                                  javascript-0 2015-07-28 18:06:12 info script.js._Multistate-Test: Raum1: Schlafen; ID: enum.rooms.schlafen

                                  javascript-0 2015-07-28 18:06:12 info script.js._Multistate-Test: Raum0: Wohnen; ID: enum.rooms.wohnen `

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

                                    @Bluefox:

                                    getObject

                                    getObject (id, enumName)

                                    Get description of object id as stored in system.

                                    You can specify the enumeration name. If this is defined, two additional attributes will be added to result: enumIds and enumNames.

                                    These arrays has all enumerations, where ID is member of. E.g:

                                    getObject ('adapter.N.objectName', 'rooms')

                                    gives back in enumIds all rooms, where the requested object is a member. You can define "true" as enumName to get back all enumerations. `
                                    Diese Erweiterung löst zwar das Problem mit den Enums, aber ermöglicht nicht den Zugriff auf z.B. .oldState.lc und weitere Elemente, die on() im Callback liefert.

                                    Mein Vorschlag: Erweiterung um eine Funktion getDatapoint() oder besser getDP() (um sich nicht die Finger wund zu tippen), die alle Objekt-Elemente eines Datenpunktes so liefert, wie on() im Callback.

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

                                      Es gibt im System keine oldState. Die existiert nur beim Aufruf von "on".

                                      Das worüber du sprichst ist ein "Event". Im System existieren Objekte und Zustände getrennt.

                                      Es ist aber gut, dass wir darüber sprechen, weil ich kenne das System von innen und kann gar nicht denken, dass jemand die Information zusammen haben will :lol: . Vielleicht ist das wirklich gut eine Funktion zu haben, die die Info zusammen liefert (aber ohne oldState 😉 ) .

                                      Name "Datenpoint" passt aber nicht weil man kann auch die Info über Objekte damit anfordern, die haben aber nicht unbedingt einen Zustand.

                                      vielleicht getInfo ?

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators last edited by

                                        Ich lese diese Diskussion schon länger mit, auch wenn ich von JavaScript keine Ahnung habe.

                                        Dabei ist mir die Frage gekommen, was denn mit Datenpunkten aus hmcon oder anderen Geräten passiert die nicht über die Rega klar Namen oder gar Raum und gewerk zugeordnet bekommen.

                                        Kann man das in iobroker irgendwie hinzufügen?

                                        Gruß

                                        Rainer

                                        Gesendet von meinem LIFETAB_S785X mit Tapatalk

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

                                          @Homoran:

                                          … die nicht über die Rega klar Namen oder gar Raum und gewerk zugeordnet bekommen.

                                          Kann man das in iobroker irgendwie hinzufügen? `
                                          Ja, man kann Mitglieder zu den Räumen und Gewerken hinzufügen http://forum.iobroker.org/viewtopic.php?f=21&t=1085#p8733. Ich habe den Rega-Adapter nicht geladen.

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

                                            @Bluefox:

                                            Es gibt im System keine oldState. Die existiert nur beim Aufruf von "on".

                                            Das worüber du sprichst ist ein "Event". Im System existieren Objekte und Zustände getrennt. `
                                            O.K. Den aktuellen Zustand erhält man ja mit getState(id). Braucht es also noch etwas für folgende Elemente:

                                               'channelId': null,
                                               'channelName': null,
                                               'deviceId': null,
                                               'deviceName': null,
                                            
                                            

                                            auf die man sicherlich auch unabhängig vom "Event" zugreifen möchte.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            750
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            27
                                            7230
                                            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