Raspberry Pi | Server | Stephan Lamprecht | 5/2024 | 26. Juli 2024

Smart Home mit Home Assistant

Die Software Home Assistant verwaltet herstellerübergreifend Geräte im Smart Home und läuft problemlos auf dem Raspberry Pi. Der wird damit zu einer energie-effizienten Steuerungszentrale. Wir stellen die Kombination im Detail vor.

Die Software Home Assistant verwaltet herstellerübergreifend Geräte im Smart Home und läuft problemlos auf dem Raspberry Pi. Der wird damit zu einer energie-effizienten Steuerungszentrale. Wir stellen die Kombination im Detail vor.

Das Angebot an smarten Geräten für die eigenen vier Wände ist unüberschaubar. Die Vielfalt an Devices und Herstellern bringt schmerzliche Nachteile mit sich: Jedes Unternehmen bietet zur Steuerung seiner Komponenten eigene Apps und Zugänge in der Cloud an. Das ist unübersichtlich und komfortabel ist es erst recht nicht. Genau hier kommt Home Assistant ins Spiel. Das Programm steuert unter einer Oberfläche die Geräte verschiedener Hersteller und wird somit zu einer echten Zentrale für das Smart Home. Da es in einer speziellen Distribution auch auf dem Rasp­berry läuft, benötigt die zentrale Verwaltung wenig Strom und kann rund um die Uhr im Betrieb bleiben.

Home Assistant auf Raspberry Pi

Der Home Assistant läuft nicht nur auf dem Raspberry Pi. Auf anderen Plattformen kann die Einrichtung allerdings komplizierter werden, da hier vorzugsweise ein Docker-Container zum Einsatz kommt, der vorher mit „Compose“ zu konfigurieren ist. Beim Raspberry ist die Einrichtung inzwischen sehr einfach. Dazu besorgen Sie sich von der Projektseite des Raspberry (www.raspberrypi.com/software/) die aktuelle Version des Raspberry Pi Imager. Starten Sie das Programm und wählen dort das Rasp­berry-Modell, das Sie einsetzen wollen. Klicken Sie auf „Betriebssystem“. Unter „Other specific-purpose OS –› Home assistants“ finden Sie „Home Assistant“. Nachdem Sie die SD-Karte gewählt haben, starten Sie die Übertragung.

Legen Sie die SD-Karte in den Raspberry ein. Verbinden Sie die Platine via Ethernet-Kabel mit dem Router, der auch die Kommunikation zwischen den Komponenten des Smart Homes herstellt, und starten Sie den kleinen Rechner. Da Home Assistant über jeden Browser im Netzwerk bedient werden kann, brauchen Sie keine weitere Hardware am Raspberry. Der erste Bootvorgang dauert etwas. Das Hochfahren ist abgeschlossen, wenn der Rechner in der Konfigurationsoberfläche des Routers mit seiner IP-Adresse auftaucht.

Ersteinrichtung des Systems

Auf das System kommen Sie mit jedem Browser im gleichen Netzwerk mit der Adresse „http://homeassistant.local:8123“. Kann diese Seite nicht gefunden werden, könnten Restriktionen in Ihrem Router der Grund sein. Versuchen Sie, alternativ den Raspberry über seine IP-Adresse zu erreichen. Der Aufruf von „http://[IP-Adresse]: 8123“ sollte Sie dann zur entsprechenden Seite führen.

Klicken Sie auf „Mein Smart Home erstellen“. Im nachfolgenden Dialog legen Sie ein erstes Benutzerkonto an. Nach Angabe des Namens und des Benutzernamens vergeben Sie noch ein Passwort. Danach suchen Sie mittels Open Street Map Ihre eigene Adresse. Die Angabe des Standorts benötigt der Home Assistant, um aktuelle Wetterinformationen sowie die Zeiten für Auf- und Untergang der Sonne zu ermitteln. Diese Daten kann die Software für die Automatisierung von Schaltungen heranziehen. Nachfolgend schalten Sie optional die Telemetrie an. Diese Daten helfen den Entwicklern, die Software besser an das Nutzungsverhalten anzupassen.

Während des ersten Startvorgangs hat Home Assistant bereits das Netzwerk nach kompatiblen Geräten durchsucht und präsentiert Ihnen zum Abschluss die erkannten Komponenten Ihres Smart Homes. Nach der Bestätigung über den Schalter „Fertig“ gelangen Sie zur Startseite von Home Assistant.

