Hallo,
mir ist nicht ganz klar, wann relative Zeitangaben berechnet werden.
Ich hatte versucht einen Kurzzeittimer, ähnlich wie im Wiki beschrieben, aufzusetzen:
https://wiki.fhem.de/wiki/DOIF/Zeitgeber#Kurzzeitwecker (https://wiki.fhem.de/wiki/DOIF/Zeitgeber#Kurzzeitwecker)
Allerdings wollte ich als Eingabe ein TimeWidget nutzen.
So sollte das Verhalten eigentlich sein:
Mit timer1 stellt man die gewünschte Laufzeit des Timers ein.
Kommando 1 (getriggert durch mode=start) startet den Timer (Setzt den Endzeitpunkt für die Bedingung von Kommando 2)
Kommando zwei löst dann am Endzeitpunkt irgendwas aus und setzt mode wieder auf finished.
DOIF ([$SELF:mode] eq "start")(setreading $SELF end [$SELF:timer1,"01:00"] )
DOELSEIF([?$SELF:mode] eq "start" and [+[$SELF:end,"00:00"]])(setreading $SELF mode finished)
Attributes:
do always
readingList mode timer1 end
setList mode:start,finished timer1:time end:time
webCmd mode:timer1
Ich habe vieles versucht, aber der Endzeitpunkt wird durch das erste Kommando nicht neu berechnet.
Auch runde und geschweifte Klammern zum Erzwingen einer Berechnung haben nicht geholfen.
Ich könnte das auch anders lösen, aber es muss doch auch so irgendwie gehen?
Danke und Grüße