Home Assistant Automatisierung - Möglichkeiten & Basics

 

Vom Steuern der Poolpumpe über die Heizung bis hin zum Mähroboter, Automatisierungen in Home Assistant bieten eine Möglichkeit die Dinge rund ums eigene Heim so richtig smart zu machen.

Anfangs habe ich mit den Automatisierungen in Home-Assistant nur eine Zeitschaltuhr für meine Poolpumpe abgelöst. Dazu habe ich zunächst eine Automatisierung für das Einschalten und eine für das Ausschalten erstellt: Klappt, aber irgendwie fühlen sich zwei Automatisierungen für das Steuern eines Geräts noch nicht ganz richtig an. Aus diesem Grund, aber auch weil sich in der Zwischenzeit anspruchsvollere Abläufe ergeben haben, habe ich mir die Möglichkeiten der Automatisierungen im Detail angesehen. Mit Home Assistant konnte ich sogar meine bisherige Mährobotersteuerung ablösen und zuletzt sogar meine Heizung steuern, um den Ertrag meiner PV-Anlage möglichst sinnvoll zu nutzen.

Automatisierung erstellen

Eine neue Automatisierung kann in den Einstellungen und "Automatisierungen & Szenen" hinzugefügt werden.

Das Konzept: Auslöser (-> Bedingung) -> Aktion

Automatisierungen werden durch einen oder mehrere hinterlegte Auslöser (=Wenn) gestartet, als Beispiel zu einer bestimmten Zeit, oder wenn sich der Status eines Sensors oder Gerätes ändert. Vor dem Ausführen einer oder mehrerer Aktionen könnte die Automatisierung noch auf bestimmte Bedingungen geprüft werden (Und wenn). Könnte, denn die "Und wenn"- Bedingungen sind in den Aktionen (Dann mache) meist besser aufgehoben.

In dieser Ebene beschränkt sich der sinnvolle Einsatz von Bedingungen meist auf Automatisierungen mit nur einer Aktion. 
Bedingungen in den Aktionen "Wenn-Dann" oder "Auswählen" bieten die gleiche Funktionalität und sind dabei wesentlich flexibler einsetzbar, siehe: Konzept: Auslöser, Bedingung, Aktionen.

Hier ein kurzer Überblick über die möglichen Auslöser für das Starten einer Automatisierung:

Auslöser: Wenn -> Automatisierung starten

Die Auslöser in den Automatisierungen machen zunächst nichts anders, als die Automatisierung zu starten.

Auslöser Beschreibung
Gerät Löst aus, wenn sich der Status eines bestimmten Gerätes ändert, z. B. wenn ein Gerät aus- oder eingeschaltet wird, oder wenn sich ein bestimmter Wert z.B. die Temperatur eines Temperaturfühlers über oder unter einem vorgegebenen Wert befindet.
Entität / Numerischer Zustand Löst aus, wenn der numerische Wert einer Entität über oder unter einem bestimmten Wert ist.
Entität / Zustand Löst aus, wenn sich der Zustand einer Entität ändert.
Zeit und Ort / Kalender Kalenderentitäten können von anderen Integrationen genutzt und bereitgestellt zu werden. Kalenderauslöser ermöglichen die Automatisierung basierend auf dem Beginn oder Ende eines Ereignisses einer Kalenderentität. 
Zeit und Ort / Sonne Löst vor dem Sonnenauf- oder Untergang, oder nach dem Sonnenauf- oder Untergang aus.
Optional: Versatz (Offset): Format: HH:MM:SS
Beispiel: Versatz (Offset): -02:00:00 = 2 Stunden vor dem Sonnenauf- oder Untergang;
Beispiel: Versatz (Offset):  02:00:00 = 2 Stunden nach dem Sonnenauf- oder Untergang
Zeit und Ort / Zeit Zeitauslöser, zu einer festen Zeit oder über einen Datums-/Zeit-Helfers.
Zeit und Ort / Zeitraster

