Smart Home: Home Assistant
Nachdem sich mein geschätzter Kollege Noah eine Home Assistant Instanz aufgesetzt hat und mir die Möglichkeiten dieser präsentierte, war ich sofort Feuer und Flamme. Dies löste einen intensiven Deep-Dive in das Thema Smart Home mit Home Assistant aus.
Die Software
"Awaken your home"
Home Assistant, entwickelt von der Open Source Home Foundation, gesponsert von Nabu Casa und der Community ist eine mächtige zentrale Smart Home Software mit zahlreichen Features wie Automationen, Zonen, Add-ons oder Dashboards.
Die Software ist in der Lage, mit nahezu allen (smarten) Geräten im Heimnetzwerk zu kommunizieren, um diese zu verbinden. Dabei werden alle gesammelten Daten lokal gespeichert und bleiben somit in eurer Hand.
Die Philosophie der Open Source Home Foundation ist es, für fundamentelle Prinzipien wie Privatsphäre, Entscheidungsfreiheit und Nachhaltigkeit in puncto Smart Home und seiner Nutzer zu kämpfen. Dies tut sie mit der Unterstützung von Open-Source Projekten, offenen Schnittstellen und Kommunikationsstandards. Neben dem Projekt Home Assistant gibt es noch ESPHome.
Das Problem
Jetzt kann man sich fragen, wozu man eine spezielle Home Automation Software benötigt, wenn die Hersteller der Smart Home Geräte doch eine App zum Steuern bereitstellen.
Diese Frage klärt sich, wenn man einen genaueren Blick auf diese Apps wirft. Nicht selten kommt es vor, dass die Apps träge und nicht benutzerfreundlich gestaltet sind. Dies liegt oft an irgendwelchen Clouds, welche zwischen der App und dem Gerät die Schnittstellen bieten. Die Apps können dann selbstverständlich nur die Geräte des Herstellers selbst steuern.
Neben den zahlreichen Apps gibt es ebenfalls zahlreiche Protokolle, mit denen die Geräte kommunizieren. Diese sind natürlich von Hersteller zu Hersteller unterschiedlich.
Um sich nun nicht durch Massen an Apps klicken zu müssen, kommt Home Assistant ins Spiel.
Features
Unendliche Möglichkeiten
Automatische Geräte-Erkennung
Das für mich beste Feature, welches auch am meisten für Überraschungen sorgte, war die automatische Erkennung von Geräten in der nahen Umgebung. Dabei beschränkte es sich nicht nur auf die Geräte im Netzwerk, sondern beispielweise auch meine Zahnbürste, welche über Bluetooth mit dem Raspberry Pi kommunizieren kann.
Zusätzlich bleibt es nicht nur bei der einfachen Erkennung, sondern es werden direkt Eigenschaften des Geräts wie Akkustand, Status und vieles mehr angezeigt.
Durch die zahlreichen bereits existierenden, von der Community entwickelten "Komponenten" kann dank dieser nahezu jedes Gerät in Home Assistant eingebunden werden. Sollte jedoch mal ein exotisches Gerät dabei sein, welches Home Assistant unbekannt ist, kann man relativ einfach ein eigenes Modul erstellen.
Dies ermöglicht mit wenigen Klicks ein bequemes Einbinden von neuen Geräten, da in den meisten Fällen ein Button zum direkten Konfigurieren angezeigt wird.
Automatisierungen
Mithilfe von Automatisierungen lässt sich dynamisch auf Veränderungen oder Ereignisse reagieren. Jedes erkannte Gerät liefert dafür Events oder Attribute, die in Automationen ausgewertet werden können.
Trigger
Jede Automatisierung startet mit dem sogenannten "Trigger" (Auslöser). Sobald sich eines der Werte oder Zustände, auf dessen der Trigger lauscht, verändert wird diese mit der "Condition" (Bedingung) abgeglichen.
Beispiele: Luftfeuchtigkeit, Wetter oder Intervalle.
Condition
In den Bedingungen werden – wie der Name schon sagt – die Regeln für das Ausführen der "Action" (Aktion) bestimmt. Werden diese erfüllt, werden die Actions ausgeführt.
Beispiele: Sobald die Luftfeuchtigkeit höher als 70% ist, wenn es regnet oder jede Stunde.
Action
Hier passieren nun die gewünschten Aktionen.
Beispiele: Lüftungsempfehlung via Push-Nachricht, Dachfenster schließen oder Zeit ansagen.
Dabei ist jede Automatisierung bis in kleinste Detail anpassbar und schafft somit grenzenlose Möglichkeiten!
Automatisierungen lassen sich bequem über Eingabemasken oder direkt als YAML-Code anpassen.
Mobile Apps
Home Assistant gibt es im App- und Play-Store kostenlos zum Download. Durch die native App bekommt ihr auch die Möglichkeit, euer Gerät im Rahmen der Restriktionen des Betriebssystems zu steuern. Bei Android ist dies natürlich liberaler als bei iOS.
So lassen sich die Dashboards jederzeit aus der Hosentasche heraus aufrufen und bedienen.
Szenen
Ergänzend zu den Automatisierungen lassen sich auch Szenerien erstellen. Mithilfe dieser lassen sich alle gewünschten Smart Home Geräte auf einen Schlag und mit einem Klick steuern.
Vorlagen
Um das Rad nicht immer neu erfinden zu müssen, kann man Vorlagen für diverse Aktionen erstellen und dann bei Bedarf nutzen.
Somit kann man von der Community erstellte Vorlagen direkt ausprobieren und muss diese nicht mühselig abschreiben.
Die Anzahl der Vorlagen wächst täglich und gibt Inspiration für zukünftige Projekte und Möglichkeiten.
Skripte
Skripte ermöglichen einen chronologischen Ablauf mehrerer Aktionen wie unter anderem das Warten auf bestimmte Aktionen oder einer festgelegten Zeit, das Wiederholen einer Aktion oder das parallele Ausführen von Aktionen in einem Rutsch. Diese können aus dem Dashboard, aus Automationen oder über die Stimmenbefehle an beispielsweise Alexa ausgeführt werden.
Dashboards
Dashboards zeigen Daten und Kontrollelemente in eurem gewünschten Layout an. Diese sind ebenfalls bis ins Detail anpassbar und stehen sowohl auf dem PC als auch mobil zur Verfügung.
Dashboards bestehen aus sogenannten "Cards" (Karten). Diese können Daten darstellen, Smart Home Geräte steuern, Aktionen auslösen und vieles mehr. Zusätzlich kann jede Karte ein eigenes Design und Icon bekommen. Auch hier stellt die Community unzählige Kartentypen für verschiedene Anwendungszwecke zur Verfügung!
Hier die Möglichkeiten der Gestaltungen anzuschneiden, würde den Rahmen sprengen. Daher verweise ich für weitere Informationen auf die Home Assistant Webseite: https://www.home-assistant.io/dashboards
Add-ons
Add-ons ermöglichen die Erweiterung von Home-Assistant. Der Add-on Store bietet zahlreiche Möglichkeiten wie einen Zugriff auf die Kommandozeile, einem File-Editor, InfluxDB (dazu später mehr) und vieles mehr.
Eine kleine Übersicht findet ihr hier: https://www.xda-developers.com/best-add-ons-for-home-assistant/.
Tags
NFC-Tags und QR-Codes
NFC-Tags können einfach mit dem Smartphone (nur auf dem iPhone XR und neueren Geräten. Bei Android sollten alle gängigen Geräte funktionieren) gelesen und auch beschrieben werden. Mehr Informationen dazu hier: https://www.home-assistant.io/integrations/tag/#writing-your-first-tag
Ist der Tag erstellt, kann er durch die Automatisierungen mit den unzähligen Funktionen von Homeassistant verknüpft werden.
Dasselbe Ergebnis kann natürlich auch mit QR-Codes erzielt werden.
InfluxDB
InfluxDB ist eine für ermöglicht die externe Langzeit-Speicherung von zeitbezogenen Daten. Die Software ist skalierbar und performant und wird häufig für diesen Anwendungszweck bevorzugt.
Durch die SQL ähnliche Struktur kann man sich mit etwas Erfahrung schnell einfinden.
Home Assistant selbst loggt die Daten auf den Standardeinstellungen für 10 Tage. Danach werden diese gelöscht. Im Forum wird empfohlen, diese Einstellung auf höchstens 30 Tage zu stellen. Wer die Daten längerfristig speichern und auswerten möchte, kann nun InfluxDB einsetzen.
Zum Beispiel werden SD-Karten durch die zahlreichen Schreibvorgänge "abgenutzt" und somit unbrauchbar.
InfluxDB kann als Add-On direkt in Home Assistant installiert und integriert werden.
HACS
Neben dem offiziellen Add-on Markt gibt es noch den Home Assistant Community Store (HACS). Dieser bringt eine riesige Palette an Erweiterungen aller Art mit.
Ob es sich dabei um maßgeschneiderte Dashboard, Automatisierungslogiken oder die Integration von Nischen-Services handelt, HACS bietet ein breites Spektrum an Möglichkeiten, um das Smart Home zu erweitern.
Alles ist natürlich perfekt auf Home Assistant abgestimmt und lässt sich vollständig darüber verwalten!
HACS entfesselt das volle Potenzial von Home Assistant durch die Vielfalt der Community und deren Anwendungszwecke.
Fazit
Eine neue Ära des Smart Homes
Home Assistant hat für mich eine neue Ära des Smart Homes eingeleitet. Die Möglichkeiten sind durch die vielen Funktionen und Erweiterungen kaum ausschöpfbar. Durch die vielen Menschen, welche sich aktiv am Projekt beteiligen, wird die Software immer vielfältiger und besser. Momentan arbeiten auf GitHub fast 4.000 Entwickler am Projekt. Eine solche Zahl ist eine seltenheit bei Open Source Projekten.
Mit etwas lernbereitschaft sollte jeder im Stande sein, die Software nach seinen Wünschen zu konfigurieren. Und sollte es mal irgendwo stocken, hilft einem die Community im Forum gern weiter.
Mithilfe eines Tablets konnte ich eine zentrale Steuereinheit für unsere im Haus befindlichen Smart Home Geräte schaffen. Das verhindert ewiges Suchen in den Smart Home Apps der Hersteller.