Da stehe ich mal wieder auf dem Schlauch. Ich möchte, dass in einer berechneten Zeitspanne ein Raum geheizt und außerhalb halt abgesenkt wird. Mein Ansatz
{if ([18:00] - [([Schlafen]-[01:00])]) {fhem_set ("$_RR desired-temp ". ([$SELF:Wunsch_Temp]));set_State ("heizen")}
else {fhem_set("$_RR desired-temp ".([$SELF:Wunsch_Temp]-4));set_State ("Absenkung")}
Um 18:00 wird getriggert und geheizt. Das errechnete Ende der Zeit wird korrekt als Reading
Timer_01_c01 | 23.11.2023 18:00:00 | 2023-11-22 18:00:00
timer_02_c01 | 23.11.2023 21:30:00 | 2023-11-22 21:30:00
gezeigt. Um 21:30 heute wird wohl wie in den vergangenen Tagen nichts geschehen. Wenn ich aber über den Setter den Block sagen wir um 22:XX aufrufe, wird er korrekt ausgeführt. Häää?
Wenn ich aus dem else ein elsif mache und dort ([([Schlafen]-[01:00])]) einsetze, wird getriggert.
Hat jemand eine Idee, was ich falsch mache?
Die Definition für ein Zeitintervall ist nicht korrekt.
Wenn du ein Intervall haben willst, dann muss es so aussehen:
{if ([18:00 - ([Schlafen]-[01:00])])...
Oh shit, dann hatte ich es mir falsch notiert. Danke wieder einmal für Deine verlässliche Hilfe.
Ein schönes Wochenende mit vielen guten Erlebnissen und Ideen!
Christian