Der Zeitmuster-Trigger löst aus, wenn die Stunde, Minute oder Sekunde der aktuellen Uhrzeit mit einem bestimmten Wert übereinstimmt. Dieser Auslöser ermöglicht auch das regelmässige Auslösen der Automatisierung, z.B. alle 5 Minuten: 

Zeit und Ort / Zone Löst aus, wenn eine Entität mit Standort eine Zone betritt oder verlässt. z.b. Device-Tracker Entitäten. Als Beispiel wenn ein WLAN-Gerät zu Hause ist oder Abwesend, siehe: ha-integrationen#device-tracker-openwrt.
Andere Auslöser / Dauerhafte Benachrichtigung Wenn eine dauerhafte Benachrichtigung hinzugefügt oder entfernt wird.
Andere Auslöser / Ereignis Wenn ein Ereignis empfangen wird
Andere Auslöser / Geolokalisierung Der Geolocation-Trigger wird ausgelöst, wenn eine Entität in einer Zone auftaucht oder aus ihr verschwindet. Als Beispiel, wenn ein Wetterereignis in der Zone in der sich Home Assistant befindet, eintritt. 
Andere Auslöser / Home Assistant Löst aus, wenn Home Assistant startet oder gestoppt wird.
Andere Auslöser / MQTT Löst aus, wenn eine MQTT-Nachricht empfangen wurde.
Andere Auslöser / Satz Wenn Assist einen Satz eines Sprachassistenten abgleicht
Andere Auslöser / Tag Löst aus, wenn ein Tag gescannt wird.
Andere Auslöser / Template

Löst aus, wenn eine Vorlage den Wert wahr enthält. Z.B. wenn eine Entität grösser wird als eine andere:
{{ states("sensor.entity1") | float  > states("sensor.entity2") | float }} 

siehe auch: Home Assistant Templates / Statistik und Sensoren

Andere Auslöser / Webhook

Löst aus, wenn eine Webhook-Nutzlast auf dem Endpunkt /api/webhook/{ID} empfangen wurde. Die ID wird dabei beim Erstellen des Auslösers generiert:

Webhooks unterstützen HTTP POST-, PUT- und HEAD-Anfragen. Beim Aufruf des Webhook-Endpunkts können Formulardaten, JSON-Daten oder URL Query Parameter an das Template übertragen werden: trigger.data, trigger.json oder trigger.query.

Bedingungen (optional: Und wenn)

Optional kann die gestartete Automatisierung auf bestimmte Bedingungen überprüft werden. 

Anstelle von Bedingungen für die gesamte Automatisierung können in den Aktionen die Bausteine "Wenn-Dann" oder "Auswählen" verwendet werden. 
Vorteil: In den Aktionen können die Bedingungen für jede Aktion einzeln festgelegt werden.
Bedingung Beschreibung
Gerät Überprüft, ob ein bestimmtes Gerät einen bestimmten Status oder einen bestimmten Wert besitzt.
Entität / Numerischer Zustand Überprüft den numerischen Wert einer Entität, ob dieser über oder unter einem bestimmten Wert ist.
Entität / Zustand Überprüft den Zustand einer Entität
Zeit und Ort / Sonne

Vor dem Sonnenauf- oder Untergang, oder nach dem Sonnenauf- oder Untergang.

Optional: Vor Versatz (Offset) oder Nach Versatz (Offset): Format: HH:MM:SS
Beispiel: Vor Versatz (Offset):  02:00:00 = 2 Stunden vor dem Sonnenauf- oder Untergang

Zeit und Ort / Zeit Prüft auf eine feste Zeit oder über einen Datums-/Zeit-Helfers.
Zeit und Ort / Zone Überprüft, ob sich eine Entität mit Standort in einer Zone befindet oder nicht…
Bausteine / Nicht Mit Nicht kann eine der hier gelisteten Bedingungen überprüft werden, ob die Bedingung nicht erfüllt ist.
Bausteine / Oder Verknüpfen mehrere Bedingungen, wenn eine der Bedingungen erfüllt ist.
Bausteine / Und Verknüpfen mehrere Bedingungen, wenn mehrere Bedingungen erfüllt sind.
Andere Bedingungen / Ausgelöst durch Überprüft, ob die Automatisierung von einem bestimmten Auslöser (bestimmte Auslöser-ID) gestartet wurde.
Andere Bedingungen / Template Vorlage Bedingung, siehe auch Home Assistant Templates / Statistik und Sensoren

Treffen die hinterlegten Bedingungen zu, werden die definierten Aktionen ausgeführt:

Dann mache

Eine Aktion kann auf einem bestimmten Gerät oder einem bestimmten Service (Dienst) ausgeführt werden. Um den Zugang zu den möglichen Diensten zu vereinfachen, beinhaltet der Wizard "AKTION HINZUFÜGEN" jede Menge Shortcuts zu der dahinterliegenden Aktion: "Dienst ausführen". Eine bestimmte Logik für die Automatisierung, so wie Bedingungen oder zusätzliche Abfragen oder Entscheidungen können über die vorhandenen Bausteine abgebildet werden.

Aktionen

Aktion Beschreibung
Gerät Eine Aktion auf einem bestimmten Gerät ausführen, z.B. ein bestimmtes Gerät ein- oder ausschalten.
Abdeckung Shortcut zu "Dienst ausführen", "Cover": Neigung stoppen, Neigung umschalten, Neigungsposition einstellen, Öffnen, Öffnungswinkel, Position festlegen, Schließen, Stopp, Umschalten
Benachrichtigung Shortcut zu "Dienst ausführen", "Notify". Hier kann als Beispiel eine Benachrichtigung auf ein Handy geschickt werden. Voraussetzung: installierte Home Assistant App.
Auswählen Shortcut zu "Dienst ausführen", "Auswählen".
Kamera Shortcut zu "Dienst ausführen", "Camera".
Licht Shortcut zu "Dienst ausführen", "Light"
Nummer Shortcut zu "Dienst ausführen", "Number"
Schalter Shortcut zu "Dienst ausführen", "Switch"
Staubsauger Shortcut zu "Dienst ausführen", "Vacuum"
Szene Eine bestimmte Szene aktivieren; Shortcut zu "Dienst ausführen", "Scene" 
Taste Shortcut zu "Dienst ausführen", "Button"
Helfer Shortcuts zu diversen anderen Diensten rund um bestehende Helfer, wie das Drücken einer Eingabetaste, das Auswählen einer Option eines Auswahlfeldes oder die Eingabe bestimmter Werte anderer Helfer.
Bausteine

Die Bausteine in den Aktionen, an dieser Stelle, oder über Dann mache: "+ BAUSTEIN HINZUFÜGEN" ausgewählt werden.

Andere Aktionen  Dienst ausführen, Ereignis, Alarmanlage, Automatisierung, Backup, Command Line, Dauerhafte Benachrichtigung, FFmpeg, Geräte-Tracker, Home Assistant Cloud, Home Assistant Core Integration, Home Assistant Frontend, Klima, Konversation, Logbuch, Logger, Luftbefeuchter, Lüfter, Modbus, MQTT, Person, Rasenmäher, Recorder, Retry, Schloss, Sirene, Skript, Solarman, Statistics, System Log, Text, Text-to-speech (TTS), Update, Ventil, Water Heater, Wetter, Zigbee Home Automation, Zone, 

Bausteine

Baustein Beschreibung
Auswählen Eine oder mehrere Aktionen anhand einer oder mehrerer Bedingungen ausführen.
(Die Aktion Auswählen kann dieselben Bedingungen verwenden, die auch in den globalen Bedingungen der Automatisierung vorhanden sind)
Bedingung

Die Bedingungen spiegeln im Wesentlichen die Bedingungen des Bereichs "Und wenn" wider und können alternativ an dieser Stelle eingesetzt werden. Mögliche Bedingungen: Ausgelöst durch, Geräte, nicht, Numerischer zustand, Oder, Sonne, Template, Und, Zeit, Zone, Zustand.

