Home Assistant: Weihnachtsbeleuchtung nur zur Weihnachtszeit schalten

Zur Weihnachtszeit kann man mit Home Assistant beindruckende Sachen machen, beispielsweise die Weihnachtsbeleuchtung nach Sonnenuntergang automatisch ein- und um 01:00 Uhr wieder auszuschalten.

Ich hatte das schon letztes Jahr programmiert und war dann im Sommer verwundert, warum immer Abends die Dekoleuchte im Wohnzimmer „mysteriös“ anging… Des Rätsels Lösung war, dass eben an der Steckdose über Weihnachten die Christbaum Beleuchtung hing und die Automatisierung noch immer Griff.

Besser wäre es also diese Automatisierung noch auf einen gewissen Zeitraum einzuschränken.
Home Assistant hält mit dem templating zwei Möglichkeiten dafür bereit.

Inhalt

Zeitraum direkt in der Aktion als Bedingung einbinden

Dafür editiert man die entsprechende Automatisierung und trägt als Bedingung einen Zustand ein.

Darin definiert man dann die folgenden zwei Zeilen:

 {% set today = now() %}
 {{ today.month == 12 or ( today.month == 1 and ( 1 <= today.day <= 6 )) }}

Nach dem Speichern wird diese Automatisierung beim Sonnenuntergang nur noch dann starten, wenn es Entweder Dezember- oder Januar, aber vor dem 7. ist.

Zeitraum als binären Sensor zur Wiederverwendung konfigurieren

Man hat in dem Szenario schon mal zwei Aktionen und muss die template Zeilen zweimal hinzufügen.
Und möglicherweise möchte man auch noch andere Aktionen auf einen bestimmten Zeitraum einschränken.

Damit bietet es sich an ein binary_sensor Template in Home Assistant zu erstellen, auf welchen man dann in den Aktionen referenzieren kann.

Als erstes bindet man für die Templates am besten eine include Datei in ~/config/configuration.yaml ein:

default_config:

# [...]

template: !include templates.yaml

# [...]

Und dann noch die Datei mit den Templates ~/config/templates.yaml:

- binary_sensor:
    - name: "Christmas Time"
      state: >
        {% set today = now() %}
        {{ today.month == 12 or ( today.month == 1 and ( 1 <= today.day <= 6 )) }}

Nachdem man die Dateien dann gespeichert- und in Home Assistant Entwicklerwerkzeuge -> TEMPLATE-ENTITÄTEN neu geladen hat, kann man diese in der Aktion als Bedingung die Entität des Sensors Angeben:

Grundsätzlich kann das auf mehrere Arten gemacht werden, auch z.B: mit der (externen) scheduler Komponente.

Die folgenden Referenzen liefern noch weitere Inputs:

Published by

Steven Varco

Steven ist ein Redhat RHCE-Zertifizierter Linux-Crack und ist seit über 20 Jahren sowohl beruflich wie auch privat auf Linux spezialisiert. In seinem Keller steht ein Server Rack mit diversen ESX und Linux Servern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert