Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Zugriff auf Raum

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Zugriff auf Raum

Scheduled Pinned Locked Moved Skripten / Logik
27 Posts 5 Posters 8.1k 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.
  • sissiwupS Offline
    sissiwupS Offline
    sissiwup
    wrote on last edited by
    #1

    Hallo,

    wie kann ich aus dem Skript auf den Raum eines Gerätes zugreifen?

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

    MfG

    Sissi

    –-----------------------------------------

    1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


    1 Reply Last reply
    0
    • HomoranH Do not disturb
      HomoranH Do not disturb
      Homoran
      Global Moderator Administrators
      wrote on last edited by
      #2

      Hallo sissiwup und Willkommen im Forum.

      Beim Skripten kann ich dir leider nicht helfen, aber ich möchte abklären, ob es das ist was du willst:

      Du willst in einem Skript einen Datenpunkt aufrufen und den dazu gehörigen Raum irgendwie auslesen und ggf. verbinden.
      144_enum_rooms.jpg

      In diesem Beispiel also den Datenpunkt "Heizkreis Vorlauf" und von diesem dem Raum "Büro" angezeigt bekommen.

      Ich glaube Bluefox hatte hier so etwas mal gepostet, finde es auf die Schnelle nicht - ich suche weiter.

      Gruß

      Rainer

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Reply Last reply
      0
      • sissiwupS Offline
        sissiwupS Offline
        sissiwup
        wrote on last edited by
        #3

        Hallo,

        ja genau, solange die zurückgelieferten Objekte den Raum nicht enthalten, wäre das eine elegante Möglichkeit darauf zuzugreifen.

        MfG

        Sissi

        –-----------------------------------------

        1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          @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;
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            wrote on last edited by
            #5

            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
            0
            • sissiwupS Offline
              sissiwupS Offline
              sissiwup
              wrote on last edited by
              #6

              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?

              MfG

              Sissi

              –-----------------------------------------

              1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


              1 Reply Last reply
              0
              • sissiwupS Offline
                sissiwupS Offline
                sissiwup
                wrote on last edited by
                #7

                @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?

                MfG

                Sissi

                –-----------------------------------------

                1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                1 Reply Last reply
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #8

                  @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.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Reply Last reply
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #9

                    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 ?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Reply Last reply
                    0
                    • sissiwupS Offline
                      sissiwupS Offline
                      sissiwup
                      wrote on last edited by
                      #10

                      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
                      
                      

                      MfG

                      Sissi

                      –-----------------------------------------

                      1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                      1 Reply Last reply
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by
                        #11

                        @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.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Reply Last reply
                        0
                        • BluefoxB Offline
                          BluefoxB Offline
                          Bluefox
                          wrote on last edited by
                          #12

                          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
                          0
                          • sissiwupS Offline
                            sissiwupS Offline
                            sissiwup
                            wrote on last edited by
                            #13

                            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)  
                            
                            

                            MfG

                            Sissi

                            –-----------------------------------------

                            1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                            1 Reply Last reply
                            0
                            • sissiwupS Offline
                              sissiwupS Offline
                              sissiwup
                              wrote on last edited by
                              #14

                              @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

                              MfG

                              Sissi

                              –-----------------------------------------

                              1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                              1 Reply Last reply
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by
                                #15

                                @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 `

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Reply Last reply
                                0
                                • BluefoxB Offline
                                  BluefoxB Offline
                                  Bluefox
                                  wrote on last edited by
                                  #16

                                  @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
                                  0
                                  • paul53P Offline
                                    paul53P Offline
                                    paul53
                                    wrote on last edited by
                                    #17

                                    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);
                                    

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    1 Reply Last reply
                                    0
                                    • paul53P Offline
                                      paul53P Offline
                                      paul53
                                      wrote on last edited by
                                      #18

                                      @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.

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      1 Reply Last reply
                                      0
                                      • paul53P Offline
                                        paul53P Offline
                                        paul53
                                        wrote on last edited by
                                        #19

                                        @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 `

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        1 Reply Last reply
                                        0
                                        • paul53P Offline
                                          paul53P Offline
                                          paul53
                                          wrote on last edited by
                                          #20

                                          @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.

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          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

                                          695

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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