Font Size

Cpanel

Quelloffene Heimautomatisierung mit Home Assistant

Am 6. April 2016 hat Paulus Schoutsen, Senior Software Entwickler bei AppFolio, auf dem OpenIoT Summit in San Diego eine quelloffene Heimautomatisierungssoftware vorgestellt, die er überwiegend in seiner Freizeit entwickelt.

Das Projekt, das inzwischen etwa 242 verschiedene Geräte und Services unterstützt, startete er im Jahr 2013 „als ein simples Skript zum Einschalten der Lichter, wenn die Sonne untergeht“. Mittlerweile tragen mehr als 20 aktive Unterstützer zur Weiterentwicklung des Projekts bei. Es steht damit auch in direkter Konkurrenz zu anderen freien Alternativen wie openHAB, Fhem, pimatic oder Domoticz.

Im ersten Teil seines Vortrags „Automating your Home with Home Assistant: Python's Answer to the Internet of Things“ beschreibt Schoutsen den simplen Ansatz, auf dem Home Assistant beruht, und wie daraus eine skalierbare Software-Architektur wird. Im zweiten Teil zeigt er anhand zahlreicher Code-Beispiele wie die Plattform mit Geräten, Services und Automatisierungsregeln konfiguriert werden kann.

Die MIT-lizenzierte Heimautomatisierungsplattform arbeitet als Ereignis-gesteuertes System und stellt im Wesentlichen einen Python 3 basierten Webserver zur Verfügung, der ohne Anbindung an eine Cloud oder ein Hub auf dem eigenen Rechner, auf einem NAS im Heimnetzwerk, auf einem Raspberry Pi oder auf jeglichem System, das Python 3 unterstützt, installiert werden kann. Home Assistant unterscheidet sich nicht großartig von vielen anderen IoT-Frameworks, allerdings sieht Schoutsen die Vorteile besonders bei der freien und quelloffenen Natur der Software sowie beim Datenschutz und bei der Sicherheit des lokalen Ansatzes. Zudem biete Python als zugrundeliegende Programmiersprache diverse Stärken (beispielsweise die Flexibilität hinsichtlich dem Test neuer Features auf einer existierenden Installation) und die Plattform sei leicht einsetzbar und verständlich.

Im Home Assistant behält eine State Machine den Überblick über alle „Entities“. Für jedes unterstützte Gerät bzw. jeden unterstützten Service biete Home Assistant eine Software-Komponente, die mit diesen Geräten und Services kommunizieren kann. Mithilfe einer „Network Discovery“-Komponente können unterstützte Geräte und Services sogar automatisch eingebunden werden. Eine Service Registry registriert darüber hinaus Ereignisse, die wiederum durch einen Timer gesteuert werden können.

Eine Demo der Plattform ist auf der Projekt-Webseite verfügbar. Der Quellcode ist über GitHub zugänglich. Am 2. Juli 2016 erschien Home Assistant in der Version 0.23.1. Weitere Informationen können auf der Webseite des Projekts sowie in den Vortragsfolien von Schoutsen gefunden werden. Ein Video seiner Präsentation ist auf YouTube online.