In meinem letzten Blog Eintrag hatte ich erzählt wie ich mir einen neuen Raspberry Pi zugelegt hatte und heute kommt nach einigen Tests nun endlich der Erste richtige Verwendungszweck, den ich mir überlegt hatte. Über das Thema Heimautomatisierung hatte bestimmt schon jeder mal mit rosaroter Brille nachgedacht und sich die tollsten Möglichkeiten überlegt und einige proprietär Heimautomatisierung Software kommt diesem Wunsch oft sehr nahe (z. B. Google Home Assistant). Ich hatte jedoch etwas anderes im Kopf: Open-Source und ohne externe Cloud sollte mein Heim laufen. Schnell wird man im Netz fündig was es für Alternativen gibt und stolpert über viele Begriffe und ich habe einige getestet und wollte diese grob präsentieren.

Home Assistant (ehemals hass.io)

Vorneweg: Letztlich habe ich mich für Home Assistant entschieden um die meiste Arbeit zu erledigen und da fängt es schon an, man kann die verschiedene Heimautomatisierung Software auch im Tandem nutzen und so das Beste aus allen Welten zu verbinden. Der größte Vorteil an Home Assistant ist wie groß die Community ist, die sich darum gebildet hat und derzeit 1652 “Integrations” für alles Mögliche anbietet. Außergewöhnlich ist auch wie konsistent und flüssig die Oberfläche inzwischen ist und Beispielweise sogar auch automatisch erkannt hat das mein Betriebssystem ein dunkles Thema bevorzugt.

Dashboard von Home Assistant
Dashboard von Home Assistant

Die Installation verlief jedoch etwas problematisch wenn man den Weg über Docker geht, anstatt die fertigen Raspberry Pi Images zu nehmen, dafür muss man keine speziellen Rechte für den Konfigurations Ordner einstellen, wenn man diesen als Volume aus dem Container raus führt. Direkt nach der Installation erkannte Home Assistant sofort drei “smarte” Geräte: Mein LG TV, AVM Dect 301 Heizthermostat und mein Laserdrucker Leider erkannte Home Assistant das TV Gerät über Homekit anstatt der nativen LG webOS Integration und den Drucker über das generische Netzwerkdruckerinterface statt der Brother Integration, in beiden Fällen bekam ich mehr Funktionalität durch den Wechsel auf die “native” Integration.

Mithilfe der Home Assistant App kann man den Akkustand oder Weckzeiten loggen
Mithilfe der Home Assistant App kann man den Akkustand oder Weckzeiten loggen

Durch einige Einträge in der Konfigurations Datei im YAML Format konnte ich einfach und schnell die Funktionalität schnell erweitern und hatte innerhalb einer Stunde bereits automatische Präsenzerkennung von Personen mithilfe ihres Handys im WLAN Netz, Logging der Downloadgeschwindigkeit im stündlichen Intervall oder Notifications auf meinen Matrix Server für Handy Benachrichtigungen (Discord, Telegram, Mastodon, Rocket.Chat oder Signal sind auch möglich). Wenn Home Assistant neue Geräte erkennt, dann bekommt man im Dashboard eine Meldung unter “Notifications” um diese gleich einrichten zu können.

Es gibt verschiedene Oberflächen zur Auswahl aber das automatische Dashboard macht bereits einen sehr guten Eindruck aus dem Stand heraus. Außerdem bietet die Home Assistant App an einige Zustände, wie zum Beispiel Akkustand oder der nächste Wecker, des Handys an Home Assistant zu schicken.

OpenHAB

OpenHAB ist das Ur-Gestein der Heimautomatisierung Lösungen und entstand 3 Jahre vor Home Assistant und das merkt man leider auch. In der neuesten Version 2 gab es eine neue Oberfläche namens “Paper UI” welche das alte “Basic UI” verbessern soll, zusätzlich gibt es mit “OpenHUB” noch eine Oberfläche speziell für Tablets. Nach der Installation wird man gefragt welche Oberfläche man bevorzugt und gibt Empfehlungen für Anfänger.

Paper UI von OpenHAB
Paper UI von OpenHAB

OpenHAB listet neue Geräte in der “Inbox” auf und erkannte aus dem Stand heraus meinen LG TV und das AVM Dect 301 Heizthermostat. Mit “nur” 394 Add-ons bietet OpenHAB auch eine große Auswahl und deckt die wichtigsten Dinge ab.

Basic UI von OpenHAB im örtlichen Hackspace
Basic UI von OpenHAB im örtlichen Hackspace

Die Installation hat sich dagegen um einiges einfacher gestaltet, auch wenn man die Konfigurations Ordner Rechte anpassen muss, außerdem gibt es viele Anleitungen, um OpenHAB auf so ziemlich allem zu installieren inklusive fertiger Raspberry Pi Images. Leider sind die add-ons manchmal etwas träge und das ganze Konzept hat eher Bastelcharme. Ein Bonus ist jedoch das die OpenHAB Apps im F-Droid Store erhältlich sind, bieten jedoch keine Funktion zum teilen von z.B. Akkustand oder dem nächsten Wecker mit der Heimautomatisierung Software wie bei Home Assistant.

Node-RED

Node-RED fällt ein wenig aus dem Rahmen den eigentlich ist Node-RED nur eine “Rule Engine” und steuert Ereignisse/Regeln, dafür umso besser als jeder andere Konkurrent. Solche Ereignisse werden in sogenannten “Flows” gesteuert die man sich relativ einfach zurecht klicken kann.

Der Flow-Editor ist die Startseite von Node-RED
Der Flow-Editor ist die Startseite von Node-RED

Vor allem für Benutzer mit weniger programmier- technischen Hintergrund sicherlich sehr nützlich über viele Add-ons kann man viele Funktionen nachrüsten wie z. B. Integration zur Fritz!Box. Jedoch muss man dies alles händisch konfigurieren und dann als Flows einrichten, eine automatische Konfiguration oder nützliche Beispiele wie bei Home Assistant oder OpenHAB fehlen komplett.

Das UI Dashboard von Node-RED ist etwas umständlich einzurichten
Das UI Dashboard von Node-RED ist etwas umständlich einzurichten

Seit kurzem gibt es auch die Möglichkeit ein UI Dashboard einzurichten, das muss man jedoch etwas umständlich per Flows manuell einrichten, was etwas eigensinnig am Anfang ist. Allgemein ist das UI Framework eher Beiwerk und nicht das Hauptaugenmerk bei Node-RED, weswegen Node-RED gerne als Ergänzung zu Home Assistant oder OpenHAB genutzt wird.

Ergänzung: MQTT (Broker)

Wer seine Heimautomatisierung selber in die Hand nimmt, wird schnell über MQtt stolpern bzw. den open source Broker Mosquitto. Über das MQTT Protokoll können “Sender” sowie “Empfänger” (typischerweise IoT Geräte) unkompliziert Daten an einen MQTT Broker (zentraler Server) austauschen. Die Daten landen dabei in frei wählbaren “Topics” die an ein REST-API erinnern wie z. B. /drinnen/schlafzimmer/sensor/temperatur. Ein Empfänger kann jetzt Topics abonnieren beispielweise über /drinnen/schlafzimmer/sensor/* und wird sofort benachrichtigt, wenn z. B. neue Daten über .../temperatur oder .../luftfeuchtigkeit im übergeordeneten Topic Schlafzimmer Sensoren eintreffen.

Leider ist die beliebteste MQTT Broker Mosquitto jedoch standardmäßig extrem lax konfiguriert und man muss erst sehr umständlich eine Rechteverwaltung selber einrichten. Listen mit komplett offenen und öffentlichen Mosquitto Servern findet man leider zur Genüge im Internet.

Ergänzung: ZigBee

Wer mit smarten Leuchtmittel (z. B. Philips Hue oder IKEA Trådfri) liebäugelt, wird oft eine Art “Bridge” oder “Hub” benötigen um mit dem Leuchtmittel zu kommunizieren. Dieses Stück (oftmals teurer) Hardware kann man sich aber getrost schenken, wenn man sich einen ZigBee USB-Stick für seine selbst gehostete Heimautomatisierungs Lösung besorgt und damit stattdessen die IoT Leuchtmittel direkt anspricht.

ZigBee ist im Grunde eine Low-Energy Version von WLAN, das hat jedoch auch den Nachteil das in Gebieten mit sehr vielen WLAN-Netzen auch die Sendeleistung von ZigBee runtergeht. Es gibt auch einige Leuchtmittel welche mit anderen Protokollen arbeiten wie Z-Wave oder Bluetooth, genauso gibt es außer Leuchtmittel noch andere IoT Geräte mit ZigBee Anbindung.

Fazit

Die große Auswahl an open source Heimautomatisierung Lösungen macht es nicht leicht das Richtige für sich zu finden. Für den Moment versuche ich Home Assistant voll auszunutzen und werde wahrscheinlich in Zukunft langsam neue Sensoren und IoT Geräte nachpflegen, welche ich hoffentlich in einem zweiten Blog Eintrag präsentieren kann.