FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: cwagner am 23 November 2023, 11:24:02

Titel: [Gelöst] Zeitspanne: Am Ende einer Zeitspanne wird nicht getriggert?
Beitrag von: cwagner am 23 November 2023, 11:24:02
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?
Titel: Aw: Zeitspanne: Am Ende einer Zeitspanne wird nicht getriggert?
Beitrag von: Damian am 24 November 2023, 20:56:52
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])])...
Titel: Aw: Zeitspanne: Am Ende einer Zeitspanne wird nicht getriggert?
Beitrag von: cwagner am 24 November 2023, 23:11:33
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