Heizung vor dem Wecken, negative Zeitangaben

Begonnen von Ovi, 17 Oktober 2015, 02:45:59

Vorheriges Thema - Nächstes Thema

Ovi

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

Rince

Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

rudolfkoenig

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.