Ich habe meine Heizungssteuerung mit diversen Dummys aufgebaut, die wiederum in at und weekdaytimer Befehlen ausgelesen werden.
Was ich noch nicht hinbekomme, dass eine Änderung eines Dummys (z. B. Setzen einer neuen Zeit) direkt den at Befehl oder den weekdaytimer ändert.
Sonst holen die sich die neuen Werte erst wenn sie das nächste Mal auslösen.
Gefunden habe ich leider nichts.
Meine Idee war ein notify zu nehmen und bei Änderung des Dummys auslösen zu lassen. Das notify soll dann das Device neu speichern (dann zieht das at/der weekdaytimer anscheinend die Dummy-Werte neu).
So in etwa habe ich mir das gedacht:
define notify_wd_7_so_nachtabsenkung_aktualisieren notify uhrzeit_nachtabsenkung_mo { fhem "defmod wd_7_so_nachtabsenkung <Inhalt wie in DEV belassen>"}
Wobei der Dummy uhrzeit_nachtabsenkung_mo bei Änderung das notify triggern soll.
wd_7_so_nachtabsenkung ist der weekdaytimer, den ich gerne mit dem neuen Wert versorgen möchte.
Leider klappt das nicht so, wie ich es gerne hätte.
<Inhalt wie in DEV belassen> müste ja genauso angegeben werden wie im at/ weekdaytimer. Dann bekomme ich aber eine Fehlermeldung (und schön ist das ja auch nicht --> bei Änderungen im eigentlichen at/weekdaytimer zerschieße ich mir das ja, wenn ich hier nicht aktuell bin)
Schön wäre ein
attr <device> aktualisierungsdummys dummy1, dummy2
in at, weekdaytimer etc.
Gibt es da bereits eine einfache oder notfalls auch komplizierte Lösung für mein Problem?
Vielleicht habe ich zuviel Text drin.
Gibt es eine Möglichkeit einen Dummy in einem at immer aktuell zu haben (bei Anpassung des Dummys) und nicht erst bei der nächsten Ausführung des at neu auszulesen?
at musst du von außen über ein defmod und notify aktualisieren.
Beim DOIF kannst du indirekte Zeiten angeben, dieser aktualisiert sich selbst.
Beispiel
DOIF ([[Zeit_dummy]|Sa So]) (set bla on)
set Zeit_dummy 10:00
Danke, aber wie mache ich das mit dem devmod?
Mein at sieht im DEF so aus:
*{Value("uhrzeit_nachtabsenkung")} {if (Value("haus_Status")<3) {fhem("set haus_Status 2")}}
wenn ich jetzt testweise ein
defmod at_HeizungNachtabsenkung at {Value("uhrzeit_nachtabsenkung")}
mache, wird zwar schön die Zeit aus dem Dummy uhrzeit_nachtabsenkung übernommen aber danach sieht das DEF des ats leider so aus (Dummy ist gelöscht)
2017-10-23T06:05:00 {if (Value("haus_Status")<3) {fhem("set haus_Status 2")}}
Wie bekomme ich es hin, dass das at nach dem DEFMOD wie ganz oben aussieht?