at oder weekdaytimer aktualisieren wenn dummy sich ändert

Begonnen von Gunther, 22 Oktober 2017, 13:43:51

Vorheriges Thema - Nächstes Thema

Gunther

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?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

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?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Damian

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

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Gunther

FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

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?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden