Open Source Hausautomatisierung im Vergleich (Permalink)

Inzwischen sind alle Heizkörper und auch fast alle Lichter in der heimischen Wohnung über die Weboberfläche der eQ-3 CCU2 (ehemals http://www.eq-3.de/produkte/homematic/zentralen-und-gateways/homematic-zentrale-ccu-2.html) fernbedienbar und auch die @Home App (ehemals https://itunes.apple.com/de/app/home-smart-home-mit-homematic/id837203182) funktioniert soweit gut. Die Produktpflege und Dokumentation von eQ3 würde ich vorbildlich nennen: auf der Downloads-Seitefindet man sowohl die jeweils aktuelle CCU2 Firmware (inklusive Change Log) als auch die Dokumentation der Schnittstellen (HomeMatic XML-RPC).

Inhalt

Vorhandene Komponenten

Folgende Homematic und Homematic IP Produkte sind aktuell im Einsatz:

  • HM-CC-RT-DN - Funk-Heizkörperthermostat
  • HM-LC-SW1-FM - Schalt-Aktor 1-fach Unterputz (ohne Taster)
  • HM-LC-SW2-FM - Schalt-Aktor 2-fach Unterputz (ohne Taster)
  • HM-LC-Sw1PBU-FM - Schalt-Aktor 1-fach Unterputz (für Markenschalter)
  • HM-PB-2-WM55 - 2-fach-Funk-Wandtaster
  • HmIP-BSM - Schalt-Aktor 1-fach Unterputz (Homematic IP, für Markenschalter)
  • HMIP-PSM - Schalt- und Messsteckdose (Homematic IP)

Allerdings kann man (ohne Kritik an eQ-3 zu üben) naturgegeben nur deren Produkte verknüpfen und steuern. Weitere bereits vorhandene Geräte sollten ebenso angesprochen werden können:

  • Radio mit Chips von Frontier Silicon (siehe ehemals http://www.frontier-silicon.com/)
  • Fernseher von Samsung
  • Anwesenheitserkennung über WLAN einer AVM Fritz!Box
  • ... (der Phantasie sind keine Grenzen gesetzt)

Zum Glück gibt es ausreichend Softwarelösungen für dieses Problem. Vor dem Aufzählen der Kandidaten sollen allerdings Vergleichskriterien festgelegt werden.

Vergleichskriterien

  1. Die Software muss quell-offen und frei sein (OpenSource)
  2. Dokumentation auf Englisch bzw. Deutsch und in ausreichenden Qualität und Detailtiefe vorhanden (Dokumentation)
  3. Größe der Community
  4. Support für Komponenten von eQ-3 für Homematic und Homematic IP (Hardware-Unterstützung), da diese bereits vorhanden ist.
  5. Apps für iOS bzw. Android (Apps)
  6. Verwendete Programmiersprachen & Technologien (Technologie)
  7. Die Software muss Graphen zur historischen Analyse von Messwerten bieten (Graphen)
  8. Die Software muss über Regeln erweiterbar sein, z.B. Verknüpfung von Schalter, Reaktion aufs Verlassen der Wohnung (Regeln)

openHAB

openHAB basiert auf Java und OSGi (Equinox) und ist somit auf allen Plattformen lauffähig, auf denen Java angeboten wird (Linux, Windows, OS X,...). Laut Wiki sind auch ARM SBCs ausreichend.

openHAB verwendet intern einen Event Bus, um alle anderen Komponenten zu verbinden. Weitere wichtige Komponenten sind das openHAB Repository, welches den aktuell bekannten Zustand aller bekannten Items vorhält, und die Bindings, die als Abstraktionsschicht zwischen openHAB und den anzubindenden Geräten fungiert.

Über das openHAB Repository werden sowohl die diversen User Interfaces (WebUI, Apps für iOS, Android, Windows Phone, ...) als auch die Verarbeitung der Automatisierungsregeln angebunden.

URL http://www.openhab.org/
OpenSource https://github.com/openhab/openhab (EPL)
Dokumentation https://github.com/openhab/openhab/wiki Dokumentation ausführlich für alle Module auf Englisch vorhanden, über github Wiki gut erweiterbar.
Community Hohe Aktivität
Hardware-Unterstützung Breite Unterstützung für diverse Hardware und externe Software
Apps verfügbar für iOS, Android, Windows Phone und sogar Pebble
Technologie Java / OSGi
Graphen Charts sind über Persistenzen für fast alle messbaren Größen möglich.
Regeln openHAB ist über Regeln steuerbar. Diese sind in einer DSL zu erstellen und integrieren Java.

Home Assistant

Python 3 bildet die Basis für Home Assistant. Entsprechend bietet auch Home Assistant einen breiten Support für die gängigsten Betriebssysteme (Video-Tutorials existieren für Windows 10, OS X und Ubuntu). Auch Hinweise zum Durchführen einer Aktualisierung sind vorhanden. Installationshinweise für Raspberry Pi, Docker, Vagrant und auch Synology NAS sind vorhanden.

Auch Home Assistent nutzt architektonisch einen Bus, um die einzelnen Komponenten zu verbinden, eine Service Registry und eine State Machine zum Verwalten der Zustände der einzelnen Komponenten.

URL https://home-assistant.io/
OpenSource https://github.com/home-assistant/home-assistant (MIT)
Dokumentation Cookbook für Anwender und Dokumentation für Entwickler
Community Sehr hohe Aktivität
Hardware-Unterstützung über 470 (Stand Version 0.33.0) verschiedene Komponenten (Hard- und Software), Homematic ist unterstützt, Homematic IP jedoch nicht
Apps keine, iOS App in Vorbereitung
Technologie Python
Graphen Graphen sind an messenden Objekten vorhanden
Regeln möglich, können in YAML definiert werden

fhem

fhem wird in Perl entwickelt und schont daher die benötigten Ressourcen  (sogar auf Fritz!Boxen ist ein Betrieb möglich). Eine Installation ist auch hier wieder auf den 3 großen Betriebssystemen möglich.

Für die Freunde eines Handbuchs hält die Community eine ausführliche Einführung bereit.

URL http://fhem.de/
OpenSource https://svn.fhem.de// (GPL v2)
Dokumentation Ausführliches deutschsprachiges PDF, ausführliches gemischtsprachiges Wiki
Community Sehr hohe Aktivität
Hardware-Unterstützung Übersicht über unterstützte Hardware HmIP-Geräte noch nicht offiziell gelistet aber laut Forum möglich
Apps u.a. FHEMobile für iOS und andFHEM für Android
Technologie Perl
Graphen Graphen sind über gnuplot möglich
Regeln Regeln in Perl geschrieben möglich

calaos

calaos ist ein französisches Projekt und setzt für die Steuerung auf KNX und DMX. Als Hardware wird hauptsächlich Wago unterstützt. Leider ist die Dokumentation hauptsächlich in Französisch und auch das Datum des letzten Eintrags aus dem Entwickler-Blog aus dem Februar 2015 lässt nichts gutes hoffen.

URL https://calaos.fr
OpenSource https://github.com/calaos (GPL v3)
Dokumentation französischsprachiges Forum, Wiki in Französisch und Englisch
Community moderate Aktivität
Hardware-Unterstützung Eingeschränkt, lediglich WAGO, OneWire Komponenten, Zibase, GPIO und IoT Devices werden unterstützt (Quelle)
Apps Calaos Mobile für iOS, Calaos Home für Android
Technologie C/C++
Graphen unbekannt
Regeln integrierter LUA Support

domoticz

domoticz ist in C/C++ geschrieben und nativ verfügbar für Raspberry Pis, Windows, Linux, OS X und für einige NAS-Syteme. Als Scripting-Engine wird Lua verwendet, über die mit Blockly die Automatisierung vorgenommen wird. Leider Homematic nicht unterstützt, jedoch ist die Liste an unterstützter Hardware recht umfangreich.

URL https://domoticz.com/
OpenSource https://github.com/domoticz/domoticz (GPL v3)
Dokumentation englischsprachiges Handbuch und Wiki
Community hohe Aktivität
Hardware-Unterstützung Moderat, leider kein Homematic (Quelle)
Apps ImperiHome für iOS und Android
Technologie C/C++
Graphen Ja, als Log in der UI
Regeln integrierter Support für LUA, Bash, Perl, PHP und Python, Support für Blockly

openmotics

openmotics vereint ein Angebot von Soft- und Hardware, die unter eine OpenSource Lizenz gestellt wurde. Die Hardware wird auch im Shop verkauft. Allerdings existieren nur Module zum Einbau in Schaltschränke auf Hutschienen. openmotics eignet sich somit kaum zum nachträglichen Einbau sondern eher für Neubauten. Aber auch dann ist keine Integration weitere, fremder Komponenten vorgesehen.

URL https://www.openmotics.com/
OpenSource https://github.com/openmotics (MIT)
Dokumentation englischsprachiges Wiki
Community keine Aktivität (Quelle)
Hardware-Unterstützung nur spezielle openmotics Hardware (siehe Shop)
Apps keine bekannt
Technologie Python
Graphen Ja
Regeln Ja

freedomotic

freedomotic bezeichnet sich als Open Iot Framework, versteht sich also nicht nur zur Heimautomatisierung, sondern versucht weiter zu gehen. Technologisch ist wie bei openHAB in Java Grundlage, es wird aber wohl auf OSGi verzichtet. Die verfügbaren Plugins sind im Marketplace (ehemals http://freedomotic.com/plugins) verzeichnet.

Installationsanleitungen sind leider bisher nicht wirklich vorhanden, lediglich eine kurze Seite zum Raspberry Pi und Docker (Zugang über guest/guest, nur REST API) enthalten Text.

Der Einsatz von 2 getrennten Messaging Bussen ermöglicht hier zusätzlich noch das Clustering mehrerer freedomotic-Instanzen. Die verschiedenen Hardwaretypen und externen Services werden über Module angebunden.

URL https://www.freedomotic-iot.com/
OpenSource https://github.com/freedomotic/freedomotic (GPL v2)
Dokumentation englischsprachiges Benutzerhandbuch
Community unbekannt (Quelle)
Hardware-Unterstützung diverse Hardware (siehe ehemals http://freedomotic.com/plugins), keine Hinweise auf Homematic
Apps unbekannt
Technologie Java
Graphen unbekannt
Regeln Über XML möglich

Bewertung

Eine abschließende Bewertung fällt schwer, jedoch werde ich freedomotic (fehlende Unterstützung für Homematic), openmotics (nur spezielle Hardware), domoticz (fehlende Unterstützung für Homematic, verwendete Programmiersprache) und calaos (stark eingeschränkte Hardwareunterstützung) aus den jeweilig genannten Gründen nicht weiter verfolgen.

Für

  • openHAB,
  • Home Assistant und
  • fhem

wird es weitere Artikel geben. Diese werden dann von hier verlinkt.

Ergänzung 7. Januar

Inhaltsverzeichnis eingefügt.