HM Wandthermostat via Script und Timer verändern

Hi Zusammen,
ich stehe gerade etwas auf dem Schlauch und hätte gerne ein Tip von euch.
Ich habe verschiedene Wandthermostaten und habe gerade ein Script geschrieben, welches alle 30min ausgeführt wird, um dann für die jeweilige Tageszeit eine andere Temperatur einzustellen. Dafür schreibe ich die „Set_Point_Temperature“ Variable. Das funktioniert soweit ganz gut.
Meine zweite Idee war es, wenn ich den Thermostaten manuell verändere, dann soll der Timer um 3h verlängert werden. Dafür habe ich ein Ereignis „bei Änderung“ angelegt und den Timer darin neu gesetzt.
Mein Problem ist gerade, dass mein erstes Script zwar abfragt von welchem Event kommst du „TimerEvent“ oder „RunScriptEvent“ aber mein Script ändert ja die Variable und dadurch wird mein Ereignis dennoch ausgeführt und der Timer verlängert… Das will ich aber ja nur, wenn ich es manuell verändere…Ich drehe mich hier gerade im Kreis, habt Ihr eine Idee?
Gruß
Sascha

Hallo,
wenn ich es richtig verstanden habe, müsste es so gehen.
In deinem vorhanden Skript stellst du deinen Scipttimer bei jedem Lauf auf 1800 Sekunden
oder fragst ab, wenn er größer ist als 1800 Sekunden, dann wieder 1800 Sekunden.
Damit wäre Teil 1 erledigt.

In dem Aktionsskript zum Sollwert stellst du deinen Scripttimer auf 10800 Sekunden.
Dafür Sollte jedes Thermostat sein eigenes Skript haben und seine eigene Aktion.

Das wäre eine einfache Quick und Dirty Lösung.

Mit größerem Aufwand bekommt man mit Sicherheit die Anzahl der Skripte reduziert.

Zum Beispiel bei der Aktion,
in dem man allen Skripten(nicht Aktionsskript) einen eindeutigen identischen Ident gibt und in der gleichen Ebene wie der Sollwert liegen.
Man bekommt ja bei der Aktion die ID der auslösenden Variablen.
Nun kann sich dadurch die ID von Parent holen und von dort über den Ident die ID des Skriptes bekommen, um den Scripttimer zu setzen.
Damit hättest du schon mal nur ein Aktionsskipt.

Gruß Achim

PS. Hoffe habe mich nicht zu kompliziert ausgedrückt bzw. deinen Wunsch korrekt verstanden. :innocent: