Home Assistant

Home Assistant - Die perfekte Lösung für eine Heimautomation -

Das Programm Home-Assistant ist ein Open-Source-Projekt zur Heimautomation. Eine erste Einführung in den Home-Assistenten findet sich in dem verlinkten Blog-Beitrag. In meinem Artikel möchte ich einige Dinge zur technischen Realisierung, den Hardwarevoraussetzungen und dem praktischen Einsatz der Software beschreiben.

Einarbeitung und Support für den Home Assistant

Da der Home Assistant von einer internationalen Open-Source-Gemeinde entwickelt, gepflegt und supportet wird, ist die Dokumentation im Wesentlichen auf Englisch. Es muss daher auch ganz klar gesagt werden, dass für die Installation, die Konfiguration und die Wartung eines so komplexen Softwaresystems wie dem „Home Assistant“ ein sehr umfassendes IT-Wissen erforderlich ist! 

Wegen der überragenden Fähigkeiten des Home Assistant haben sich inzwischen einige deutsche Benutzergruppen zum HA gebildet, die das System im Internet hervorragend supporten und diverse YouTube-Videos zum Thema HA veröffentlicht haben.

Mein Ziel ist es, auf dieser Homepage noch viele Beispiele, Tipps und Tricks im Umgang mit dem Home Assistant zu veröffentlichen.

Hardwarevoraussetzungen

Home Assistant kommt in der ersten Linie auf Raspberry Mikrocontroller zum Einsatz. Weiter ist es möglich, das System auf einem Mini-PC oder einer Synology DiskStation zu installieren. Man kann die Hardware auch komplett mit vorkonfigurierter Software erwerben.

Da der Home Assistant 365 Tage/24 Stunden im Einsatz ist, kommt es u.a. auf den Stromverbrauch und eine hohe Zuverlässigkeit des Systems an. Auf der Webseite von Alkly.de finden sich einige weitere Informationen zu dem Thema.

Meine Wahl fiel im ersten Schritt auf einen Mini-PC, in einem weiteren Schritt ist die Erweiterung auf ein hochverfügbares Raspberry 5 basierendes System geplant.

Zur Software

Wie erwähnt, ist der Home Assistant eine Open-Source-Software. Diese Software wurde in der Programmiersprache Python entwickelt. Home Assistant zeichnet sich durch eine Vielzahl von Integrationen aus. Eine Stärke ist dabei die grafische Oberfläche zur Visualisierung und zur Programmierung der Automationen. Das System verwendet zusätzliche Skripte, um Konfigurationen einfach zu realisieren; die dazu notwendige Konfigurationsdatei nennt sich configuration.yamal. Neben den standardmäßig vorhandenen Integrationen gibt es auch eine zusätzliche Repository, welche von einer Community verwaltet wird: Dem HACS-Repository: Home Assistant Community Store (HACS).

Die zur Installation notwendigen Images des Home Assistant werden im Internet bereitgestellt, diese können dann relativ einfach auf einen USB-Stick übertragen werden, um sie dann auf das Zielsystem zu installieren.

Geräte, Entitäten, Integrationen, Helfer, Automationen und Dashboards

Für den Nutzer einer Heimautomation wie dem Home Assistant (HA) gibt es eine Menge von Begriffen, welche ich hier kurz erläutern möchte:

  • Geräte. Das sind alle physikalisch vorhandenen Geräte, welche von der Home Assistant Software im Heimnetz identifiziert werden können. Geräte, welche nicht über WLAN oder Ethernet verfügen, benutzen einen anderen Funkstandard wie z.B. die Geräte, welche die Zigbee Heim Automation nutzen. Dafür benötigt man einen passenden Hub, welcher als Zigbee USB-Dongle in das HA Gerät gesteckt wird.
  • Dienste sind Funktionen, welche von einer Softwareanwendung für den HA bereitgestellt werden.
  • Entitäten sind Schaltfunktionen oder Statusinformationen, welche das Gerät für den HA bereitgestellt wird und damit dem HA Zugriff auf das Gerät ermöglicht.
  • Integrationen sind die Steuerungsfunktionen, mit denen der HA auf die jeweiligen Entitäten zugreift.
  • Helfer sind Variable, welche HA für die Automation bereitstellt, wie z.B. Zahlenwerte, Kalender, Uhrzeiten u.v.a, welche für die HA Automation benötigt werden.
  • Automationen sind die jeweiligen Programmabläufe im HA, welche die darin festgelegten Aktionen mit den Geräten bzw. Entitäten realisieren.
  • Bereiche und Szenen sind die Zusammenfassung von den oben genannten Funktionen eines HA in einem jeweiligen Raum oder Bereich (Küche, Bad, Schlafzimmer etc.)
  • Dashboards sind die übersichtliche grafische Zusammenfassung der Integrationen in eine entsprechende Oberfläche wie z.B. auf dem Smartphone oder Tablet.

Die ersten Schritte mit dem Home Assistant

Nach dem Start des Systems werden bereits diverse, im Netzwerk vorhandene, Geräte angezeigt, für welche Integrationen verfügbar sind. Jedes Gerät zeigt dabei ein oder mehrere Identitäten, die vom Home Assistant ausgewertet oder gar mit neuen Werten überschrieben werden können.

Nebenstehendes Bild zeigt einen Ausschnitt der grafischen Oberfläche im HA, welcher einen Teil der jeweiligen Geräte zeigt,  welche im HA zur Verfügung stehen. Zu jedem Gerät werden auch die jeweiligen Entitäten und Dienste angezeigt.

Eine Vielzahl dieser Komponenten wurde bereits bei der Installation erkannt. Einige weitere wurden später manuell aus dem HACS-Repository hinzugefügt.

Dieses Bild zeigt das Energie-Dashboard im HA, welches bereits im HA integriert ist. Der Anwender muss hier lediglich seine Geräte für die Solarproduktion und die jeweiligen Stromzähler auswählen, um dieses Dashboard zu nutzen.

Mit diesen einfachen Schritten kann man bereits nach wenigen Stunden mit dem HA vorzeigbare Resultate erzielen.

Eine erste Automation

In diesem Fall geht es um eine Automation einer automatischen Ladesteuerung für ein Elektrofahrzeug. Hier steuert HA mithilfe der Herstellerapplikation den Ladevorgang eines Renault ZOE Elektrofahrzeug.  Dabei soll die jeweilige Aktion per Nachricht an das Smartphone gemeldet werden. Ziel ist es, die Ladung des Elektrofahrzeugs bei 80 % zu beenden. Den Zweck dieser Begrenzung habe ich bei meinem Artikel über Elektrofahrzeuge erläutert. Den Automatismus einer 80 % Ladebegrenzung beherrscht die Renault-Ladesteuerung nicht und soll daher mit dem HA nachgebildet werden.

 

Nebenstehend einige der insgesamt 30 Entitäten, welche die Renault-Applikation dem HA zur Automation bereitstellt. 

Neben diesen Entitäten verwendet meine Automation 3 Helfer: 

  • Ladegrenze
  • Restreichweite
  • Schalter über Ladegrenze. 

Die gewünschte Ladegrenze ist dabei vom Benutzer einstellbar. Die Restreichweite ist ebenfalls eine einstellbare Schwelle, bei deren Unterschreitung eine Nachricht auf ein Smartphone gesendet werden soll.

Wenn die Ladegrenze (hier 76 %) überschritten wird, wird der Lademodus in der Renault-Applikation von sofortigem Laden auf den Ladezeitplan umgeschaltet, was zu einem Ladestopp führt.

Somit kann diese Automation die fehlende Funktion in der Renault-Applikation nachbilden.

Der nächste Schritt ist die übersichtliche Darstellung dieser Automation auf einem Smartphone.

 

Auf dem Bild links ist jetzt das Dashboard zu sehen, welches für die Darstellung auf einem iPhone optimiert wurde.

Es sind hier nur die relevanten Daten für einen Endbenutzer, ohne eine Möglichkeit, Werte der Ladesteuerung zu verändern.

Somit sind alle relevanten Daten zum Fahrzeug auf einen Blick übersichtlich dargestellt.

Im nebenstehenden Fall wurde das Fahrzeug ausnahmsweise auf 100 % geladen.

Nebenstehend der Ablaufplan einer Automation. Diese startet immer mit einem Auslöser, in diesem Fall, wenn die Ladegrenze überschritten wurde.

Es folgt eine Bedingung, die zusätzlich erfüllt sein muss: Der Helfer „Über Ladegrenze“ darf zuvor nicht gesetzt sein.

Dann werden vier Aktionen durchgeführt:

  • Benachrichtigung an das Smartphone
  • Setzten des Helfers für  Erreichung des Grenzwertes auf „Ein“
  • Änderung des Lademodus des Fahrzeuges
  • Stoppen des Ladevorgangs

Obiges Beispiel zeigt, wie einfach man ohne sehr tiefgreifende Programmierkenntnisse eine Automation im HA erstellen kann.

Weitere Beispiele folgen in losen Abständen, wie z.B. mein Projekt zum automatisierten PV-Überschussladen.