Da OpenHAB 1, zumindest was das Z-Wave Binding und HABmin angeht, nicht mehr vollständig weiterentwickelt wird (die Entwicklung beschränkt sich auf Fehlerbehebungen und Gerätedatenbank-Updates), sondern sich die Entwicklung auf OpenHAB 2 konzentriert, habe ich mir einmal OpenHAB 2 angesehen und möchte meine Erfahrung weitergeben.
Installation
Ich habe mir unter http://www.openhab.org/getting-started/downloads.html die OpenHAB 2 „Online Distro“ heruntergeladen, da ich die Möglichkeit, on demand Addons nachzuinstallieren sehr reizvoll finde. Man erhält ein zip-Archiv, dieses habe ich nach C:\openhab2\ entpackt.
Da ich bereits wusste, dass mein HTTP-Port 8080 bereits belegt ist, musste ich diese vor dem ersten Start umstellen. Nach ein wenig Recherche habe ich herausgefunden, dass man die Ports in der start.bat überschreiben kann:
@echo off echo Launching the openHAB runtime... set OPENHAB_HTTP_PORT=8088 set OPENHAB_HTTPS_PORT=8448 setlocal set DIRNAME=%~dp0% "%DIRNAME%runtime\karaf\bin\karaf.bat" %*
Danach kann man die start.bat ausführen, es öffnet sich ein Konsolenfenster und OpenHAB startet im Hintergrund.
Wer nun ( wie ich 🙂 ) zu schnell den Webserver öffnet und versucht, OpenHAB zu erreichen, wird mit einer Fehlermeldung überrascht. /start/index 404 not found. Hier ist 2-3 Minuten Geduld gefragt, dann landet man auf der Welcome-Seite.
Konfiguration
Zunächst wählte ich also die Paper UI, da diese ja die neue Benutzeroberfläche sein soll, in der man grafisch deutlich mehr konfigurieren kann als on OpenHAB 1.
Zunächst sah alles ziemlich leer aus, auf der linken Seite befindet sich ein Menü, in dem diverse Einstellungen vorgenommen werden können. Der Reiter „Extensions“ brachte aber Klarheit, hier lassen sich die Addons nachinstallieren.
Also erst mal alles ausgewählt was ich so brauchte, Z-Wave, Weather, Astro, Onkyo, Samsung-TV usw. Direkt aus der UI Addons installieren zu können fand ich direkt klasse, hierzu war früher immer nötig, Dateien zu kopieren. Insbesondere in Zeiten, wo man immer mehr mit Tablets und Smartphones macht war dies nicht so einfach und verlangte in der Regel einen richtigen PC mit Tastatur und Maus.
Das Installieren von Addons klappte erst mal nicht so richtig, von meiner Auswahl war genau ein einziges Addon installiert worden. Ich gehe davon aus, dass mehrere Addons auszuwählen noch nicht so richtig funktioniert und habe daher ein neues Addon erst gewählt, nach dem das zuvor gewählte Addon fertig installiert war, das klappte dann schon deutlich besser. Häufig konnte es allerdings vorkommen, dass der Status „Installing…“ hängen bleibt. Hier hilft es dann, einfach mal die Seite neuzuladen, dann entdeckt man, dass die Installation eigentlich längst fertig ist.
Als ich alle Bindings installiert hatte, tauchten eine große Menge „Things“ in meiner Inbox auf. Das sind die Geräte, die OpenHAB findet. Nun ging es also daran, alles zu konfigurieren und wieder mit den bereits geschriebenen Regeln zu versehen.
Hier erlebte ich eine kleine Überraschung. Denn eine große Sache hat sich in OpenHAB 2 geändert: Man vergibt die Namen der Itemvariablen in der Standardeinstellung nicht mehr selbst, sondern das jeweilige Binding erstellt für ein „Thing“ alle Items automatisch. Das führt beim Z-Wave Binding dazu, dass die Item-Namen über 30 Zeichen lang werden um zu gewährleisten, dass jedes Item einen eindeutigen Namen erhält.
So wollte ich aber nicht arbeiten, meine Regeln wären total unleserlich geworden und zudem brauche ich auch gar nicht von jedem Gerät alle Items. Beispiel Fenstersensor von Fibaro: Hier kann man für jeden Alarmtyp, den der Sensor als Tamper Alarm theoretisch senden kann (Einstellbar), ein Item anlegen, bzw. in der Standardeinstellung geschieht dies sogar automatisch. Es reicht aber ein einziger Alarmtyp, den man dann in der Konfiguration passend setzt.
Es ist aber möglich, die Item-Vergabe selbst zu erledigen. Hierzu befindet sich unter Configuration => System ein unscheinbarer Schalter, der alles verändert.
Deaktivert man Item Linking => Simple Mode, taucht auf der linken Seite die Kategorie „Items“ wieder auf, hier kann man dann also manuell wieder Items anlegen und in den Things verlinken.
Z-Wave Geräte einbinden
Ich habe danach also erstmal einige Zeit damit verbracht, für all meine Z-Wave Geräte wieder Items anzulegen, damit ich diese später in Regeln ansprechen konnte. Dies war erfreulicherweise alles in der Paper UI möglich und verlief soweit auch relativ problemlos. Es gibt immer mal wieder Refresh-Schwierigkeiten, bei dem es hilft, die Seite im Browser neu zu laden. Auch scheint die Paper UI bei bestimmten Gegebenheiten auch mal komplett abzustürzen, dann sind keine Items / Things etc vorhanden.
Gut gefallen hat mir „Control“ oben links, hier werden alle konfigurierten Things nach Location gruppiert und man hat auf Anhieb eine UI für die Steuerung, die meiner Meinung nach auf jeden Fall mit der Classic UI mithalten kann.
Leider stellt sich der größte Wermutstropfen aber relativ schnell ein:
Fast keines meiner Geräte zeigte den korrekten Status an, darüber hinaus war es mir auch nicht möglich, durch Änderung eines Schalters wirklich ein Gerät dazu zu bewegen, den Status zu ändern. Das Dachboden Licht , wie im Screenshot oben als Beispiel zu sehen, einzuschalten, funktioniert nicht. Und auch der Status aller Schalter wird nicht korrekt aktualisiert.
Daher probierte ich das gleiche mal mit der Classic UI aus. Hierzu war es zunächst notwendig, eine Sitemap anzulegen, dafür klappte das Einschalten des Lichts aber dafür absolut problemlos.
Was allerdings nicht funktionierte, ist der andere Weg: Wenn ich den Lichtschalter manuell betätige, erscheint der Status weder in der Classic UI, noch in der Paper UI.
Nun habe ich ein wenig nach der Ursache geschaut, möchte aber OpenHAB 2 eigentlich aus Sicht eines „normalen Benutzers“ betrachten und daher primär den aktuellen Status darlegen. Ich kann über die Kommandozeile sehen, dass das Item nach Einschalten des Lichts immer noch den Status „OFF“ hat:
DG_Light (Type=SwitchItem, State=OFF, Label=Dachboden Licht, Category=Light)
Es wäre möglich, dass das Item nicht mehr korrekt zum OpenHAB-Binding verbunden ist, allerdings scheint dies noch der Fall zu sein, der Link vom Item zum Z-Wave Channel ist ebenfalls vorhanden:
DG_Light -> zwave:device:5b3f5e57:node29:switch_binary1
Nun wüsste ich nicht mehr weiter und müsste die (wirklich sehr gute) OpenHAB-Community bemühen. Dies werde ich später noch machen und den Artikel ggf. aktualisieren.
Z-Wave Datenbank und Aktualisierungen
Das Z-Wave Binding ist inzwischen auf einen Datenbankeintrag für jedes Gerät angewiesen. In OpenHAB 1 konnte man die Items noch einfach so anlegen, wenn man wusste was das Gerät an Daten funkt war das kein Problem, bis auf die fehlende Möglichkeit, das Gerät konfigurieren zu können war es auch ohne Datenbank-Eintrag möglich, ein Gerät zu benutzen.
Dies gilt leider in OpenHAB 2 nicht mehr, ohne Datenbankeintrag kann man keine Kanäle mehr sehen, die man zuordnen kann. OpenHAB kennt zudem das Gerät erst dann, wenn es einmal aufgewacht ist. Das kann bedeuten, dass man batteriebetriebene Geräte Tage lang nicht einrichten kann, es sei denn man weckt sie manuell. In der Regel geht das bei Schaltern durch einen Dreifach-Klick, meine Fenster-Sensoren muss ich dafür allerdings öffnen, oder eben einige Zeit warten.
Leider ist die Z-Wave Datenbank immer noch Teil des jar-Files des Z-Wave Bindings. Diesen Schritt habe ich schon bei OpenHAB 1 nicht verstanden und habe mir eigentlich für OpenHAB 2 hier eine Änderung gewünscht, die XML-Dateien sind aber nach wie vor in dem Binding versteckt. Wenn man also auf eine neue Datenbank aktualisieren möchte, bedeutet das, das Binding zu entfernen und eine möglichst neueste Version hinzuzufügen, die dann aber natürlich auch Code-Änderungen enthält, die unter Umständen nicht stabil sind.
Fazit
Neben den hier aufgeführten Bereichen habe ich mich insgesamt einige Tage mit OpenHAB 2 beschäftigt, hier war auch relativ viel Kommandozeilen-Arbeit gefragt und habe daher insgesamt für mich entschieden, noch etwas länger zu warten.
Inzwischen halten auch bei mir die ersten Z-Wave Geräte Einzug, die in OpenHAB 1 nicht mehr vollständig unterstützt werden, z. B. der neue Fibaro Double Switch 2 FGS-223, es wird also Zeit, umzusteigen.
Da ich aber ein großes Set an Regeln für die Automatisierung habe, die ich alle anpassen müsste, warte ich momentan noch etwas.