AT zu einem absoluten Datum ausführen

Aus FHEMWiki
Version vom 3. November 2023, 16:30 Uhr von F Klee (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Achtung: der Befehl at kennt im Gegensatz zur Behauptung im Artikel unten durchaus Ausführungen zu einem bestimmten Datum.

Das letztgenannte Beispiel kann z.b. mit

define Licht_25_Januar_an at 2011-01-25T07:15:00 set Licht1 on

Realisiert werden, siehe auch Commandrefeintrag.

Die unten dargestellt Lösung, täglich bei Erreichen der gewünschten Uhrzeit zu prüfen ob der richtige Tag erreicht wurde, erfordert mehr Code und ist auch Perfomanceseitig ungünstiger.



________________________________________________________________________________________________


Mit dem Befehl at können in FHEM Aktionen zu einem definierten Zeitpunkt ausgeführt werden:

define morgens_Licht_an at *07:15:00 set Licht1 on

Es können nur relative und absolute Uhrzeiten, jedoch nicht ein bestimmtes Datum definiert werden.

Allerdings kann die Ausführung an Bedingungen geknüpft sein, wie z.b. bestimmte Wochentage oder nur am Wochenende:

define morgens_Licht_Wochenende at *07:15:00 {if (!($we)) {fhem("set Licht1 on")} }

Auf die selbe Art kann auch auf ein Ausführungsdatum geprüft werden.

define Licht_25_Januar_an at *07:15:00 {if($year==2011 && $month==1 && $mday==25) {fhem("set Licht1 on")} }

In diesem Fall wird täglich um 7:15 Uhr geprüft, ob der 25. Januar 2011 ist und falls ja, wird die Aktion ausgeführt.

Da dieser Fall nur einmal zutrifft, ist es sinnvoll, die Aktion nach Auslösung zu löschen, damit nicht nach dem 25. Januar 2011 weiter täglich geprüft wird, ob das Datum nochmal auftritt:

define Licht_25_Januar_an at *07:15:00 {if($year==2011 && $month==1 && $mday==25) \
{fhem ("set Licht1 on; delete Licht_25_Januar_an"} }