Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Aufzählung - ein Teil funktioniert iwie 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

    Aufzählung - ein Teil funktioniert iwie nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • Mrs-B
      Mrs-B last edited by Homoran

      Hallo zusammen,

      ich habe das Script Aufzählung Lichter für mich angepasst.

      Es funktioniert auch soweit gut...

      Was bei mir leider nicht funktioniert (auch schon mit dem Orginal Script) ist der aufbereitete Datenpunkt für die Ansage..
      Angezeigt wird mir brav was eingeschaltet ist, aber wenn alles aus ist, bekomme ich nicht den Textbaustein sondern einfach nur der Text "Steckdosen Nordflügel eingeschaltet..). Hier sollte dann aber der Text "Alle Steckdosen im Nordflügel sind ausgeschaltet" erscheinen...

      Wo liegt hier der Fehler?

      Hier der Script-Schnipsel (weiss leider nicht wie man das so schön als Script hier einstellt...)

      // Aufbereitung für Ansage
      
      function strip_tags(data) {
      
      var rueckgabe = data.replace(/( |<([^>]+)>)/ig, " ");
      
      return(rueckgabe);
      
      }
      
      {1}
      
      on(idNamenNord, function (obj) {
      
      //var text = obj.state.val;
      var textNord = obj.state.val;
      
      //text = (getState(idAnzahlNord).val > 0 ) ? 'Steckdosen Nordflügel eingeschaltet: ' + strip_tags(text) : 'Alle Steckdosen im Nordflügel sind ausgeschaltet';
      textNord = (getState(idAnzahlNord).val > 0 ) ? 'Steckdosen Nordflügel eingeschaltet: ' + strip_tags(textNord) : 'Alle Steckdosen im Nordflügel sind ausgeschaltet';
      
      
      //setState(idAnsageNord, text);
      setState(idAnsageNord, textNord);
      

      MOD-Edit: Code in code-tags gesetzt!

      Würde mich sehr freuen wenn mir da jemand weiterhelfen kann...

      BBTown T 2 Replies Last reply Reply Quote 0
      • BBTown
        BBTown @Mrs-B last edited by BBTown

        @Mrs-B
        defeb66f-c1af-4e15-863c-0383dd86b1d9-grafik.png

        einfach durch benutzen der code-tags

        Mrs-B 1 Reply Last reply Reply Quote 0
        • Mrs-B
          Mrs-B @BBTown last edited by

          @BBTown
          Danke für die Info 🙂

          1 Reply Last reply Reply Quote 0
          • T
            ticaki Developer @Mrs-B last edited by

            @Mrs-B

            setzte das mal an den Anfang von on(idNamennord...)

            log('Anzahl:' + getState(idAnzahlNord).val + ' Namen:' + obj.state.val);
            

            Ich geh davon aus das die idAnzahlNord nicht null wird oder IdNamenNord vor idAnzahlNord gesetzt wird.

            Mrs-B 1 Reply Last reply Reply Quote 0
            • Mrs-B
              Mrs-B @ticaki last edited by Mrs-B

              @ticaki
              Danke für deine Antwort!
              Ich werde das mal testen.

              1 Reply Last reply Reply Quote 0
              • Mrs-B
                Mrs-B last edited by

                Ich habe jetzt noch viel rum probiert, finde aber den Fehler nicht 😞

                Das Script läuft soweit. Die eigenen Datenpunkte werden korrekt gefüllt.

                ABER: den Teil mit der Ansage bekomme ich nicht hin..

                Ich habe den Tip von ticaki versucht und musste feststellen das die Werte (Zahlen) für
                idAnzahlNordOn
                idAnzahlOstOn
                schlicht nie stimmen und das obwohl sie in die Datenpunkte korrekt geschrieben werden.

                Nach meinem kleinen Verständnis bislang liest doch die Funktion
                on(idNamenNord, function (obj) { bzw.
                on(idNamenOst, function (obj) {
                per getState die Datenpunkte aus... Warum klappt das bei mir nicht?

                
                {1}
                
                zählt die Steckdosen in allen Räumen im Nordflügel und meldet die Eingeschalteten namentlich
                
                Daten kommen von Aufzählung "nordflügel-licht"
                
                {1}
                
                */
                
                var logging = true;
                
                 // ++++++++ Pfad und Name der zu erstellenden Datenpunkte
                
                var idAnzahlNordOn = '0_userdata.0.MrsBiesly.Status.Steckdosen.Anzahl_Nord_On';
                var idAnzahlOstOn = '0_userdata.0.MrsBiesly.Status.Steckdosen.Anzahl_Ost_On';
                
                
                var idAnzahlNord = '0_userdata.0.MrsBiesly.Status.Steckdosen.Anzahl_Nord';
                var idAnzahlOst = '0_userdata.0.MrsBiesly.Status.Steckdosen.Anzahl_Ost';
                
                var idNamenNord = '0_userdata.0.MrsBiesly.Status.Steckdosen.Namen_Nord';
                var idNamenOst = '0_userdata.0.MrsBiesly.Status.Steckdosen.Namen_Ost';
                
                var idRaumNord = '0_userdata.0.MrsBiesly.Status.Steckdosen.Raum_Nord';
                var idRaumOst = '0_userdata.0.MrsBiesly.Status.Steckdosen.Raum_Ost';
                
                var idAnsageNord = '0_userdata.0.MrsBiesly.Status.Steckdosen.Ansage_Nord';
                var idAnsageOst = '0_userdata.0.MrsBiesly.Status.Steckdosen.Ansage_Ost';
                
                
                
                // ++++++++ Wonach soll gesucht werden? 
                // ++++++++ Hier nach allen Datenpunkten die in der Aufzählung "Nordflügel-Strom" / "Ostflügel-Strom" sind und die ID ".1" haben (da in diesem Datenpunkt false/true für ON bzw OFF)
                
                
                var cacheSelectorSwitchNord = $('state[id=*.1](functions=nordflügel-strom)');
                
                var cacheSelectorSwitchOst = $('state[id=*.1](functions=ostflügel-strom)');
                
                
                 // ++++++++ Setzt die Zähler vor dem Durchlauf aller Elemente *.1 in der Aufzählung (Gewerk) Nordflügel-Strom auf 0
                
                
                function checkDevicesNord(obj) {
                
                
                var anzahlSteckdockdosenNordOn = 0;
                
                var anzahlSteckdosenNord = 0;
                
                var NameSteckdoseNordOn = [];
                
                var textRaumNord = [];
                
                
                
                
                if (logging) {
                
                log('++++++ Steckdosen Nordflügel Anzahl ++++ ');
                
                log('#### SCHALTER ##### ');
                
                }
                
                cacheSelectorSwitchNord.each(function (id, i) { // Schleife für jedes gefundenen Element *.1 in der Aufzählung (Gewerk) Nordflügel-Strom
                
                var obj = getObject(id);
                
                var idDev = id.substring(0, id.lastIndexOf('.'));  // Zugriff auf übergeordneten Datenpunkt da der Name des Datenpunkts sonst "switch_1" heißen würde
                var name = getObject(idDev).common.name; // liest den Namen des übergeordneten Datenpunkts aus
                
                var status = getState(id).val; // Abfrage Zustand (true/false) für alle *.1 abfragen (für jedes Element)
                
                var raumname = getObject(id, "rooms"); // Abfrage Raum-Name
                
                
                
                 
                
                
                if (status) { // wenn Zustand = true, dann wird die Anzahl der Steckdosen im Nordflügel hochgezählt
                
                ++anzahlSteckdockdosenNordOn; 
                
                NameSteckdoseNordOn.push(name); // Zu Array hinzufügen
                
                textRaumNord.push(raumname.enumNames); // <---- NEU
                
                }
                
                ++anzahlSteckdosenNord; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                
                });
                
                 
                log('test: ' + anzahlSteckdosenNord);
                
                
                
                 
                
                // Array mit Lichternamen sortieren
                
                NameSteckdoseNordOn.sort();
                
                textRaumNord.sort(); 
                
                // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
                
                if (logging) log("Text: " + NameSteckdoseNordOn);
                
                if (logging) log("Anzahl Steckdosen Nordflügel: " + anzahlSteckdosenNord + " # davon Steckdosen ON: " + anzahlSteckdockdosenNordOn);
                
                
                
                // die ermittelten Werte werden in die erstellten Datenpunkte geschrieben (z.B. für die Verarbeitung in VIS)
                
                setState(idNamenNord, NameSteckdoseNordOn.join(',')); // Schreibt die aktuellen Namen der eingeschalteten Steckdosen im Nordflügel
                
                setState(idAnzahlNordOn, NameSteckdoseNordOn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Steckdosen im Nordflügel
                
                setState(idAnzahlNord, anzahlSteckdosenNord); // Schreibt die aktuelle Anzahl der vorhandenen Steckdosen im Nordflügel
                
                setState(idRaumNord, textRaumNord.join(', ')); // Schreibt die Räume im Nordflügel, in denen Steckdosen ON sind
                
                
                }
                
                function checkDevicesOst(obj) {
                
                
                var anzahlSteckdockdosenOstOn = 0;
                
                var anzahlSteckdosenOst = 0;
                
                var NameSteckdoseOstOn = [];
                
                var textRaumOst = [];
                
                
                
                
                if (logging) {
                
                log('++++++ Steckdosen Ostflügel Anzahl ++++ ');
                
                log('#### SCHALTER ##### ');
                
                }
                
                cacheSelectorSwitchOst.each(function (id, i) { // Schleife für jedes gefundenen Element *.1 in der Aufzählung (Gewerk) Nordflügel-Strom
                
                var obj = getObject(id);
                
                var idDev = id.substring(0, id.lastIndexOf('.'));  // Zugriff auf übergeordneten Datenpunkt da der Name des Datenpunkts sonst "switch_1" heißen würde
                var name = getObject(idDev).common.name; // liest den Namen des übergeordneten Datenpunkts aus
                
                var status = getState(id).val; // Abfrage Zustand (true/false) für alle *.1 abfragen (für jedes Element)
                
                var raumname = getObject(id, "rooms"); // Abfrage Raum-Name
                
                
                
                 
                
                
                if (status) { // wenn Zustand = true, dann wird die Anzahl der Steckdosen im Nordflügel hochgezählt
                
                ++anzahlSteckdockdosenOstOn; 
                
                NameSteckdoseOstOn.push(name); // Zu Array hinzufügen
                
                textRaumOst.push(raumname.enumNames); // <---- NEU
                
                }
                
                ++anzahlSteckdosenOst; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                
                });
                
                 
                log('test: ' + anzahlSteckdosenOst);
                log('test2: ' + anzahlSteckdockdosenOstOn);
                
                
                
                 
                
                // Array mit Lichternamen sortieren
                
                NameSteckdoseOstOn.sort();
                
                textRaumOst.sort(); 
                
                // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
                
                if (logging) log("Text: " + NameSteckdoseOstOn);
                
                if (logging) log("Anzahl Steckdosen Ostflügel: " + anzahlSteckdosenOst + " # davon Steckdosen ON: " + anzahlSteckdockdosenOstOn);
                
                
                
                // die ermittelten Werte werden in die erstellten Datenpunkte geschrieben (z.B. für die Verarbeitung in VIS)
                
                setState(idNamenOst, NameSteckdoseOstOn.join(',')); // Schreibt die aktuellen Namen der eingeschalteten Steckdosen im Nordflügel
                
                setState(idAnzahlOstOn, NameSteckdoseOstOn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Steckdosen im Nordflügel
                
                setState(idAnzahlOst, anzahlSteckdosenOst); // Schreibt die aktuelle Anzahl der vorhandenen Steckdosen im Nordflügel
                
                setState(idRaumOst, textRaumOst.join(', ')); // Schreibt die Räume im Nordflügel, in denen Steckdosen ON sind
                
                
                }
                
                
                {1}
                
                // Trigger
                
                cacheSelectorSwitchNord.on(function(obj) { // bei Zustandsänderung *.1 in der Aufzählung (Gewerk) "Nordflügel-Strom"
                
                if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                
                checkDevicesNord();
                
                });
                
                cacheSelectorSwitchOst.on(function(obj) { // bei Zustandsänderung *.1 in der Aufzählung (Gewerk) "Nordflügel-Strom"
                
                if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                
                checkDevicesOst();
                
                });
                
                
                
                
                function main() {
                
                setTimeout(function(){
                
                if (logging) log('Auslöser Skriptstart');
                
                checkDevicesNord(), ////??????????????????????????????????????????????
                
                checkDevicesOst();
                
                }, 2000);
                
                }
                
                {1}
                
                main(); // Skriptstart-Auslöser
                
                {1}
                
                // Aufbereitung für Ansage
                
                function strip_tags(data) {
                
                var rueckgabe = data.replace(/( |<([^>]+)>)/ig, " ");
                
                return(rueckgabe);
                
                }
                
                
                
                {1}
                
                
                on(idNamenNord, function (obj) {
                
                log('Check Nord:' + getState(idAnzahlNordOn).val + ' Namen:' + obj.state.val);     
                
                //var text = obj.state.val;
                var textNord = obj.state.val;
                
                //text = (getState(idAnzahlNord).val > 0 ) ? 'Steckdosen Nordflügel eingeschaltet: ' + strip_tags(text) : 'Alle Steckdosen im Nordflügel sind ausgeschaltet';
                textNord = (getState(idAnzahlNordOn).val > 0 ) ? 'Steckdosen Nordflügel eingeschaltet: ' + strip_tags(textNord) : 'Alle Steckdosen im Nordflügel sind ausgeschaltet';
                
                
                //setState(idAnsageNord, text);
                setState(idAnsageNord, textNord);
                
                })
                
                
                
                
                on(idNamenOst, function (obj) {
                
                log('Check Ost:' + getState(idAnzahlOstOn).val + ' Namen:' + obj.state.val);    
                
                
                //var text = obj.state.val;
                var textOst = obj.state.val;
                
                //text = (getState(idAnzahlNord).val > 0 ) ? 'Steckdosen Nordflügel eingeschaltet: ' + strip_tags(text) : 'Alle Steckdosen im Nordflügel sind ausgeschaltet';
                textOst = (getState(idAnzahlOstOn).val > 0 ) ? 'Steckdosen Ostflügel eingeschaltet: ' + strip_tags(textOst) : 'Alle Steckdosen im Ostflügel sind ausgeschaltet';
                
                
                //setState(idAnsageNord, text);
                setState(idAnsageOst, textOst);
                
                
                
                
                });
                
                {1}
                code_text
                

                Hier mal das gesamte Script...

                Und hier ein Screenshot von den Datenpunkten mit Werten

                1f36ab6b-0866-41a6-962d-0baa2c72cd2e-image.png

                Ich würde mich sehr freuen wenn jemand die Zeit finden würde um sich das mal anzuschauen...

                1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer last edited by ticaki

                  😁

                  Dein Verständnis ist richtig du übersiehst dabei aber die Reihenfolge, dein Script reagiert auf die erste Änderung und nicht die letzte.

                  vorher:

                  setState(idNamenOst, NameSteckdoseOstOn.join(',')); // Schreibt die aktuellen Namen der eingeschalteten Steckdosen im Nordflügel
                  setState(idAnzahlOstOn, NameSteckdoseOstOn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Steckdosen im Nordflügel
                  setState(idAnzahlOst, anzahlSteckdosenOst); // Schreibt die aktuelle Anzahl der vorhandenen Steckdosen im Nordflügel
                  setState(idRaumOst, textRaumOst.join(', ')); // Schreibt die Räume im Nordflügel, in denen Steckdosen ON sind
                  

                  nachher:

                  setState(idAnzahlOstOn, NameSteckdoseOstOn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Steckdosen im Nordflügel
                  setState(idAnzahlOst, anzahlSteckdosenOst); // Schreibt die aktuelle Anzahl der vorhandenen Steckdosen im Nordflügel
                  setState(idRaumOst, textRaumOst.join(', ')); // Schreibt die Räume im Nordflügel, in denen Steckdosen ON sind
                  setState(idNamenOst, NameSteckdoseOstOn.join(',')); // Schreibt die aktuellen Namen der eingeschalteten Steckdosen im Nordflügel
                  

                  Und wenn das nicht reicht, was es aber sollte:

                  on(idNamenNord, function (obj) {
                  var textNord = obj.state.val;  
                  //var text = obj.state.val;
                  setTimeout(() => { 
                    //text = (getState(idAnzahlNord).val > 0 ) ? 'Steckdosen Nordflügel eingeschaltet: ' + strip_tags(text) : 'Alle Steckdosen im Nordflügel sind ausgeschaltet';
                    textNord = (getState(idAnzahlNord).val > 0 ) ? 'Steckdosen Nordflügel eingeschaltet: ' + strip_tags(textNord) : 'Alle Steckdosen im Nordflügel sind ausgeschaltet';
                    
                    //setState(idAnsageNord, text);
                    setState(idAnsageNord, textNord);
                  },20;
                  }
                  
                  Mrs-B 1 Reply Last reply Reply Quote 0
                  • Mrs-B
                    Mrs-B @ticaki last edited by Mrs-B

                    @ticaki
                    Sorry das ich mich erst jetzt wieder melde.. Bin vorher nicht dazu gekommen..

                    Aber VIELEN DANK! für deine Hilfe!
                    Das schlichte Umstellen der Reihenfolge so wie du es aufgezeigt hast, führt nun zu korrekten Antworten 🙂
                    Konnte es zwar gerade nur für den "Nord-Teil" testen (wenn ich im Ost-Teil jetzt den Strom weg nehme hab ich keinen Rechner mehr lach), aber denke das es auch hier nun läuft...

                    Den "Timeout" Teil werde ich bestimmt an anderer Stelle noch versuchen zu verwenden 🙂
                    Wenn es deine Zeit erlaubt.. Magst mir evtl. ein paar Zeilen schreiben zur Begründung?
                    Ich versuche nicht nur Dinge abzuschreiben sondern versuche auch den Hintergrund zu verstehen....
                    Hier ist mir jetzt nicht so ganz klar warum die Umstellung der Reihenfolge den Erfolg des Scripts ausmacht.... ?

                    LG

                    T 1 Reply Last reply Reply Quote 0
                    • Mrs-B
                      Mrs-B last edited by Mrs-B

                      Und dann doch noch ein "Problem"..

                      // Trigger
                      
                      cacheSelectorSwitchNord.on(function(obj) { // bei Zustandsänderung *.1 in der Aufzählung (Gewerk) "Nordflügel-Strom"
                      
                      //if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                      if (logging) log('Auslösender Schalter: ' + obj.name + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                      
                      checkDevicesNord();
                      
                      });
                      

                      Dieser Teil zeigt mir ja im Log wer der Auslöser war.. Leider bekomme ich hier als (korrekte) Antwort "swicht_1" angezeigt.
                      Leider wenig hilfreich da alle meine Steckdosen dann quasi so heißen....
                      Hier würde ich gern den Namen des übergeordneten DP angezeigt bekommen (hier dann also "Fire-Strom").

                      Wie bekomme ich das hin?

                      Hier die Struktur:

                      5fef2f84-9e4f-4feb-a6b6-69426de00258-grafik.png

                      1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @Mrs-B last edited by ticaki

                        @Mrs-B
                        Wenn du 4 Punkte beschreibst, werden die nicht gleichzeitig geschrieben sondern das sind 4 einzelne Kommandos. Wenn du also auf den ersten Schreibvorgang einen Trigger setzt ist es sehr unwahrscheinlich, das die restlichen 3 schon geschrieben sind.

                        Also bassiert der 1. Lösungsansatz darauf, dass die Schreibkommandos in aufgetragener Reihenfolge vollständig abgearbeitet sind.

                        Der 2. Lösungsansatz gibt dem System ein paar Millisekunden um die anstehenden Schreibaufträge abzuschließen, bevor mit dem auslesen der Daten begonnen wird.

                        Die beste Lösung wäre jedoch nicht mehrere Datenpunkte zu verwenden, sondern einen Objektdatenpunkt zu erstellen:

                        var fluegel = getState(datenpunkt_der_Objekt_enthalten_kann).val;
                        if (fluegel === undefined) fluegel = {};
                        fluegel.nord = {};
                        fluegel.nord.anzahl = 3;
                        fluegel.nord.text = 'text';
                        setState(datenpunkt_der_Objekt_enthalten_kann, fluegel);
                        

                        🙂
                        EDIT: ups ich weiß garnicht ob es Objekt Datenpunkte gibt.
                        Das hier ist für einen Zeichenketten Datenpunkt:

                        var str = getState(datenpunkt_der_Zeichenkette_enthält).val;
                        var fluegel = {};
                        if (str) fluegel = JSON.parse(str);
                        fluegel.nord = {};
                        fluegel.nord.anzahl = 3;
                        fluegel.nord.text = 'text';
                        setState(datenpunkt_der_Zeichenkette_enthält, JSON.stringify(fluegel));
                        
                        Mrs-B 1 Reply Last reply Reply Quote 0
                        • Mrs-B
                          Mrs-B @ticaki last edited by

                          @ticaki
                          DANKE für die Antwort.. Das muss ich jetzt für mich erstmal studieren lach

                          1 Reply Last reply Reply Quote 0
                          • T
                            ticaki Developer last edited by ticaki

                            Zu deiner nächsten Frage: (Ich schreibe das Freihand, kann/wird Syntaxfehler enthalten 🙂 )

                            var id = obj.id.substring(obj.id.lastIndexOf('.'));
                            log(id);
                            var oName = getObject(id).common.name;
                            log(oName);
                            
                            1 Reply Last reply Reply Quote 0
                            • Mrs-B
                              Mrs-B last edited by Mrs-B

                              @ticaki said in Aufzählung - ein Teil funktioniert iwie nicht:

                              var id = obj.id.substring(obj.id.lastIndexOf('.'));
                              log(id);
                              var oName = getObject(id).common.name;
                              log(oName);

                              Danke auch hier 🙂

                              So hat es bei mir iwie nicht funktionieren wollen.
                              Nach Analyse hab ich dann gesehen das ich immer "DeviceID" mit ".1" am Ende (so heißt die ID des abzufragenen Datenpunkts bei mir..) raus bekomme.
                              Habe mir dann soweit geholfen das ich einfach das ".1" am Ende abschneide und damit dann den Namen abfrage.

                              Ist garantiert keine "schöne" Lösung ... Aber funktioniert in meiner Umgebung soweit gut...
                              JScript und ich wir stehen noch in der Kennenlernphase 🙂

                              Wünsche ein schönes Wochenende 🙂

                              1 Reply Last reply Reply Quote 0
                              • T
                                ticaki Developer last edited by

                                @Mrs-B sagte in Aufzählung - ein Teil funktioniert iwie nicht:

                                var id = obj.id.substring(obj.id.lastIndexOf('.'));

                                Das tut nichts anders als alles hinter dem letzten "." zu verwerfen.

                                1 Reply Last reply Reply Quote 0
                                • Mrs-B
                                  Mrs-B last edited by

                                  Huhu...

                                  Ich hab endlich wieder etwas Zeit gefunden um an meinem Script (siehe oben) weiter zu basteln...

                                  Hab da noch folgende Frage:
                                  Mit folgenden Zeilen lege ich ja fest wonach gesucht werden soll:

                                  var cacheSelectorSwitchNord = $('stateid=*.1');
                                  var cacheSelectorSwitchOst = $('stateid=*.1');

                                  Also hier für mein Beispiel nach Datenpunkten mit der ID "1" mit der jeweils zugewiesenen function...

                                  Nun hab ich aber noch ne Steckdosenleiste die mitgezählt werden soll ... Hier heißen die ID`s leider nicht "1" ...

                                  Kann man auch einfach nur nach den Datenpunkten suchen die die function zugewiesen haben? Also ohne Angabe der ID? Würde dann natürlich die entsprechende function auch nur den passenden Datenpunkten zuordnen...

                                  Geht das? Und wie müsste ich das anstellen?

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  829
                                  Online

                                  31.9k
                                  Users

                                  80.3k
                                  Topics

                                  1.3m
                                  Posts

                                  3
                                  15
                                  654
                                  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