Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Lichter zählen Script läuft nicht

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Lichter zählen Script läuft nicht

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

      Okay fehler selbst gesehen.

      ON = On

      Das habe ich unter Trigger noch zugefügt.

      cacheSelectorOn.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk licht
      
      if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
      
      checkDevices();
      
      });
      

      Aber leider zeigt er mir bisher nur die Shellys an =/

      1 Reply Last reply Reply Quote 0
      • M
        mech last edited by

        Update: Es scheint auf jedenfall den HM Schalter zu triggern:

        21:48:40.204	info	javascript.0 script.js.Verbraucher: Auslösender Schalter: hmip.0.devices.3014F711A0000858A9919754.channels.1.on: false
        

        Nur dieser wird wohl nicht in die Variable für die Lampen geschrieben.

        1 Reply Last reply Reply Quote 0
        • M
          mech last edited by

          Hier mal das ganze Script:

          /* Status Zahl Lichter
          
          {1}
          
          zählt die Lichter in allen Räumen und meldet die Eingeschalteten namentlich
          
          Daten kommen vom Gewerk "licht"
          
          {1}
          
          erstellt: 17.06.2015 nach diesem Vorbild: viewtopic.php?f=21&t=869&sid=f9ba5657489ff431a1990884f90779c1#p6564
          
          23.06.2015 globale Variablendefinition zählen_Lichter.textLichterAn fehlte und wurde hinzugefügt
          
          Log Ausgabe auskommentiert
          
          05.08.2015 STATE aus der Ausgabe entfernt nach Idee von stephan61 http://forum.iobroker.org/viewtopic.php ... t=20#p9267
          
          24.03.2016 keine Anzeigen von virtuellen Kanälen mehr (in Abhängigkeit der Abfrage des Namens)
          
          06.05.2016 Datenpunkt für Ansagen zugefügt
          
          02.07.2016 abgeschaltet, da Fehler
          
          03.07.2016 Zähl-Funktion getrennt nach Schalter und Dimmer
          
          search statt indexOf und RegEx für Suche nach Virtuellen Kanälen
          
          27.11.2016 Verschoben in Status
          
          Code optimiert
          
          23.12.2016 Räume eingebaut
          
          */
          
          var logging = true;
          
           
          
          var idAnzahlEin = 'javascript.0.Status.Lichter.Anzahl_ein',
          
          idAnzahl = 'javascript.0.Status.Lichter.Anzahl',
          
          idText = 'javascript.0.Status.Lichter.Text',
          
          idRaum = 'javascript.0.Status.Lichter.Raum', // <---- NEU
          
          idAnsage = 'javascript.0.Status.Lichter.Ansage';
          
           
          
          // Ab hier nix mehr ändern
          
          createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
          
          type: 'number',
          
          name: 'Anzahl aller Lichter',
          
          min: 0,
          
          def: 0,
          
          role: 'value'
          
          });
          
          createState(idAnzahlEin, { // Anzahl der Lichter, die auf sind als Variable unter Javascript.0 anlegen
          
          type: 'number',
          
          name: 'Anzahl der eingeschalteten Lichter',
          
          min: 0,
          
          def: 0,
          
          role: 'value'
          
          });
          
          createState(idText, { // Anzahl der brennenden Lichter und deren Namen als Variable unter Javascript.0 anlegen
          
          type: 'string',
          
          name: 'Eingeschaltete Lichter',
          
          desc: 'Namen der eingeschalteten Lichter',
          
          def: ' ',
          
          role: 'value'
          
          });
          
          createState(idAnsage, {
          
          type: 'string',
          
          name: 'Eingeschaltete Lichter (Ansage)',
          
          desc: 'Namen der eingeschalteten Lichter (für Ansage aufbereitet)',
          
          def: ' ',
          
          role: 'value'
          
          });
          
          createState(idRaum, { // Räume, in denen Lichter brennen // <---- NEU
          
          type: 'string',
          
          name: 'Räume mit eingeschalteten Lichter',
          
          desc: 'Namen der Räume, in denen Lichter eingeschaltet sind',
          
          def: ' ',
          
          role: 'value'
          
          });
          
          //var cacheSelectorHM = $('state[id=*.switch](functions=light)');
          
          var cacheSelectorState = $('channel[state.id=*.STATE](functions="light")'); // Gewerk licht
          
          var cacheSelectorLevel = $('channel[state.id=*.level](functions="light")');
          
          var cacheSelectorPOWER = $('state[id=*.POWER](functions="light")'); // Sonoff
          
          var cacheSelectorSwitch = $('state[id=*.Switch](functions="light")'); // Shelly
          
          var cacheSelectorMi = $('state[id=*.state](functions=light)'); //Mi-Light
          
          //var cacheSelectorON = $('switch[id=*.switch](functions=light)'); //Homematic
          
          const cacheSelectorOn = $('state[id=*.on](functions=light)');
          
          function checkDevices(obj) {
          
          // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk licht auf 0
          
          var anzahlLichterAn = 0;
          
          var anzahlLichter = 0;
          
          var textLichterAn = [];
          
          var textRaum = [];
          
           
          
          if (logging) {
          
          log('++++++ Lichter Anzahl ++++ ');
          
          log('#### SCHALTER ##### ');
          
          }
          
          cacheSelectorState.each(function (id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Licht
          
          var obj = getObject(id);
          
          var name = getObject(id).common.name;
          
          var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
          
          var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen
          
          var raumname = getObject(id, "rooms"); // <---- NEU
          
           
          
           
          
          // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
          
          // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
          
          
          /*
          if (logging) {
          
          log('-------');
          
          log('Kanal: ' + name);
          
          log('Status: ' + status); 
          
          }}
          */
          
          
          
          
           
          
          if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
          
          ++anzahlLichterAn; 
          
          textLichterAn.push(devicename); // Zu Array hinzufügen
          
          textRaum.push(raumname.enumNames); // <---- NEU
          
          }
          
          ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
          
          // } // ENDE VK-Abfrage
          
           
          
          });
          
           
          
           
          
          if (logging) log('#### DIMMER ##### ');
          
          cacheSelectorLevel.each(function (id, i) { // Schleife für jedes gefundenen Element *.LEVEL im Gewerk Licht
          
          var obj = getObject(id);
          
          var name = getObject(id).common.name;
          
          var status = getState(id).val; // Zustand *.LEVEL abfragen (jedes Element)
          
          var devicename = name.substring(0, name.indexOf(".LEVEL")); //.state aus Text entfernen
          
          var raumname = getObject(id, "rooms"); // <---- NEU
          
           
          
          // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
          
          // if ( (devicename.search(/(CUX)|(K2)|(K3)|(V10)|(VK)|(:)/ig) == -1) ) { // Geräte mit diesen Strings im namen nicht beachten
          
          /*
          
          if (logging) {
          
          log('-------');
          
          log('Kanal: ' + name);
          
          log('Status: ' + status + '%'); 
          
          }
          
          */
          
           
          
          if (parseFloat(status) > 0) { // Wenn Dimmwert über 0
          
          ++anzahlLichterAn; 
          
          textLichterAn.push(devicename); // Zu Array hinzufügen
          
          textRaum.push(raumname.enumNames); // <---- NEU
          
          }
          
          ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
          
          // } // Ende Abfrage VK 
          
           
          
          }); 
          
           
          
          if (logging) {
          
          log('++++++ Lichter Anzahl ++++ ');
          
          log('#### SCHALTER ##### ');
          
          }
          
          cacheSelectorPOWER.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER im Gewerk Licht
          
          var obj = getObject(id);
          
          var name = getObject(id).common.name;
          
          var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
          
          var devicename = name.substring(0, name.indexOf("POWER")); //.state aus Text entfernen
          
          var raumname = getObject(id, "rooms"); // <---- NEU
          
           
          
           
          
          // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
          
          // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
          
          /*
          
          if (logging) {
          
          log('-------');
          
          log('Kanal: ' + name);
          
          log('Status: ' + status); 
          
          }
          
          */
          
           
          
          if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
          
          ++anzahlLichterAn; 
          
          textLichterAn.push(devicename); // Zu Array hinzufügen
          
          //textRaum.push(raumname.enumNames); // <---- NEU
          textRaum.push(raumname.enumRooms); // <---- NEU
          
          }
          
          ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
          
          // } // ENDE VK-Abfrage
          
           
          
          });
          
           
          
          if (logging) {
          
          log('++++++ Lichter Anzahl ++++ ');
          
          log('#### SCHALTER ##### ');
          
          }
          
          cacheSelectorSwitch.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER im Gewerk Licht
          
          var obj = getObject(id);
          
          var name = getObject(id).common.name;
          
          var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
          
          var devicename = name;
          
          var raumname = getObject(id, "rooms"); // <---- NEU
          
           
          
          // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
          
          // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
          
          /*
          
          if (logging) {
          
          log('-------');
          
          log('Kanal: ' + name);
          
          log('Status: ' + status); 
          
          }
          
          */
          
           
          
          if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
          
          ++anzahlLichterAn; 
          
          textLichterAn.push(devicename); // Zu Array hinzufügen
          
          textRaum.push(raumname.enumNames); // <---- NEU
          
          }
          
          ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
          
          // } // ENDE VK-Abfrage
          
          });
          
           
          
           
          
           
          
          if (logging) {
          
          log('++++++ Lichter Anzahl ++++ ');
          
          log('#### SCHALTER ##### ');
          
          }
          
          cacheSelectorMi.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER im Gewerk Licht
          
          var obj = getObject(id);
          
          var name = getObject(id).common.name;
          
          var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
          
          var devicename = name.substring(0, name.indexOf(" Switch ON/OFF")); //.state aus Text entfernen
          
          var raumname = getObject(id, "rooms"); // <---- NEU
          
           
          
          // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
          
          // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
          
          /*
          
          if (logging) {
          
          log('-------');
          
          log('Kanal: ' + name);
          
          log('Status: ' + status); 
          
          }
          
          */
          
           
          
          if (status) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
          
          ++anzahlLichterAn; 
          
          textLichterAn.push(devicename); // Zu Array hinzufügen
          
          textRaum.push(raumname.enumNames); // <---- NEU
          
          }
          
          ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
          
          // } // ENDE VK-Abfrage
          
          });
          
           
          
          // Array mit Lichternamen sortieren
          
          textLichterAn.sort();
          
          textRaum.sort(); // <---- NEU
          
          // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
          
          if (logging) log("Text: " + textLichterAn);
          
          if (logging) log("Anzahl Lichter: " + anzahlLichter + " # davon Lichter an: " + anzahlLichterAn);
          
          // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
          
          setState(idText, textLichterAn.join(', ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
          
          setState(idAnzahlEin, textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
          
          setState(idAnzahl, anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
          
          // setState(idRaum, textRaum.join(',<br>')); // Räume, in denen Licht brennt // <---- NEU
          
          setState(idRaum, textRaum.join(', ')); // Räume, in denen Licht brennt // <---- NEU
          
          }
          
           
          
          // Trigger
          
          cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk licht
          
          if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
          
          checkDevices();
          
          });
          
          cacheSelectorLevel.on(function(obj) { // bei Zustandänderung *.LEVEL im Gewerk licht
          
          if (logging) log('Auslösender Dimmer: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
          
          checkDevices();
          
          });
          
          cacheSelectorPOWER.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk licht
          
          if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
          
          checkDevices();
          
          });
          
          cacheSelectorSwitch.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk licht
          
          if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
          
          checkDevices();
          
          });
          
          cacheSelectorMi.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk licht
          
          if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
          
          checkDevices();
          
          });
          
          cacheSelectorOn.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk licht
          
          if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
          
          checkDevices();
          
          });
          
          function main() {
          
          setTimeout(function(){
          
          if (logging) log('Auslöser Skriptstart');
          
          checkDevices();
          
          }, 2000);
          
          }
          
           
          
          main(); // Skriptstart-Auslöser
          
           
          
          // Aufbereitung für Ansage
          
          function strip_tags(data) {
          
          var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");
          
          return(rueckgabe);
          
          }
          
           
          
          on(idText, function (obj) {
          
          var text = obj.state.val;
          
          text = (getState(idAnzahl).val > 0 ) ? 'Lichter eingeschaltet: ' + strip_tags(text) : 'Alle Lichter ausgeschaltet';
          
          setState(idAnsage, text);
          
          });
          
          1 Reply Last reply Reply Quote 0
          • M
            mech last edited by

            okay gelöst 🙂

            Man muss den Log Part auf für den selector anlegen. Hier der Code falls mal jemand ähnlich unbegabt im JS ist.

            f (logging) {
            
            log('++++++ Lichter Anzahl ++++ ');
            
            log('#### SCHALTER ##### ');
            
            }
            
            cacheSelectorOn.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER im Gewerk Licht
            
            1 Reply Last reply Reply Quote 0
            • H
              hannoi last edited by

              Moin moin,

              ich habe nach einem Systemumzug ein Problem mit meinem "Lichter zählen" Skript.

              Das Skript läuft auch soweit wie es soll, nur 2 Lampen aus dem identischen Gewerk licht werden mit falschem Raumnamen aufgelistet: mit [object Object]:
              Bildschirmfoto 2019-07-04 um 13.02.57.png

              Hier das Skript:

              /* Status Zahl Lichter
              
              zählt die Lichter in allen Räumen und meldet die Eingeschalteten namentlich
              Daten kommen vom Gewerk "Licht"
              */
              const logging = true;
              
              const idAnzahlEin = 'javascript.0.Status.Lichter.Anzahl_ein',
                    idAnzahl = 'javascript.0.Status.Lichter.Anzahl',
                    idText = 'javascript.0.Status.Lichter.Text',
                    idRaum = 'javascript.0.Status.Lichter.Raum', // <---- NEU
                    idAnsage = 'javascript.0.Status.Lichter.Ansage';
              
              // Ab hier nix mehr ändern
              createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
                  type: 'number',
                  name: 'Anzahl aller Lichter',
                  min: 0,
                  def: 0,
                  role: 'value'
              });
              createState(idAnzahlEin, { // Anzahl der Lichter, die auf sind als Variable unter Javascript.0 anlegen
                  type: 'number',
                  name: 'Anzahl der eingeschalteten Lichter',
                  min: 0,
                  def: 0,
                  role: 'value'
              });
              createState(idText, { // Anzahl der brennenden Lichter und deren Namen als Variable unter Javascript.0 anlegen
                  type: 'string',
                  name: 'Eingeschaltete Lichter',
                  desc: 'Namen der eingeschalteten Lichter',
                  def: ' ',
                  role: 'value'
              });
              createState(idAnsage, {
                  type: 'string',
                  name: 'Eingeschaltete Lichter (Ansage)',
                  desc: 'Namen der eingeschalteten Lichter (für Ansage aufbereitet)',
                  def: ' ',
                  role: 'value'
              });
              createState(idRaum, { // Räume, in denen Lichter brennen // <---- NEU
                  type: 'string',
                  name: 'Räume mit eingeschalteten Lichter',
                  desc: 'Namen der Räume, in denen Lichter eingeschaltet sind',
                  def: ' ',
                  role: 'value'
              });
              
              // HM Schalter, HM Dimmer und Hue Schalter im Gewerk Licht
              const hmSTATE = $('channel[state.id=*.state](functions=licht)');
              const hmLEVEL = $('channel[state.id=*.LEVEL](functions=licht)');
              const hueon   = $('state[id=*.on](functions=licht)');
              
              var anzahlLichterAn,
                  anzahlLichter,
                  textLichterAn,
                  textRaum;
              
              function checkLicht(id, vorn, hinten) {
                  var name = getObject(id).common.name;
                  var devicename = name.substring(vorn, name.indexOf(hinten)); //Zeichen vorn, State hinten aus Text entfernen
                  var raum = getObject(id, "rooms").enumNames[0]; 
                  if (getState(id).val) { // wenn Zustand != false / 0, dann wird die Anzahl der Lichter hochgezählt
                      ++anzahlLichterAn;
                      textLichterAn.push(devicename); // Zu Array hinzufügen
                      if(textRaum.indexOf(raum) == -1) textRaum.push(raum); // zu Array hinzu, wenn noch nicht vorhanden
                  }
                  ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
              }
              
              function checkDevices() {
                  // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Licht auf 0
                  anzahlLichterAn = 0;
                  anzahlLichter = 0;
                  textLichterAn = [];
                  textRaum = [];
                  hmSTATE.each(function(id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Licht
              	    checkLicht(id, 0, '.state');
                  });
              
                  hueon.each(function(id, i) { // Schleife für jedes gefundenen Element *.on im Gewerk Licht
              	    checkLicht(id, 6, '.on');
                  });
              
                  hmLEVEL.each(function(id, i) { // Schleife für jedes gefundenen Element *.LEVEL im Gewerk Licht
              	    checkLicht(id, 0, '.LEVEL');
                  });
              
                  // Array mit Lichternamen sortieren
                  textLichterAn.sort();
                  textRaum.sort(); // <---- NEU
                  // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
                  if (logging) log("Text: " + textLichterAn);
                  if (logging) log("Anzahl Lichter: " + anzahlLichter + " # davon Lichter an: " + anzahlLichterAn);
                  // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                  //setState(idText, textLichterAn.join(',')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
                  setState(idText, textLichterAn.join(', ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
                  setState(idAnzahlEin, textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
                  setState(idAnzahl, anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
                  setState(idRaum, textRaum.join(',')); // Räume, in denen Licht brennt // <---- NEU
              }
              // Trigger
              hmSTATE.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Licht
                  if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                  checkDevices();
              });
              hueon.on(function(obj) { // bei Zustandänderung *.on von HUE Lampen im Gewerk Licht
                  if (logging) log('Auslösende HUE: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                  checkDevices();
              });
              hmLEVEL.on(function(obj) { // bei Zustandänderung *.LEVEL im Gewerk Licht
                  if (logging) log('Auslösender Dimmer: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                  checkDevices();
              });
              
              // Skriptstart
              setTimeout(function() {
                  if (logging) log('Auslöser Skriptstart');
                  checkDevices();
              }, 500);
              
              // Aufbereitung für Ansage
              function strip_tags(data) {
                  var rueckgabe = data.replace(/( |<([^>]+)>)/ig, " ");
                  return (rueckgabe);
              }
              
              on(idText, function(obj) {
                  var text = obj.state.val;
                  text = (getState(idAnzahl).val > 0) ? 'Lichter eingeschaltet: ' + strip_tags(text) : 'Alle Lichter sind ausgeschaltet';
                  setState(idAnsage, text);
              });
              

              Das Skript findet alle Lichter aus dem Gewerk, das passt nur eben die Anzeige des Raumes nicht.
              Hat noch jemand eine Idee?

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

                @hannoi sagte:

                Das Skript findet alle Lichter aus dem Gewerk

                Wirklich ? Bei HomeMatic-Geräten wird "state" groß geschrieben:

                const hmSTATE = $('channel[state.id=*.STATE](functions=licht)');
                

                und

                	    checkLicht(id, 0, '.STATE');
                
                1 Reply Last reply Reply Quote 0
                • H
                  hannoi last edited by

                  Sorry hatte ich nicht erwähnt, nutze die Tradfri Lampen. Dort wird der "state" kleingeschrieben.
                  Bildschirmfoto 2019-07-05 um 11.28.52.png

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

                    @hannoi
                    Mit dem Namen "on/off" kann das Skript nichts anfangen !

                    1 Reply Last reply Reply Quote 0
                    • H
                      hannoi last edited by

                      D.h. ich brauche dort eine weitere Konstante ?

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

                        @hannoi
                        Ändere den Datenpunktnamen analog der Struktur der HomeMatic-Namen in: "Kanalname.state". "Kanalname" steht für den Namen der jeweiligen Tradfri-Lampe.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        581
                        Online

                        31.8k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        33
                        156
                        23198
                        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