Die Lichtsteuerung ist ein riesiges Thema in Home Assistant und eine der vielen Möglichkeiten bei denen euch Home Assistant helfen kann. Dank der großen Anzahl an unterstützen Geräten und der Flexibilität von Home Assistant, ist fast jedes Scenario denkbar. Dieser Beitrag soll keine Anleitung darstellen, sondern eher eine Ideensammlung, die euch Anregungen liefern soll. Eine Voraussetzung ist natürlich, dass betreffende Lampen über Home Assistant gesteuert werden können. Dazu bietet sich z.B. das Programm von Shelly an.
Zu den Triggern, über die wir sprechen werden, gehören:
- Uhrzeit
- Sonnenuntergang (Flur, Treppenaufgang)
- Timer (Abstellkammer)
- Bewegung
- Anwesenheit
Einen Dämmerungsschalter hatte ich ja bereits erklärt.
Eine Automatisierung besitzt drei Abschnitte. Der erste Abschnitt ist der Auslöser oder Trigger. Dieses ist das Ereignis, welches die Automatisierung auslöst. Ein typischer Trigger ist die Uhrzeit oder der Zustandswechsel einer Entität Der zweite Abschnitt ist der Zustand oder Condition. Der Zustand ist optional, muss aber erfüllt sein, damit die nachfolgende Aktion ausgelöst wird. Ein typischer Zustand wäre wieder die Uhrzeit. Der dritte Abschnitt ist die Aktion oder Action. Hier wird festgelegt was passieren soll.
Steuerung per Uhrzeit
Zu den einfachsten Automatisierungen, gehört die Steuerung über die Uhrzeit. Ihr könnt eine feste Uhrzeit angeben, so wie den Wochentag, zu der eine Aktion ausgeführt werden soll. Somit könnt ihr euch z.B. mit dem Licht wecken lassen, oder automatisch das Licht in der Küche einschalten, damit die die Kaffeemaschine findet.

Ein Variante ist davon die Steuerung mittels Sonnenaufgang oder Sonnenuntergang. So könnt ihr zum Sonnenuntergang das Licht im Flur oder Treppenaufgang einschalten. Zusätzlich kann ein Versatz konfiguriert werden, damit das Licht z.B. eine halbe Stunde früher an geht. Negative Werte bedeuten vor dem Ereignis und positive Werte nach dem Ereignis.

Dieses lässt sich auch noch mit weiteren Bedingungen verknüpfen. Nehmen wir als Beispiel mal das Licht im Flur. Hier macht es Sinn das Licht zum Sonnenuntergang einzuschalten, aber nur wenn es vor 22 Uhr ist.

description: "Flur_Licht"
mode: single
triggers:
- trigger: sun
event: sunset
conditions:
- condition: time
before: "22:00:00"
actions:
- action: light.turn_on
metadata: {}
data: {}
target:
entity_id: light.flur
YAMLDieses kann man auch noch erweitern, um das Licht automatisch um 22 Uhr auszuschalten. Dazu bedienen wir uns der Auslöse-IDs. Durch die Verwendung von IDs können wir verschiedene Triggern anlegen und diesen verschiedene Aktionen zuordnen. Somit nutzen wir eine einzige Automatisierung um das Licht ein- und auszuschalten.
Um IDs festzulegen, öffnet ihr das Menü im Auslöse und wählt ID bearbeiten. Nun könnt ihr einen Namen für die ID vergeben. In der Aktion startet ihr mit Auswählen
und fügt pro ID eine Option hinzu und dort in Bedingung sucht ihr nach Ausgelöst durch
und könnt nun den Auslöser wählen.


description: "Flur_Licht"
mode: single
triggers:
- trigger: sun
event: sunset
id: "on"
- trigger: time
at: "22:00:00"
id: "off"
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- "on"
- condition: time
before: "22:00:00"
sequence:
- action: light.turn_on
metadata: {}
data: {}
target:
entity_id: light.flur
- conditions:
- condition: trigger
id:
- "off"
sequence:
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.flur
YAMLLichtsteuerung mittels Timer
Sobald sich der Zustand einer Entität ändern, wie z.B. das Licht geht in der Abstellkammer an, kein ein Timer gestartet werden. Sobald der Zustand für eine festgelegte Zeit besteht, kann dadurch eine Aktion ausgelöst werden. Also wenn das Licht in der Abstellkammer für fünf Minuten an war, dann schalte es wieder aus. Dieses würde helfen, wenn andauernd jemand vergisst das Licht wieder auszuschalten. Als Auslöser wählt ihr Entität
und anschließend Zustand
.