Parallel laufen Mehrere Aktionen gleichzeitig starten
Stopp Automatisierung stoppen
Variablen definieren Variablen definieren um diese zum Beispiel in einem Template zu verwenden.
Warten auf ein Template  Warten auf ein Template: bis dieses als wahr ausgewertet wird.
Warten auf den Ablauf der Zeit (Verzögerung) Wartezeit für die Automatisierung. Damit die folgenden Aktionen verzögert gestartet werden.
Ware auf einen Auslöser Auf einen Auslöser warten, inkl. Timeout.
Wenn-dann Wenn, dann, sonst (If-then, else). Wenn bestimmte Bedingungen erfüllt sind eine bestimmte Aktion starten, sonst eine bestimmte andere Aktion ausführen. (Die Aktion Wenn-dann kann dieselben Bedingungen verwenden, die auch in den globalen Bedingungen der Automatisierung vorhanden sind)
Wiederholen eine Aktion mehrfach wiederholen

YAML

Beim Erstellen einer Automatisierung im visuellen Editor wird im Hintergrund ein YAML-Text mit allen relevanten Informationen erstellt. Der YAML-Text kann in einem Text-Editor bearbeitet und angepasst werden. 

Abläufe

Neben dem Verlauf können die Abläufe von bereits ausgeführte Automatisierungen im Detail analysiert werden:

Die Anzahl der gespeicherten Abläufe kann über die Variable stored_traces in der YAML-Datei angepasst werden:

trace:
  stored_traces: 100

Mein Problem mit dem Konzept: Auslöser - Bedingung - Aktion

So einfach das Konzept der Home Assistant Automatisierungen auch ist, so unklar war für mich anfangs die Umsetzung in der Praxis. Mein anfängliches hadern mit den Automatisierungen kann an einem einfachen Beispiel beschrieben werden: mit einem Temperatursensor und einer Heizung. Fällt die Temperatur unter einen bestimmten Wert, soll die Heizung aktiviert und beim Erreichen einer bestimmten Zieltemperatur ausgeschaltet werden. Die Umsetzung benötigt für die beiden Temperaturwerte zwei Auslöser. Die zugehörigen Aktionen sind dann das Ein- und Ausschalten der Heizung. Damit die Auslöser die richtige Aktion starten, können zwei Automatisierungen erstellt werden: eine für das Einschalten, eine für das Ausschalten. 

Alternativ könnten beide Auslöser und die zugehörigen Aktionen in einer Automatisierung hinterlegt werden. Nachdem beide Auslöser die Automatisierung lediglich starten, fehlt den Aktionen jetzt die Information, welche der beiden Aktionen gestartet werden soll. Eine Möglichkeit ist die Verwendung einer zusätzlichen Wenn-Dann Abfragen. Das "Wenn" in der Wenn-Dann Abfrage wiederholte in meinen ersten Automatisierungen nicht selten die Schwellwerte des Auslösers. z.B. Wenn die Temperatur höher als ein bestimmter Wert ist, habe ich die Temperaturwerte im Auslöser und "Wenn" in den Aktionen verwendet. Spätestens beim Einsatz von Bedingungen, wie zum Beispiel unterschiedliche Temperaturwerte für Tag und Nacht, könnte eine Automatisierung schnell mal unübersichtlich werden. Nachdem die Bedingungen für die komplette Automatisierung verwendet werden, ist der Bereich Bedingungen hier wenig hilfreich. Aber auch mehrere Automatisierungen für z.B. das Einschalten am Tag, Einschalten in der Nacht und Aus- und Einschalten am Tag machen die Umsetzung nicht wirklich übersichtlicher. 

