AT zu einem absoluten Datum ausführen
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"} }