Bei der Einrichtung des Systems fordert Home Assistant Sie auf, den aktuellen Standort zu hinterlegen – wichtig für Wetterinformationen und Zeitschaltungen.

Vorsicht: Begriffsverwirrung!

Der Home Assistant zeigt vermutlich an, dass es ihm gelungen ist, erste Elemente im Smart Home zu identifizieren. Bevor Sie sich vorschnell daran machen, diese zu konfigurieren, ist es sinnvoll, sich mit Vokabular und Terminologie des Programms zu befassen. Mit diesem Grundverständnis wird es einfacher, die Konfiguration zu verstehen. Der Klick auf „Einstellungen“ in der linken Navigation bringt Sie zu einer Übersicht, die sich als Ausgangspunkt eignet. Unter „Geräte & Dienste“ wirft Home Assistant regelrecht mit Begriffen um sich: Integrationen, Geräte, Entitäten und Helfer. Was ist nun was?

Unter „Integrationen“ versteht das Programm Plattformen, über die die Produkte eines Herstellers in Home Assistant eingebunden werden können. Ein Beispiel für eine solche Integration sind etwa die Smart-Home-Produkte von Ikea oder das Hue-System. Integrationen können aber auch Protokolle sein, wie das Internet Printing Protocol, um darüber Drucker in das Smart Home einzubinden.

Während das System eingerichtet wird, forscht das Programm im Hintergrund nach kompatiblen „Integrationen“ – also Smart-Home-Geräten.

Der Begriff „Gerät“ ist unmissverständlich: Die Entwickler verstehen darunter das jeweils vorliegende physische Bauelement, also die einzelne smarte Steckdose oder das Leuchtmittel. Etwas verwirrend kann es sein, dass ein einziges physisches Gerät gleich mehrfach als Gerät im Home Assistant auftaucht. Beispiel Synology: Das NAS erscheint im Home Assistant als das eigentliche Gerät selbst, zudem aber mit jeder enthaltenen Festplatte als einzelnes Gerät.

Der sperrige, aber in der Informatik gängige Begriff „Entität“ meint die Eigenschaften eines Geräts. Das können Funktionen oder Informationen sein. Das kann bei verschiedenen Geräten verwirren. Beim Einbinden eines smarten Geschirrspülers können mehr als 20 Entitäten auftauchen. Dazu gehören dann etwa die grundsätzlichen Schaltzustände (ein – aus), aber auch die verschiedenen Reinigungsprogramme. Selbst eine simple Steckdose kann mehrere Entitäten besitzen, wenn sie etwa auch gleichzeitig die Temperatur im Raum misst. Die Entitäten werden gezeigt, sobald man auf ein Gerät klickt. Entitäten werden in erster Linie bei der Automatisierung von Vorgängen benötigt. Sie wollen etwa einen smarten Ventilator erst beim Erreichen einer bestimmten Temperatur einschalten, das Gerät besitzt aber keinen eigenen Sensor. Dann kann ein Helfer erzeugt werden, der das Gerät schaltet.

Bei Entitäten handelt es sich um Eigenschaften von Smart-Home-Geräten. Ein einziges Gerät kann eine ganze Reihe von Entitäten anbieten.

Der nächste Block der Einstellungen scheint vorderhand alles das Gleiche zu meinen. Es gibt hier aber feine Unterschiede. Eine Automatisierung besitzt einen Auslöser (Trigger), Bedingungen, die zutreffen müssen, und schließlich die ausgeführte Aktion, wenn die Bedingungen zutreffen. Eine Szene ist dagegen die Ansammlung einer Reihe von Eigenschaften verschiedener Geräte oder Entitäten. Ein Beispiel für eine Szene könnte etwa die gleiche Helligkeitsstufe aller Leuchtmittel in der Wohnung sein. Solche Szenen können dann in einer Automatisierung genutzt werden.

Schließlich noch ein Wort zu Bereichen und Zonen. Der Unterschied ist für Einsteiger ebenfalls verwirrend. Ein Bereich kann ein Zimmer, Balkon, Terrasse oder Garten sein. Geräte lassen sich einem Bereich zuweisen. Dabei wandern praktischerweise alle Entitäten mit. Eine Zone dagegen wird nur benötigt, um die Ab- oder Anwesenheit von Bewohnern zu ermitteln.