Mehrere Auslöser und Aktionen kombinieren? Mögliche Lösungsansätze im Überblick

  • 👎Für jede Automatisierung nur eine Aktion: 
    Vorteil: Für jede Aktion können eigene Bedingungen und Auslöser verwendet werden.
    Beispiel: Das Ein- und Ausschalten eines Geräts in getrennten Automatisierungen: Eine Automatisierung für das Einschalten und eine Automatisierung für das Ausschalten.
  • 👍 Auslöser mit IDs und ausgelöst in einer Wenn-Dann oder Auswählen - Aktion:
    Wird einem Auslöser eine ID hinzugefügt, kann dieser in den Aktionen mit einer Wenn-Dann oder Auswählen-Aktion verknüpft werden.
  • 👍 Regelmäßiges Starten der Automatisierung über einen Zeitraster 
    Wird eine Automatisierung regelmäßig gestartet, kann die Logik komplett in den Aktionen abgebildet werden: Bestimmte Prüfungen mit Wenn-Dann oder Auswählen ermöglichen ein direktes und übersichtliches Verknüpfen der jeweiligen Aktion.
  • Eine weitere Möglichkeit wäre der Einsatz von Templates in den Auslösern, wodurch die Logik bereits beim Auslösen umgesetzt werden kann: Ein Update dazu folgt.

Ein- und Ausschalten: eine Automatisierung oder zwei?

Alternativ zu zwei Automatisierungen für das Ein- und Ausschalten eines Gerätes kann in den Auslösern auch eine ID vergeben und in den Aktionen verwendet werden:

Mittels ID kann in den Aktionen reagiert werden, indem das Gerät in einer Wenn-Abfrage entsprechend Ein- oder ausgeschaltet wird:

Regelmäßig auslösen und nur die Aktionen verwenden?

Um bei einer komplexeren Automatisierung die Übersicht zu bewahren, könnte diese regelmäßig gestartet und die Logik innerhalb der Aktionen abgebildet werden. Für diesen Ansatz kann als Trigger ein "Zeitraster" verwendet werden, z. B. um die Automatisierung alle 5 Minuten zu starten:

Wird die Automatisierung regelmäßig gestartet, können sämtliche Bedingungen direkt mit den Aktionen verknüpft werden, indem mehrere "Wenn-dann" oder "Auswählen" -Aktionen verwendet werden:

Der Nachteil bei der Verwendung eines Zeitrasters ist sicherlich die mögliche Verzögerung, bis die Automatisierung das nächste Mal gestartet wird. Bei zeitkritischen Aktionen könnte an dieser Stelle ein zusätzlicher Auslöser hinzugefügt werden. Ein weiterer Nachteil des Zeitrasters ist, dass mit jedem Auslösen ein neuer Eintrag in den Abläufen gespeichert wird, auch wenn sich an den Aktionen nichts geändert hat. Dennoch überwiegen die Vorteile eines Zeitrasters: Ein wesentlicher Vorteil ist, dass die Aktionen nicht von bestimmten Triggern abhängig sind. Werden in den Aktionen zum Beispiel bestimmte Zustände gesetzt, wie das Einschalten eines Relais oder Schalters, kann die Automatisierung zu jederzeit gestartet werden, auch wenn diese eine bestimmte Statusänderung verpasst haben sollte. Ohne einer Abhängigkeit zu den Triggern können die verwendeten Bedingungen in den Wenn-Dann-Aktionen zudem einfacher getestet werden:

Alternative Ansätze oder Gedanken können jederzeit gerne in den Kommentaren diskutiert werden ...

Alternativen?

Auch wenn eine zusätzliche Automatisierungs-Plattform, wie Node-Red, bei komplexeren Abläufen sicherlich eine bessere Übersicht bietet, versuche ich dennoch an den Home Assistant Automatisierungen festzuhalten, zugegeben: hauptsächlich um den Overhead und die zusätzliche Abhängigkeit eines weiteren Services zu vermeiden. Mit ein Grund ist auch, dass Home Assistant über dessen Mobile-App eine bessere Möglichkeit bietet die Automatisierungen auch am Handy zu optimieren.

Praxis

Hier eine paar Praxisbeispiele, wie ich bestimmte Automatisierungen umgesetzt habe:

Fazit

