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. JavaScript
  5. Frage zu DeviceCounter script [object Object]

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

Frage zu DeviceCounter script [object Object]

Scheduled Pinned Locked Moved JavaScript
15 Posts 2 Posters 782 Views 1 Watching
  • 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.
  • A Offline
    A Offline
    Archimedeus
    wrote on last edited by
    #1

    Hi,

    ich experimentiere mit dem Script zum ählen von Devices: https://www.iobroker.net/docu/index-309.htm?page_id=3641&lang=de

    Das macht schon ein bischen was. Im Datenpunkt wirft es unter anderem eine Liste aus.

    77592b25-4d64-495a-9c5f-630ff8dce8b5-grafik.png

    Meine bescheidenen Fähigkeiten in JS reichen nicht aus, um mit der Liste irgendwas an zu fangen. Wie kann ich da per Script reinschauen? Durchiterieren? Oder visualisieren?

    Hat wer nen Tipp für mich?

    paul53P 1 Reply Last reply
    0
    • A Archimedeus

      Hi,

      ich experimentiere mit dem Script zum ählen von Devices: https://www.iobroker.net/docu/index-309.htm?page_id=3641&lang=de

      Das macht schon ein bischen was. Im Datenpunkt wirft es unter anderem eine Liste aus.

      77592b25-4d64-495a-9c5f-630ff8dce8b5-grafik.png

      Meine bescheidenen Fähigkeiten in JS reichen nicht aus, um mit der Liste irgendwas an zu fangen. Wie kann ich da per Script reinschauen? Durchiterieren? Oder visualisieren?

      Hat wer nen Tipp für mich?

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      @Archimedeus sagte:

      ich experimentiere mit dem Script zum ählen von Devices:

      Wie sieht das Experiment (Script) aus ?

      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

      A 1 Reply Last reply
      0
      • paul53P paul53

        @Archimedeus sagte:

        ich experimentiere mit dem Script zum ählen von Devices:

        Wie sieht das Experiment (Script) aus ?

        A Offline
        A Offline
        Archimedeus
        wrote on last edited by
        #3

        @paul53

        Äh mein Script? Gibts gar nicht. Ich kann mit .val den Eintrag lesen.
        also etwa so:

        mylist = getState("javascript.0.deviceCounter.lamps_on.list").val;
        // oder mylist = getState("javascript.0.deviceCounter.lamps_on.list").toString();
        
        log(mylist); 
        

        Oder meinst du das Script, was den Datenpunkt anlegt? Das ist das "geklaute" Original s.u., da habe ich nur die Aufrufe angepasst. Fun-fact: Das Problem mit LOWBATT und LOW_BATT bei HM und HMIP hat der * gelöst 🙂

        Ich kann mit dem Rückgabewert
        javascript.0 (1891) script.js.common.Experimental.ListTest: [object Object]

        einfach nichts anfangen. Müsste man irgendwie einem Array zuweisen und dann durch mit for each oder so. Hab ein bisschen probiert und wieder verworfen. Wie gesagt, ich bon C&P Programmierer 🙂

        
        addDeviceCounter("battery_homematic",$('channel[state.id=hm-rpc.1.*.0.LOW*]'),     true);
        // Use sonoff for testing
        addDeviceCounter("lamps_on",$('state[id=*](functions=sonoff)'),                            true);
        
        /******************************************
         * Code - do not change anything bellow this line *
         ******************************************/
        function addDeviceCounter(name, selector, val_to_count) {
            //Total amount of devices found by selector
            var state_total = 'deviceCounter.' + name + '.total';
            createState(state_total, 0);
            //List of devices that match condition
            var state_list = 'deviceCounter.' + name + '.list';
            createState(state_list, "");
            //Number of devices that match condition
            var state_counter = 'deviceCounter.' + name + '.counter';
            createState(state_counter, 0);
            function countDevs(obj) {
                var d_count = 0;
                var d_list  = [];
                selector.each(function (id, i) {
                    var status = getState(id).val;
                    var obj    = getObject(id);
                    log("**********Found " + id)
                    if ((typeof val_to_count === 'function' && val_to_count(status)) ||
                        (typeof val_to_count === 'boolean'  && val_to_count == status)) {
                        //Get parent object
                        var roomsX = getObject(id,'rooms');
                        
                        //var functionsX = getObject(id,'functions');  // function behind room
                        
                        //var parentChannelId = id.slice(id.lastIndexOf("."));
                        //var parentDevicelId = id.split(".").slice(0,-2).join(".");
                        //var deviceObject = getObject(parentDevicelId);
                        //remember device name & functions
                        d_list.push(roomsX.enumNames)//, functionsX.enumNames);
                    }                
                    ++d_count;         // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
                }); 
                log("------!" +name + "(" + d_count + "): " + d_list);
                setState(state_list,     d_list.join('<br>'));
                setState(state_counter,  d_list.length);
                setState(state_total,    d_count);
            }
            
            //Re-evaluate when a device status changes
            selector.on(function(obj) {    // bei Zustandänderung *. LOWBAT in allen Gewerken
                countDevs(obj);
            });
            //Re-evaluate each 1/4 hour
            schedule("*/15 * * * *", countDevs);
            
            //Evaluate for the first time
            countDevs();
            log("TestCount Started");
        
        }
        
        
        paul53P 1 Reply Last reply
        0
        • A Archimedeus

          @paul53

          Äh mein Script? Gibts gar nicht. Ich kann mit .val den Eintrag lesen.
          also etwa so:

          mylist = getState("javascript.0.deviceCounter.lamps_on.list").val;
          // oder mylist = getState("javascript.0.deviceCounter.lamps_on.list").toString();
          
          log(mylist); 
          

          Oder meinst du das Script, was den Datenpunkt anlegt? Das ist das "geklaute" Original s.u., da habe ich nur die Aufrufe angepasst. Fun-fact: Das Problem mit LOWBATT und LOW_BATT bei HM und HMIP hat der * gelöst 🙂

          Ich kann mit dem Rückgabewert
          javascript.0 (1891) script.js.common.Experimental.ListTest: [object Object]

          einfach nichts anfangen. Müsste man irgendwie einem Array zuweisen und dann durch mit for each oder so. Hab ein bisschen probiert und wieder verworfen. Wie gesagt, ich bon C&P Programmierer 🙂

          
          addDeviceCounter("battery_homematic",$('channel[state.id=hm-rpc.1.*.0.LOW*]'),     true);
          // Use sonoff for testing
          addDeviceCounter("lamps_on",$('state[id=*](functions=sonoff)'),                            true);
          
          /******************************************
           * Code - do not change anything bellow this line *
           ******************************************/
          function addDeviceCounter(name, selector, val_to_count) {
              //Total amount of devices found by selector
              var state_total = 'deviceCounter.' + name + '.total';
              createState(state_total, 0);
              //List of devices that match condition
              var state_list = 'deviceCounter.' + name + '.list';
              createState(state_list, "");
              //Number of devices that match condition
              var state_counter = 'deviceCounter.' + name + '.counter';
              createState(state_counter, 0);
              function countDevs(obj) {
                  var d_count = 0;
                  var d_list  = [];
                  selector.each(function (id, i) {
                      var status = getState(id).val;
                      var obj    = getObject(id);
                      log("**********Found " + id)
                      if ((typeof val_to_count === 'function' && val_to_count(status)) ||
                          (typeof val_to_count === 'boolean'  && val_to_count == status)) {
                          //Get parent object
                          var roomsX = getObject(id,'rooms');
                          
                          //var functionsX = getObject(id,'functions');  // function behind room
                          
                          //var parentChannelId = id.slice(id.lastIndexOf("."));
                          //var parentDevicelId = id.split(".").slice(0,-2).join(".");
                          //var deviceObject = getObject(parentDevicelId);
                          //remember device name & functions
                          d_list.push(roomsX.enumNames)//, functionsX.enumNames);
                      }                
                      ++d_count;         // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
                  }); 
                  log("------!" +name + "(" + d_count + "): " + d_list);
                  setState(state_list,     d_list.join('<br>'));
                  setState(state_counter,  d_list.length);
                  setState(state_total,    d_count);
              }
              
              //Re-evaluate when a device status changes
              selector.on(function(obj) {    // bei Zustandänderung *. LOWBAT in allen Gewerken
                  countDevs(obj);
              });
              //Re-evaluate each 1/4 hour
              schedule("*/15 * * * *", countDevs);
              
              //Evaluate for the first time
              countDevs();
              log("TestCount Started");
          
          }
          
          
          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @Archimedeus sagte:

                      d_list.push(roomsX.enumNames)//, functionsX.enumNames);                                                                                                                                                                            
          

          Ändere mal Zeile 37:

                          d_list.push(roomsX.enumNames[0]); //, functionsX.enumNames[0]);
          

          EDIT: Besser noch Zeilen 29 bis 37 ändern in

                          var room = getObject(id,'rooms').enumNames[0];
                          if(!d_list.includes(room)) d_list.push(room);
          

          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

          A 1 Reply Last reply
          0
          • paul53P paul53

            @Archimedeus sagte:

                        d_list.push(roomsX.enumNames)//, functionsX.enumNames);                                                                                                                                                                            
            

            Ändere mal Zeile 37:

                            d_list.push(roomsX.enumNames[0]); //, functionsX.enumNames[0]);
            

            EDIT: Besser noch Zeilen 29 bis 37 ändern in

                            var room = getObject(id,'rooms').enumNames[0];
                            if(!d_list.includes(room)) d_list.push(room);
            
            A Offline
            A Offline
            Archimedeus
            wrote on last edited by
            #5

            @paul53 said in Frage zu DeviceCounter script [object Object]:

            var room = getObject(id,'rooms').enumNames[0];

            Leider keine Verbesserung:
            438fdf89-781c-49df-892c-87da6f249093-grafik.png

            Leider ist total jetzt auch 0, sollte 2 sein.

            Wenn ich nur wüsste, was mir JS mit [object Object] sagen will. Ich vermute, dass ist ein komplexeres Objekt, auf das man nur richtig zugreifen muss.

            Ich probiere es mal so:

            mylist = getState("javascript.0.deviceCounter.lamps_on.list").val;
            log(mylist); 
            for(var property in mylist) {
                log(property + "=" + mylist[property]);
            }
            

            Laut Google: The default conversion from an object to string is "[object Object]".

            Das Ergebnis ist kurios:

            21.12.2020, 22:13:51.887	[info ]: javascript.0 (1891) Stop script script.js.common.Experimental.ListTest
            21.12.2020, 22:13:52.041	[info ]: javascript.0 (1891) Start javascript script.js.common.Experimental.ListTest
            21.12.2020, 22:13:52.065	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: [object Object]
            21.12.2020, 22:13:52.065	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 0=[
            21.12.2020, 22:13:52.066	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 1=o
            21.12.2020, 22:13:52.066	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 2=b
            21.12.2020, 22:13:52.066	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 3=j
            21.12.2020, 22:13:52.066	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 4=e
            21.12.2020, 22:13:52.066	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 5=c
            21.12.2020, 22:13:52.067	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 6=t
            21.12.2020, 22:13:52.067	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 7= 
            21.12.2020, 22:13:52.067	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 8=O
            21.12.2020, 22:13:52.067	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 9=b
            21.12.2020, 22:13:52.067	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 10=j
            21.12.2020, 22:13:52.068	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 11=e
            21.12.2020, 22:13:52.068	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 12=c
            21.12.2020, 22:13:52.068	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 13=t
            21.12.2020, 22:13:52.068	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 14=]
            21.12.2020, 22:13:52.069	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: registered 0 subscriptions and 0 schedules
            
            paul53P 1 Reply Last reply
            0
            • A Archimedeus

              @paul53 said in Frage zu DeviceCounter script [object Object]:

              var room = getObject(id,'rooms').enumNames[0];

              Leider keine Verbesserung:
              438fdf89-781c-49df-892c-87da6f249093-grafik.png

              Leider ist total jetzt auch 0, sollte 2 sein.

              Wenn ich nur wüsste, was mir JS mit [object Object] sagen will. Ich vermute, dass ist ein komplexeres Objekt, auf das man nur richtig zugreifen muss.

              Ich probiere es mal so:

              mylist = getState("javascript.0.deviceCounter.lamps_on.list").val;
              log(mylist); 
              for(var property in mylist) {
                  log(property + "=" + mylist[property]);
              }
              

              Laut Google: The default conversion from an object to string is "[object Object]".

              Das Ergebnis ist kurios:

              21.12.2020, 22:13:51.887	[info ]: javascript.0 (1891) Stop script script.js.common.Experimental.ListTest
              21.12.2020, 22:13:52.041	[info ]: javascript.0 (1891) Start javascript script.js.common.Experimental.ListTest
              21.12.2020, 22:13:52.065	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: [object Object]
              21.12.2020, 22:13:52.065	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 0=[
              21.12.2020, 22:13:52.066	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 1=o
              21.12.2020, 22:13:52.066	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 2=b
              21.12.2020, 22:13:52.066	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 3=j
              21.12.2020, 22:13:52.066	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 4=e
              21.12.2020, 22:13:52.066	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 5=c
              21.12.2020, 22:13:52.067	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 6=t
              21.12.2020, 22:13:52.067	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 7= 
              21.12.2020, 22:13:52.067	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 8=O
              21.12.2020, 22:13:52.067	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 9=b
              21.12.2020, 22:13:52.067	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 10=j
              21.12.2020, 22:13:52.068	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 11=e
              21.12.2020, 22:13:52.068	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 12=c
              21.12.2020, 22:13:52.068	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 13=t
              21.12.2020, 22:13:52.068	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: 14=]
              21.12.2020, 22:13:52.069	[info ]: javascript.0 (1891) script.js.common.Experimental.ListTest: registered 0 subscriptions and 0 schedules
              
              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by paul53
              #6

              @Archimedeus
              Was sagt das Log (anstelle Zeile 41)?

                      log(d_list);
              

              @Archimedeus sagte in Frage zu DeviceCounter script [object Object]:

              Leider ist total jetzt auch 0, sollte 2 sein.

              An der Zählung (Zeile 39) hat sich nichts geändert ?

              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

              A 1 Reply Last reply
              0
              • paul53P paul53

                @Archimedeus
                Was sagt das Log (anstelle Zeile 41)?

                        log(d_list);
                

                @Archimedeus sagte in Frage zu DeviceCounter script [object Object]:

                Leider ist total jetzt auch 0, sollte 2 sein.

                An der Zählung (Zeile 39) hat sich nichts geändert ?

                A Offline
                A Offline
                Archimedeus
                wrote on last edited by
                #7

                @paul53

                Ich bin etwas weiter.

                var roomsX = getObject(id,'rooms');
                

                Die Zeile gibt schon das object Obct. Grund ist, dass in der Aufzählung direkt die Endpunkte -POWER stehen. ID ist dann also sonoff.0.sonoff1.POWER Da drin ist natürlich kein .rooms drin. Ich muss den Aufruf anders machen. Habe jetzt in der Auzählung sonoff.0.sonoff1 und versuche es so:

                addDeviceCounter("lamps_on",$('channel[id=state.*.POWER](functions=sonoff)'),                            true);
                

                Tut aber nicht, findet keine Devices. Ich glaube ioch muss mal drüber schlafen. Hast mir geholfen. Man kämpft sich bit für bit voran.

                paul53P 1 Reply Last reply
                0
                • A Archimedeus

                  @paul53

                  Ich bin etwas weiter.

                  var roomsX = getObject(id,'rooms');
                  

                  Die Zeile gibt schon das object Obct. Grund ist, dass in der Aufzählung direkt die Endpunkte -POWER stehen. ID ist dann also sonoff.0.sonoff1.POWER Da drin ist natürlich kein .rooms drin. Ich muss den Aufruf anders machen. Habe jetzt in der Auzählung sonoff.0.sonoff1 und versuche es so:

                  addDeviceCounter("lamps_on",$('channel[id=state.*.POWER](functions=sonoff)'),                            true);
                  

                  Tut aber nicht, findet keine Devices. Ich glaube ioch muss mal drüber schlafen. Hast mir geholfen. Man kämpft sich bit für bit voran.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #8

                  @Archimedeus sagte in Frage zu DeviceCounter script [object Object]:

                  Tut aber nicht, findet keine Devices.

                  Versuche es mal so:

                  addDeviceCounter("lamps_on",$('sonoff.0.*.POWER'), true);
                  

                  @Archimedeus sagte in Frage zu DeviceCounter script [object Object]:

                  Das Problem mit LOWBATT und LOW_BATT bei HM und HMIP hat der * gelöst

                  Das sind unterschiedliche Instanzen.

                  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

                  A 1 Reply Last reply
                  0
                  • paul53P paul53

                    @Archimedeus sagte in Frage zu DeviceCounter script [object Object]:

                    Tut aber nicht, findet keine Devices.

                    Versuche es mal so:

                    addDeviceCounter("lamps_on",$('sonoff.0.*.POWER'), true);
                    

                    @Archimedeus sagte in Frage zu DeviceCounter script [object Object]:

                    Das Problem mit LOWBATT und LOW_BATT bei HM und HMIP hat der * gelöst

                    Das sind unterschiedliche Instanzen.

                    A Offline
                    A Offline
                    Archimedeus
                    wrote on last edited by
                    #9

                    @paul53 said in Frage zu DeviceCounter script [object Object]:

                    addDeviceCounter("lamps_on",$('sonoff.0.*.POWER'), true);

                    Das findet alle devices in sonoff (auch die bridge) aber roomsX bleibt object Object.

                    Das andere

                    addDeviceCounter("battery_homematic",$('channel[state.id=hm-rpc.*.*.0.LOW*]'),     true);
                    

                    funktioniert wirklich. Er findet die LOW* aus beiden instanzen.

                    paul53P 1 Reply Last reply
                    0
                    • A Archimedeus

                      @paul53 said in Frage zu DeviceCounter script [object Object]:

                      addDeviceCounter("lamps_on",$('sonoff.0.*.POWER'), true);

                      Das findet alle devices in sonoff (auch die bridge) aber roomsX bleibt object Object.

                      Das andere

                      addDeviceCounter("battery_homematic",$('channel[state.id=hm-rpc.*.*.0.LOW*]'),     true);
                      

                      funktioniert wirklich. Er findet die LOW* aus beiden instanzen.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by paul53
                      #10

                      @Archimedeus sagte:

                      funktioniert wirklich. Er findet die LOW* aus beiden instanzen.

                      Jetzt ist auch keine Instanz angegeben. Der Selektor kann kürzer sein:

                      addDeviceCounter("battery_homematic",$('hm-rpc.*.0.LOW*'), true);
                      

                      @Archimedeus sagte in Frage zu DeviceCounter script [object Object]:

                      aber roomsX bleibt object Object.

                      Welche Version des Javascript-Adapters ? Sind Räume zugeordnet ?

                      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

                      A 1 Reply Last reply
                      0
                      • paul53P paul53

                        @Archimedeus sagte:

                        funktioniert wirklich. Er findet die LOW* aus beiden instanzen.

                        Jetzt ist auch keine Instanz angegeben. Der Selektor kann kürzer sein:

                        addDeviceCounter("battery_homematic",$('hm-rpc.*.0.LOW*'), true);
                        

                        @Archimedeus sagte in Frage zu DeviceCounter script [object Object]:

                        aber roomsX bleibt object Object.

                        Welche Version des Javascript-Adapters ? Sind Räume zugeordnet ?

                        A Offline
                        A Offline
                        Archimedeus
                        wrote on last edited by
                        #11

                        @paul53
                        4.8.4 und ja es sind Räume zugewiesen. Morgen klappts. bestimmt 🙂

                        paul53P 1 Reply Last reply
                        0
                        • A Archimedeus

                          @paul53
                          4.8.4 und ja es sind Räume zugewiesen. Morgen klappts. bestimmt 🙂

                          paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #12

                          @Archimedeus
                          Habe nicht mehr daran gedacht: Raumname kann mehrsprachig sein. Deshalb

                                          var room = getObject(id,'rooms').enumNames[0];
                                          if(typeof room == 'object') room = room.de;
                                          if(!d_list.includes(room)) d_list.push(room);
                          

                          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

                          A 1 Reply Last reply
                          0
                          • paul53P paul53

                            @Archimedeus
                            Habe nicht mehr daran gedacht: Raumname kann mehrsprachig sein. Deshalb

                                            var room = getObject(id,'rooms').enumNames[0];
                                            if(typeof room == 'object') room = room.de;
                                            if(!d_list.includes(room)) d_list.push(room);
                            
                            A Offline
                            A Offline
                            Archimedeus
                            wrote on last edited by
                            #13

                            @paul53 said in Frage zu DeviceCounter script [object Object]:

                            var room = getObject(id,'rooms').enumNames[0];

                            Schon besser. Problem: enumNames nimmt nur den ersten Raum. Deshalb stand im Original auch
                            d_list.push(rooms.enumNames)
                            und
                            setState(state_list, d_list.join('-'));

                            Naja, eigentlich sollte ein Gerät auch nur in einem Raum sein...

                            A 1 Reply Last reply
                            0
                            • A Archimedeus

                              @paul53 said in Frage zu DeviceCounter script [object Object]:

                              var room = getObject(id,'rooms').enumNames[0];

                              Schon besser. Problem: enumNames nimmt nur den ersten Raum. Deshalb stand im Original auch
                              d_list.push(rooms.enumNames)
                              und
                              setState(state_list, d_list.join('-'));

                              Naja, eigentlich sollte ein Gerät auch nur in einem Raum sein...

                              A Offline
                              A Offline
                              Archimedeus
                              wrote on last edited by
                              #14

                              @Archimedeus
                              Aber es tut, was es soll! Danke vielmals!

                              paul53P 1 Reply Last reply
                              0
                              • A Archimedeus

                                @Archimedeus
                                Aber es tut, was es soll! Danke vielmals!

                                paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by
                                #15

                                @Archimedeus sagte:

                                es tut, was es soll!

                                Sollen die Batterie-Infos tatsächlich pro Raum erfolgen ?

                                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

                                520

                                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