Integrationen und Geräte konfigurieren

Über „Einstellungen –› Geräte & Dienste“ gelangen Sie nach der Installation zur Seite mit den während der Installation gefundenen Geräte und Integrationen. Um diese nutzen zu können, müssen Sie diese zunächst konfigurieren. Dazu klicken Sie auf den gleichnamigen Schalter eines Eintrags. Die nächsten Schritte hängen von der Art der Integration ab. Die smarten Thermostate des Herstellers Tado bringen eine eigene Bridge mit. Um darauf zugreifen zu können, muss die Cloud des Herstellers über das Benutzerkonto aufgerufen werden. Erst dann werden die einzelnen Elemente dargestellt. Diese können dann auch gleich einem Bereich zugewiesen werden. Ist die Konfiguration abgeschlossen, wird der Eintrag in den unteren Bereich der Seite verschoben. Die gefundenen Geräte sind dann im Register „Geräte“ zu finden. Ist die Integration erfolgreich abgeschlossen, finden Sie auch alle Entitäten dazu im entsprechenden Register. Im Falle der Thermostate sind dies unter anderem auch die aktuelle Raumtemperatur und Luftfeuchtigkeit.

Integrationen und Add-ons hinzufügen: Es ist möglich, dass bei der ersten Einrichtung nicht alle Komponenten Ihres Smart Homes entdeckt werden. Das kann daran liegen, dass das Gerät möglicherweise zur Kopplung erst aktiviert werden muss. Besuchen Sie über „Einstellungen –› Geräte & Dienste“ die Seite der Integrationen. Klicken Sie dort auf „Integration hinzufügen“. Dann suchen Sie in der langen Liste den Herstellernamen Ihres Geräts. Werden Sie dort fündig, dürfte die Einbindung funktionieren. Manchmal ist auch ein Umweg über die Herstellercloud nötig. Auf der Projektseite von Home Assistant und im Internet finden Sie oft den entscheidenden Trick zur Einrichtung. Sofern keine weiteren Eingaben bei der Auswahl eines Herstellers respektive Geräts nötig sind, hilft es, das Gerät während der Einrichtung einzuschalten.

Bei der Konfiguration von Geräten (hier Thermostate) haben Sie gleich die Option, diese bestimmten „Bereichen“, also Standorten in Haus oder Wohnung zuzuweisen.

Eine Automatisierung anlegen