Eine Smarthome-Lösung entfaltet ihr volles Potenzial erst durch die Möglichkeit bestimmte Geräte automatisch zu steuern. Durch das intelligente Steuern einzelner Geräte kann nicht nur der Komfort erhöht werden, es kann damit auch Strom gespart oder dieser sinnvoller eingesetzt werden. Die Automatisierungen in Home-Assistant wirkten auf mich zunächst aufgeräumt und verständlich. Der Einsatz in der Praxis hatte dann ein paar Tücken. Einmal an den Gedanken gewähnt, den Bereich Bedingungen links liegenzulassen und die Logik mit Wenn-Dann oder Auswählen-Aktionen umzusetzen, bin ich mit Home Assistant in der Lage auch aufwendigere Automatisierungen übersichtlich und nachhaltig zusammenzustellen, als Beispiel die Übersteuerung meiner Heizung.

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Aktualisiert: 20.01.2024 von Bernhard | Translation English |🔔 | Kommentare:0
Preview Balkonkraftwerk oder PV-Anlage Überschuss

Balkonkraftwerk oder PV-Anlage Überschuss

erstellt: 07.01.2024 von Bernhard

Nicht immer, aber doch immer wieder - liefert mein Balkonkraftwerk an sonnigen Tagen einen Stromüberschuss. Damit ich diesen nicht verschenke, starte ich die Poolpumpe bei einem Überschuss und stoppe diese wieder, wenn kein überschüssiger Strom mehr zur Verfügung steht. ... weiterlesen

Preview Home Assistant: Steckdosen steuert Rasemähroboter

Home Assistant: Steckdosen steuert Rasemähroboter

erstellt: 07.01.2024 von Bernhard

Wie in einem früheren Beitrag erwähnt, steuere ich meinen Rasenmähroboter, einen Husqvarna Automower, liebevoll Oswald genannt, über eine steuerbare Steckdose. Das Prinzip dahinter ist, dass der Mäher erst startet, wenn die Ladestation einen Strom von der Steckdose bekommt. Meine Beweggründe waren das Fehlen eines Regensensors und der Mangel an verfügbaren Steuermöglichkeiten, siehe: Steuern des Automowers mittels Steckdose - Regensensor? Einige Jahre... ... weiterlesen

Preview Heizung steuern: PV Überschuss > ESP32 & Home Assistant

Heizung steuern: PV Überschuss > ESP32 & Home Assistant

erstellt: 09.10.2023 von Bernhard

Nach ca. 20 Jahren konnte ich mit Home Assistant und einem ESP32 die Kontrolle über meine Wärmepumpe übernehmen. Um den erzeugten Strom meiner PV-Anlage tagsüber besser nutzen zu können, kam mir die Idee, die Heizung möglichst dann zu aktivieren, wenn die PV-Anlage gerade am meisten Strom liefert. Nachdem ich den Stromverbrauch und Temperaturwerte bereits in Home Assistant zur Verfügung hatte, fehlte nur noch die Möglichkeit aktiv in die Heizung einzugreifen. ... weiterlesen

Preview Heizung steuern - Warmwasser für den Folgetag aufbereiten

Heizung steuern - Warmwasser für den Folgetag aufbereiten

erstellt: 07.01.2024 von Bernhard

Neben der Steuerung meiner Wärmepumpe kann ich das Warmwasser alternativ über eine schaltbare Steckdose und einen Heizstab erhitzen. Nachdem meine Wärmepumpe das Wasser nur bis auf 50°C erwärmen kann, ermöglicht mir der Heizstab auch höhere Temperaturen zu erzeugen. Wird das Warmwasser an einem Tag mit ausreichend Sonnenschein um weitere 10°C erhitzt, ist am Folgetag keine Warmwasseraufbereitung notwendig. Sollte die Prognose für den erwa... ... weiterlesen

HA- Sensor unknown

HA- Sensor unknown

erstellt: 07.01.2024 von Bernhard

Sollte in der Automatisierung ein nummerischer Vergleich: größer, oder kleiner als - verwendet werden, bleibt die Automatisierung stehen, wenn der Sensor aus irgendeinem Grund den Status "Unknown" besitzt: ... weiterlesen


Home-Assistant Dashboard, Bedienung & Benachrichtigung | Home Assistant | Home-Assistant Display - Wetterstation und mehr

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details