NEWS
Objekt liegt nur als Selektor vor - Wert vom Objekt setzten
-
Guten Morgen,
ich komme mit meiner kleinen Tagesaufgabe nicht so recht weiter und freue mich über jede Unterstützung
Eine Abfrage zeigt mir alle Objekte (Homematic Thermostate) die nicht den Wert 4 für "Valve_State" haben und schreibt diese in eine Liste.
Die Liste habe ich dann manuell per Hand Gerät für Gerät abgearbeitet.Jetzt kam mir die Idee, für alle Geräte die den Valve State =2 haben (Warte auf Adaption) die Adaption anzustoßen.
SET VALVE_ADAPTION auf 1 oder trueDie Schwierigkeit für mich ist, dass ich das Objekt nicht auswählen kann, da dieses nur in der Form des Selectors vorliegt
und ich für die Steuerung bzw. das Setzen eines Wertes immer die Objekt ID benötige.
Hat jemand einen Tipp für mich?
Danke!
-
@flehmann1234 sagte: Hat jemand einen Tipp für mich?
Block "schreibe" erlaubt eine Variable für die ID.
Außerdem: Weshalb 2 Schleifen? -
Hallo @paul53,
ich bin mit der Lösung leider immer noch nicht weiter...
Das Schreiben Objekt habe ich eingefügt, kann aber nicht das Objekt "ID vom Selektor" einfügen.Daher habe ich es zuvor als Variable definiert und diese kann man im Schreiben Block einfügen.
Aber das klappt auch nicht, es kommt eine Fehlermeldung:13:40:00.393 info javascript.0 (408) script.js.Listen.Liste_adaption_aktiv1_bak: 05_eg_freizeitraum_2 _re.
13:40:00.394 warn javascript.0 (408) at Object.<anonymous> (script.js.Listen.Liste_adaption_aktiv1_bak:40:9)Hast du noch eine Idee für mich, wie ich
ID vom Selector $(hm-rpc...VALVE_ADAPTION) auf True setzen kann?
Danke Vielmals
Fabian
-
@flehmann1234 sagte: für alle Geräte die den Valve State =2 haben (Warte auf Adaption) die Adaption anzustoßen.
Inhalt der Funktion STATE2ADAPTION(id):
return id.replace('STATE', 'ADAPTION');
-
@flehmann1234
Hier mit einer allgemeineren Funktion ersetzen(text, alt, neu):return text.replace(alt, neu);
-
Hallo Paul,
tausend Dank für die schnelle Antwort(en) ich habe die erste Lösung sofort getestet, es hatte aber nicht funktioniert.
Ich hatte eine Kleinigkeit übersehen. Jetzt scheint es zu funktionieren.Testen kann ich es noch nicht so richtig, da ich durch die ganzen Versuche den DutyCycle der CCU3 an den Anschlag gebracht habe.
Das Prinzip was du gemacht hast, habe ich glaube ich verstanden und kann dieses dann auch auf andere Aufgaben umsetzten.
Du hast mir sehr sehr geholfen!
Grüße
Fabian
-