Sind alle Geräte und Komponenten des Smart Homes im Home Assistant integriert, sollten diese miteinander verknüpft werden. Über „Einstellungen –› Automatisierungen & Szenen“ erreichen Sie den entsprechenden Bereich. Möglicherweise müssen Sie aber das Rad nicht neu erfinden. In den Foren der Community (https://community.home-assistant.io/c/blueprints-exchange/53) werden viele sogenannte „Blaupausen“ getauscht. Die lassen sich dann über das entsprechende Register importieren und als Ausgangsbasis für eine Automatisierung nutzen. Wer eine gänzlich eigene Automatisierung anlegen will, wechselt in das Register „Automatisierungen“ und klickt auf den Schalter im Bildschirmvordergrund. Folgen Sie den Anweisungen auf dem Bildschirm.

Zunächst definieren Sie den Auslöser. Das kann die Änderung an einem Gerät oder einer Entität sein. Beachten Sie aber auch den Schalter am unteren Rand, um weitere Auslöser zu entdecken, etwa ein geolokales Ereignis. In diesem Beispiel soll auf die Veränderung der Luftfeuchtigkeit reagiert werden, die von einem Sensor bereitgestellt wird. Entscheiden Sie sich also für „Entität“ und danach für „Numerischer Zustand“. Jetzt suchen Sie die Entität aus.

Tipp: Kopieren Sie den Namen einfach aus der Übersicht aller Entitäten heraus. Dann definieren Sie die gewünschten Werte.

Sie könnten jetzt noch weitere Entitäten auswählen. In unserem Fall soll aber das Erreichen einer zu hohen Luftfeuchte genügen. Optional legen Sie dazu eine weitere Bedingung an. Der Auslöser wird dann nur dann als Trigger gewertet, wenn auch die zweite Bedingung erfüllt ist. Praktische Beispiele sind etwa die Anwesenheit der Bewohner oder das Erreichen einer bestimmten Uhrzeit. Schließlich definieren Sie die Aktion. In diesem Fall soll das Klimagerät aktiviert werden. Schließlich wählen Sie noch das entsprechende Gerät aus und speichern. Dabei vergeben Sie eine Bezeichnung.

Die Zusammenstellung mit dem grafischen Editor ist nicht schwierig. Das System kann nicht beschädigt werden, insofern sind der Fantasie keine Grenzen gesetzt. Im Hintergrund nutzt Home Assistant für Automatisierungen eine Reihe von Anweisungen in Form von YAML-Dateien. Den Quelltext können Sie sich ansehen, wenn Sie in der Übersicht der Aktionen neben einem Eintrag auf die drei Punkte klicken. Im nachfolgenden Menü wählen Sie dann „Als YAML bearbeiten“. Wenn Sie sich in die Funktionen einarbeiten wollen, konsultieren Sie das Material unter https://www.home-assistant.io/docs/configuration/yaml. Über das gleiche Menü erreichen Sie auch die Funktion „Traces“. Wie der Name andeutet, haben Sie damit die Option, den Ablauf einer Automatisierung zu verfolgen. So kann herausgefunden werden, warum etwas nicht funktioniert.

Automatisierungen bestehen aus einem Trigger, Bedingungen und einer Aktion, die ausgeführt wird. Der Editor hilft, um Automatisierungen zusammenzubauen.

Home Assistant auf Smartphones

Mit den offiziellen Apps, die es in den Stores von Apple und Google gibt, können Sie das Smart Home auch via Smartphone steuern. Die Einrichtung ist einfach. Sorgen Sie lediglich dafür, dass sich das Smartphone im gleichen Netzwerk anmeldet, in dem sich auch der Home Assistant befindet. Sie müssen dann nur den Server auswählen und melden sich mit Ihrem Benutzerkonto an. Die App erfragt beim Start einige Datenfreigaben von Ihnen. Wenn mit dem Smartphone die Abwesenheit kontrolliert werden soll, müssen Sie also die Freigabe des Standorts aktivieren. Unter Android sollten Sie zugleich das Abschalten der App zum Stromsparen deaktivieren. Einmal angemeldet, finden Sie eine mobile Darstellung Ihres Dashboards und können die Geräte wie gewohnt steuern.

Zu Home Assistant gehört eine offizielle App, die in den Stores von Google und Apple verfügbar ist. Damit wird die Steuerung mit dem Smartphone möglich.

Zusätzliche Info: Home-Connect-Geschirrspüler im Smart home

„Home Connect“ nennt sich die Plattform des Haushaltsgeräteherstellers BSH (Bosch, Siemens). Auch deren Einbindung ist möglich.

Sobald Sie aber in der Liste der Integrationen ein Gerät einrichten wollen, werden Sie nach einer kryptischen URL gefragt. Des Rätsels Lösung: Sie müssen eine „App“ bei BSH einrichten und deren URL nutzen.
Sie gehen so vor: Zunächst besuchen Sie https://developer.home-connect.com und melden sich für ein Entwicklerkonto an. Geben Sie unter „Standard-Home-Connect-Benutzerkonto für Tests“ die E-Mail-Adresse ein, die Sie auch für das Log-in in der Home-Connect-App verwenden. Unter „Anwendungen“ registrieren Sie dann eine neue App. Unter „Anwendungs-ID“ vergeben Sie einen beliebigen Namen wie „Home Assistant“ (oder einen anderen sinnvollen Namen). Unter „OAuth-Flow“ entscheiden Sie sich für „Authorization Code Grant Flow“. Die Redirect-URL sollte „https://my.home-assistant.io/redirect/oauth“ sein. Bei der Einrichtung werden Sie eine „Client-ID“ und ein „Client-Secret“ erstellen. Beide Werte brauchen Sie im Anschluss.
Haben Sie Ihre App angelegt, loggen Sie sich aus dem Developer-Portal aus und warten mindestens 15 Minuten. Danach rufen Sie in Ihrem Browser https://my.home-assistant.io/redirect/config_flow_start?domain=home_connect auf. Öffnen Sie den Link und der Assistent zur Einrichtung startet. Vergessen Sie nicht, vorher das Gerät einzuschalten.

Gelegentlich muss in Integrationen mehr Arbeit investiert werden: Im Falle von Home Connect klappt die Einrichtung nur mit einer eigenen App.