FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Ovi am 17 Oktober 2015, 02:45:59

Titel: Heizung vor dem Wecken, negative Zeitangaben
Beitrag von: Ovi am 17 Oktober 2015, 02:45:59
Ich möchte die Heizung z.B 30 Minuten vor dem Wecken einschalten.
Die Weckzeit stelle ich vorher interaktiv in ein dummy ein.

Nun stehe ich vor dem Problem, dass ich eine Zeitangabe, die aus einem gegebenen Wert, abzüglich der Zeitdifferenz gebildet werden soll an einen at Befehl übergeben muss.
Mein Code sieht zur Zeit wie folgt aus:

define wakeupChange notify {fhem("modify wakeuptime *%");{fhem("modify heizenBad *%-[00:30]");}}

Leider schluckt fhem die Angabe der negativen Zeitdifferenz (mit oder ohne []) nicht.
Testweise habe ich die Zeitdifferenz mal weggelassen, dann werden beide at Befehle (der zum Wecken und der zum Heizen) korrekt gesetzt. Der Rest des Codes ist also OK.
Ich könnte das Problem umgehen, wenn ich die Startzeit des Heizens setzen würde und die Zeitdifferenz direkt im Ausführungsteil des at Befehls addieren würde, aber das wäre nicht bedienerfreundlich, weil man dann bei gegebener Weckzeit, jedesmal rechnen muss, wieviel früher der Heizstart liegt.

Hat jemand eine Idee, was ich falsch mache?

Gruß, Martin
Titel: Antw:Heizung vor dem Wecken, negative Zeitangaben
Beitrag von: Rince am 17 Oktober 2015, 07:10:54
Schau mal:
http://forum.fhem.de/index.php/topic,34994.msg279922.html#msg279922 (http://forum.fhem.de/index.php/topic,34994.msg279922.html#msg279922)

Ist es das was du willst?
Titel: Antw:Heizung vor dem Wecken, negative Zeitangaben
Beitrag von: rudolfkoenig am 17 Oktober 2015, 08:20:56
Die notify Variante waere:
define wakeupChange notify {\
  fhem("modify wakeuptime *$EVENT");;\
  fhem("modify heizenBad *".FmtTime(time_str2num("2015-01-01 $EVENT")-1800))\
}


Achtung: % und @ in notify ist unerwuenscht, und sollte mit $EVENT bzw $NAME ersetzt werden.