FHEM at
FHEM at – Zeitgesteuerte Automatisierungen einfach erklärt
Einleitung
Eine der wichtigsten Funktionen in FHEM ist die zeitgesteuerte Ausführung von Befehlen. Ob Beleuchtung, Rollläden, Heizung oder Gartenbewässerung – viele Abläufe sollen automatisch zu einer bestimmten Uhrzeit stattfinden. Genau dafür stellt FHEM das Modul at bereit.
Mit at lassen sich einzelne Befehle oder ganze Automatisierungen zu einem festen Zeitpunkt oder täglich wiederkehrend ausführen. Besonders in Kombination mit den Funktionen sunrise() und sunset() entstehen intelligente Zeitsteuerungen, die sich automatisch an die Jahreszeit anpassen.
In diesem Artikel lernen Sie die Grundlagen des at-Moduls kennen. Sie erfahren, wie zeitgesteuerte Aufgaben erstellt werden, welche Syntax verwendet wird, welche Besonderheiten es gibt und wie typische Fehler vermieden werden. Anhand vieler Praxisbeispiele können Sie die gezeigten Befehle direkt in Ihrem eigenen Smart Home einsetzen.
Inhalt dieses Artikels
- Was ist das FHEM at-Modul?
- Aufbau einer at-Definition
- Einmalige Zeitsteuerungen
- Wiederkehrende Aufgaben
- Zeitsteuerungen mit sunrise() und sunset()
- Mehrere Geräte gleichzeitig schalten
- Zeitversatz verwenden
- Häufige Fehler
- Praxistipps
- FAQ
- Fazit
Was ist das at-Modul?
Das Modul at gehört zu den Standardfunktionen von FHEM und dient dazu, Befehle zu einem definierten Zeitpunkt auszuführen.
Im Gegensatz zu notify, das auf Ereignisse reagiert, arbeitet at ausschließlich zeitbasiert.
Typische Einsatzgebiete sind:
- Außenbeleuchtung
- Weihnachtsbeleuchtung
- Rollläden
- Heizungssteuerung
- Lüftung
- Gartenbewässerung
- Anwesenheitssimulation
- Steckdosen
- Pumpen
- Aquarien
- Terrarien
Dadurch lassen sich viele alltägliche Abläufe vollständig automatisieren.
Aufbau einer at-Definition
Eine einfache Definition besitzt folgenden Aufbau:
define Name at Zeitpunkt Befehl
Beispiel:
define WohnzimmerLicht at 20:00 set Wohnzimmer on
Jeden Tag um 20:00 Uhr wird das Gerät „Wohnzimmer“ eingeschaltet.
Einmalige Ausführung
Soll ein Befehl nur einmal ausgeführt werden, genügt eine Uhrzeit oder ein Datum.
define Test at 18:30 set Lampe on
Nach der Ausführung wird der Eintrag automatisch deaktiviert oder gelöscht, je nach Definition.
Tägliche Wiederholung
Für tägliche Aufgaben wird ein Stern verwendet.
define Licht at *20:00 set Terrasse on
Jetzt erfolgt die Ausführung jeden Tag um 20 Uhr.
Der Stern gehört zu den wichtigsten Bestandteilen einer at-Definition.
Mehrere Geräte gleichzeitig schalten
Auch mehrere Befehle können kombiniert werden.
set Wohnzimmer off;;
set Terrasse off;;
set Garten off;;
}
So lassen sich komplette Szenen mit nur einer Definition umsetzen.
Kombination mit sunrise()
Eine der größten Stärken von FHEM besteht darin, dass keine festen Uhrzeiten verwendet werden müssen.
define RollladenAuf at *{sunrise()} set Rollladen open
Die Ausführung erfolgt täglich zum tatsächlichen Sonnenaufgang.
Im Sommer und Winter passt sich die Uhrzeit automatisch an.
Kombination mit sunset()
Ebenso funktioniert der Sonnenuntergang.
define LichtAn at *{sunset()} set Terrasse on
Dadurch wird die Außenbeleuchtung jeden Abend automatisch eingeschaltet.
Zeitversatz
Häufig soll eine Aktion nicht exakt zum Sonnenuntergang erfolgen.
30 Minuten später:
define Licht at *{sunset(1800)} set Terrasse on
15 Minuten vorher:
define Rollladen at *{sunset(-900)} set Rollladen close
Dadurch entstehen sehr flexible Automatisierungen.
Mindest- und Maximalzeiten
Im Sommer geht die Sonne teilweise erst sehr spät unter.
Damit das Licht dennoch spätestens um 22 Uhr eingeschaltet wird:
define Terrasse at *{sunset(0,"17:00","22:00")} set Terrasse on
Jetzt gelten folgende Regeln:
- niemals vor 17 Uhr
- niemals nach 22 Uhr
- ansonsten exakt zum Sonnenuntergang
Mehrere Bedingungen kombinieren
Innerhalb einer at-Definition können Perl-Ausdrücke verwendet werden.
if(ReadingsVal("Anwesenheit","state","away") eq "home"){
set Wohnzimmer on
}
}
Dadurch wird das Licht nur eingeschaltet, wenn jemand zuhause ist.
Anwesenheit simulieren
Eine beliebte Anwendung ist die Anwesenheitssimulation.
define Urlaub at *19:30 set Wohnzimmer on
Zusätzlich:
define UrlaubAus at *23:15 set Wohnzimmer off
Von außen wirkt das Haus bewohnt.
Weihnachtsbeleuchtung
define WeihnachtenAn at *{sunset()} set Weihnachtsbaum on
define WeihnachtenAus at *23:00 set Weihnachtsbaum off
Aquarium
define AquariumAn at *08:00 set Aquarium on
define AquariumAus at *20:30 set Aquarium off
Gartenbewässerung
define Bewaesserung at *06:00 set Ventil on
define BewaesserungAus at *06:20 set Ventil off
Typische Fehler
Stern vergessen
define Licht at 20:00 set Licht on
läuft nur einmal.
Richtig:
define Licht at *20:00 set Licht on
Falsche Schreibweise
Nicht:
sondern
Groß- und Kleinschreibung ist wichtig.
Standort nicht definiert
Ohne Latitude und Longitude können sunrise() und sunset() keine korrekten Zeiten berechnen.
Uhrzeit falsch
Prüfen Sie immer:
- Raspberry Pi Uhrzeit
- Zeitzone
- NTP-Synchronisation
Tipps aus der Praxis
Verwenden Sie sprechende Namen:
Statt
lieber
Das erleichtert später die Wartung erheblich.
Wann sollte man DOIF verwenden?
Bei einfachen Zeitsteuerungen reicht at völlig aus.
Sobald Bedingungen hinzukommen wie:
- Anwesenheit
- Wetter
- Temperatur
- Helligkeit
ist häufig DOIF die bessere Wahl.
FAQ
Kann ich mehrere Geräte gleichzeitig schalten?
Ja.
Funktioniert at auch mit MQTT?
Ja.
Unterstützt at sunrise()?
Ja.
Unterstützt at sunset()?
Ja.
Kann ich Sekunden angeben?
Ja.
Kann ich Perl verwenden?
Ja.
Muss FHEM ständig laufen?
Ja.
Ist at ressourcenschonend?
Ja. Es zählt zu den effizientesten Modulen in FHEM.
Fazit
Das Modul at gehört zu den wichtigsten Werkzeugen in FHEM und bildet die Grundlage zahlreicher zeitgesteuerter Automatisierungen. Ob feste Uhrzeiten oder dynamische Schaltzeiten mit sunrise() und sunset() – das Modul ist flexibel, ressourcenschonend und einfach zu konfigurieren. Besonders in Kombination mit anderen FHEM-Modulen entstehen leistungsfähige Smart-Home-Lösungen, die den Alltag komfortabler und energieeffizienter machen.