description: ""
mode: single
triggers:
- trigger: state
entity_id:
- switch.shelly_abstellkammer_licht
to: "on"
for:
hours: 0
minutes: 5
seconds: 0
conditions: []
actions:
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.abstellkammer_licht
YAMLLichtsteuerung mittels Bewegungsmelder
Ganz klassisch lassen sich Lampen auch über Bewegungsmelder steuern. In kombination mit dem Timer lässt sich damit wunderbar das Licht automatisch und zustandsabhängig steuern. Sobald eine Bewegung erkannt wird, geht das Licht an. Sollte keine Bewegung mehr erkannt werden, geht das Licht nach zwei Minuten aus. Ob ihr einen Timer braucht, hängt von eurem Bewegungsmelder ab. Manche reagieren sehr schnell, andere wiederum eher träge. Hier ist testen angesagt.
In meinem Beispiel erstelle ich eine Automatisierung für eine Gästetoilette ohne Tageslicht. Zusätzlich dimme ich das Licht auf 50% ab 22 Uhr. Hier könnt ihr natürlich zusätzlich noch einen Lüfter ansteuern, der dann ebenfalls nachlaufen kann.



description: ""
mode: single
triggers:
- trigger: state
entity_id:
- binary_sensor.toilette_motion
to: "on"
id: "on"
- trigger: state
entity_id:
- binary_sensor.toilette_motion
to: "off"
for:
hours: 0
minutes: 2
seconds: 0
id: "off"
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- "on"
- condition: time
after: "07:00:00"
before: "22:00:00"
sequence:
- action: light.turn_on
metadata: {}
data:
brightness_pct: 100
target:
entity_id: light.toilette
- conditions:
- condition: trigger
id:
- "on"
- condition: time
after: "22:00:00"
before: "07:00:00"
sequence:
- action: light.turn_on
metadata: {}
data:
brightness_pct: 50
target:
entity_id: light.toilette
- conditions:
- condition: trigger
id:
- "off"
sequence:
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.toilette
YAMLLichtsteuerung über die Anwesenheit
Die Idee hierbei ist es, alle Lichter auszuschalten, sobald niemand mehr anwesend ist. Neben der Automatisierung benötigen wir dafür eine funktionierende Anwesenheitserkennung und einen Helfer, der alle Lichter in einer Gruppe zusammenfasst.
Um den Helfer zu erstellen geht ihr in Einstellungen -> Geräte & Dienste -> Helfer -> Helfer erstellen
. Wählt als Typ Gruppe aus und Leuchten-Gruppe. Vergebt einen passenden Namen und fügt alle Lampen hinzu.



Nun können wir das zusammen in eine Automatisierung packen und sobald keine Person zu Hause erkannt wird, gehen alle Lichter aus.

alias: Lichter_aus
description: ""
triggers:
- trigger: numeric_state
entity_id:
- zone.home
below: 1
conditions: []
actions:
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.lichter
mode: single
YAMLGenau so können wir die Sache umdrehen und Licht einschalten, sobald die erste Person nach Hause kommt und die Sonne untergegangen ist.

alias: Coming_Home
description: ""
mode: single
triggers:
- trigger: numeric_state
entity_id:
- zone.home
above: 0
conditions:
- condition: sun
after: sunset
actions:
- action: light.turn_on
metadata: {}
data: {}
target:
entity_id: light.flur
YAMLDie Lichtsteuerung ist ein sehr großes, mächtiges und auch individuelles Thema. Daher soll das hier keine Anleitung sein, sondern eine Anregung, was möglich ist. Es gibt auch noch viel mehr Möglichkeiten, wie eine Anwesenheitssimulation.