{"id":813,"date":"2016-08-31T13:37:17","date_gmt":"2016-08-31T12:37:17","guid":{"rendered":"http:\/\/www.nilsschneider.de\/wp\/?p=813"},"modified":"2017-02-17T13:04:58","modified_gmt":"2017-02-17T12:04:58","slug":"persoenliche-meinung-zu-openhab-2","status":"publish","type":"post","link":"https:\/\/www.nilsschneider.de\/wp\/2016\/08\/31\/persoenliche-meinung-zu-openhab-2\/","title":{"rendered":"Pers\u00f6nliche Meinung zu OpenHAB 2"},"content":{"rendered":"<p style=\"text-align: justify;\">Da OpenHAB 1, zumindest was das Z-Wave Binding und HABmin angeht, nicht mehr vollst\u00e4ndig weiterentwickelt wird (die Entwicklung beschr\u00e4nkt sich auf Fehlerbehebungen und Ger\u00e4tedatenbank-Updates), sondern sich die Entwicklung auf OpenHAB 2 konzentriert, habe ich mir einmal OpenHAB 2 angesehen und m\u00f6chte meine Erfahrung weitergeben.<\/p>\n<p><!--more--><\/p>\n<h3 style=\"text-align: justify;\">Installation<\/h3>\n<p style=\"text-align: justify;\">Ich habe mir unter\u00a0<a href=\"http:\/\/www.openhab.org\/getting-started\/downloads.html\">http:\/\/www.openhab.org\/getting-started\/downloads.html<\/a>\u00a0die OpenHAB 2 &#8222;Online Distro&#8220; heruntergeladen, da ich die M\u00f6glichkeit, on demand Addons nachzuinstallieren sehr reizvoll finde.\u00a0Man erh\u00e4lt ein zip-Archiv, dieses habe ich nach C:\\openhab2\\ entpackt.<\/p>\n<p style=\"text-align: justify;\">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 \u00fcberschreiben kann:<\/p>\n<pre class=\"lang:default decode:true\">@echo off\r\n\r\necho Launching the openHAB runtime...\r\n\r\n<strong>set OPENHAB_HTTP_PORT=8088\r\nset OPENHAB_HTTPS_PORT=8448\r\n<\/strong>\r\nsetlocal\r\nset DIRNAME=%~dp0%\r\n\"%DIRNAME%runtime\\karaf\\bin\\karaf.bat\" %*\r\n<\/pre>\n<p style=\"text-align: justify;\">Danach kann man die start.bat ausf\u00fchren, es \u00f6ffnet sich ein Konsolenfenster und OpenHAB startet im Hintergrund.<\/p>\n<p style=\"text-align: justify;\">Wer nun ( wie ich \ud83d\ude42 ) zu schnell den Webserver \u00f6ffnet und versucht, OpenHAB zu erreichen, wird mit einer Fehlermeldung \u00fcberrascht. \/start\/index 404 not found.\u00a0Hier ist 2-3 Minuten Geduld gefragt, dann landet man auf der Welcome-Seite.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/oh2_welcome.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-816\" src=\"http:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/oh2_welcome.png\" alt=\"oh2_welcome\" width=\"921\" height=\"781\" srcset=\"https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/oh2_welcome.png 921w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/oh2_welcome-300x254.png 300w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/oh2_welcome-768x651.png 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<h3 style=\"text-align: justify;\">Konfiguration<\/h3>\n<p style=\"text-align: justify;\">Zun\u00e4chst\u00a0w\u00e4hlte ich also die Paper UI, da diese ja die neue Benutzeroberfl\u00e4che sein soll, in der\u00a0man grafisch deutlich mehr konfigurieren kann als on OpenHAB 1.<\/p>\n<p style=\"text-align: justify;\">Zun\u00e4chst sah alles ziemlich leer aus, auf der linken Seite befindet sich ein Men\u00fc, in dem diverse Einstellungen vorgenommen werden k\u00f6nnen. Der Reiter &#8222;Extensions&#8220; brachte aber Klarheit, hier lassen sich die Addons nachinstallieren.<\/p>\n<p style=\"text-align: justify;\">Also erst mal alles ausgew\u00e4hlt was ich so brauchte, Z-Wave, Weather, Astro, Onkyo, Samsung-TV usw. Direkt aus der UI Addons installieren zu k\u00f6nnen fand ich direkt klasse, hierzu war fr\u00fcher immer n\u00f6tig, 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.<\/p>\n<p style=\"text-align: justify;\">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\u00e4hlen noch nicht so richtig funktioniert und habe daher ein neues Addon erst gew\u00e4hlt, nach dem das zuvor gew\u00e4hlte Addon fertig installiert war, das klappte dann schon deutlich besser. H\u00e4ufig\u00a0konnte es allerdings vorkommen, dass der Status &#8222;Installing&#8230;&#8220; h\u00e4ngen bleibt. Hier hilft es dann, einfach mal die Seite neuzuladen, dann entdeckt man, dass die Installation eigentlich l\u00e4ngst fertig ist.<\/p>\n<p style=\"text-align: justify;\">Als ich alle Bindings installiert hatte, tauchten eine gro\u00dfe Menge &#8222;Things&#8220; in meiner Inbox auf. Das sind die Ger\u00e4te, die OpenHAB findet. Nun ging es also daran, alles zu konfigurieren und wieder mit den bereits geschriebenen Regeln zu versehen.<\/p>\n<p style=\"text-align: justify;\">Hier erlebte ich eine kleine \u00dcberraschung. Denn eine gro\u00dfe Sache hat sich in OpenHAB 2 ge\u00e4ndert: Man vergibt die Namen der Itemvariablen in der Standardeinstellung nicht mehr selbst, sondern das jeweilige Binding erstellt f\u00fcr ein &#8222;Thing&#8220; alle Items automatisch. Das f\u00fchrt beim Z-Wave Binding dazu, dass die Item-Namen \u00fcber 30 Zeichen lang werden um zu gew\u00e4hrleisten, dass jedes Item einen eindeutigen Namen erh\u00e4lt.<\/p>\n<p style=\"text-align: justify;\">So wollte ich aber nicht arbeiten, meine Regeln w\u00e4ren total unleserlich geworden und zudem brauche ich auch gar nicht von jedem Ger\u00e4t alle Items. Beispiel Fenstersensor von Fibaro: Hier kann man f\u00fcr 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.<\/p>\n<p style=\"text-align: justify;\">Es ist aber m\u00f6glich, die Item-Vergabe selbst zu erledigen. Hierzu befindet sich unter Configuration =&gt; System ein unscheinbarer Schalter, der alles ver\u00e4ndert.<a href=\"http:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/item_linking_simple.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-831\" src=\"http:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/item_linking_simple.png\" alt=\"item_linking_simple\" width=\"906\" height=\"639\" srcset=\"https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/item_linking_simple.png 906w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/item_linking_simple-300x212.png 300w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/item_linking_simple-768x542.png 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Deaktivert man\u00a0Item Linking =&gt; Simple Mode, taucht auf der linken Seite die Kategorie &#8222;Items&#8220; wieder auf, hier kann man dann also manuell wieder Items anlegen und in den Things verlinken.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/items.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-832\" src=\"http:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/items-1024x844.png\" alt=\"items\" width=\"840\" height=\"692\" srcset=\"https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/items-1024x844.png 1024w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/items-300x247.png 300w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/items-768x633.png 768w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/items.png 1100w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<h3 style=\"text-align: justify;\">Z-Wave Ger\u00e4te einbinden<\/h3>\n<p style=\"text-align: justify;\">Ich habe danach also erstmal einige Zeit damit verbracht, f\u00fcr all meine Z-Wave Ger\u00e4te wieder Items anzulegen, damit ich diese sp\u00e4ter in Regeln ansprechen konnte. Dies war erfreulicherweise alles in der Paper UI m\u00f6glich 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\u00fcrzen, dann sind keine Items \/ Things etc vorhanden.<\/p>\n<p style=\"text-align: justify;\">Gut gefallen hat mir &#8222;Control&#8220; oben links, hier werden alle konfigurierten Things nach Location gruppiert und man hat auf Anhieb eine UI f\u00fcr die Steuerung, die meiner Meinung nach auf jeden Fall mit der Classic UI mithalten kann.<br \/>\nLeider stellt sich der gr\u00f6\u00dfte Wermutstropfen aber relativ schnell ein:<a href=\"http:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/paperui_control.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-833\" src=\"http:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/paperui_control-1024x427.png\" alt=\"paperui_control\" width=\"840\" height=\"350\" srcset=\"https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/paperui_control-1024x427.png 1024w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/paperui_control-300x125.png 300w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/paperui_control-768x320.png 768w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/paperui_control.png 1123w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Fast keines meiner Ger\u00e4te zeigte den korrekten Status an, dar\u00fcber hinaus war es mir auch nicht m\u00f6glich, durch \u00c4nderung eines Schalters wirklich ein Ger\u00e4t dazu zu bewegen, den Status zu \u00e4ndern. Das Dachboden Licht , wie im Screenshot oben als Beispiel zu sehen, einzuschalten, funktioniert nicht. Und auch der Status aller Schalter wird nicht korrekt\u00a0aktualisiert.<\/p>\n<p style=\"text-align: justify;\">Daher probierte ich das gleiche mal mit der Classic UI aus. Hierzu war es zun\u00e4chst notwendig, eine Sitemap anzulegen, daf\u00fcr klappte das Einschalten des Lichts aber daf\u00fcr absolut problemlos.<br \/>\nWas allerdings nicht funktionierte, ist der andere Weg: Wenn ich den Lichtschalter manuell bet\u00e4tige, erscheint der Status weder in der Classic UI, noch in der Paper UI.<\/p>\n<p style=\"text-align: justify;\">Nun habe ich ein wenig nach der Ursache geschaut, m\u00f6chte aber OpenHAB 2 eigentlich aus Sicht eines &#8222;normalen Benutzers&#8220;\u00a0betrachten und daher prim\u00e4r den aktuellen Status darlegen. Ich kann \u00fcber die Kommandozeile sehen, dass das Item nach\u00a0Einschalten des Lichts immer noch den Status &#8222;OFF&#8220; hat:<\/p>\n<pre class=\"\" style=\"text-align: left;\">DG_Light (Type=SwitchItem, State=OFF, Label=Dachboden Licht, Category=Light)<\/pre>\n<p class=\"\" style=\"text-align: justify;\">Es w\u00e4re m\u00f6glich, 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:<\/p>\n<pre style=\"text-align: justify;\" class=\"\">DG_Light -&gt; zwave:device:5b3f5e57:node29:switch_binary1\r\n<\/pre>\n<p class=\"\" style=\"text-align: justify;\">Nun w\u00fcsste ich nicht mehr weiter und m\u00fcsste die (wirklich sehr gute) OpenHAB-Community bem\u00fchen. Dies werde ich sp\u00e4ter noch machen und den Artikel ggf. aktualisieren.<\/p>\n<h3 style=\"text-align: justify;\">Z-Wave Datenbank und Aktualisierungen<\/h3>\n<p style=\"text-align: justify;\">Das Z-Wave Binding ist inzwischen auf einen Datenbankeintrag f\u00fcr jedes Ger\u00e4t angewiesen. In OpenHAB 1 konnte man die Items noch einfach so anlegen, wenn man wusste was\u00a0das Ger\u00e4t an Daten funkt war das kein Problem, bis auf die fehlende M\u00f6glichkeit, das Ger\u00e4t konfigurieren zu k\u00f6nnen war es auch ohne Datenbank-Eintrag m\u00f6glich, ein Ger\u00e4t zu benutzen.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/unknown_device.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-834\" src=\"http:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/unknown_device-1024x529.png\" alt=\"unknown_device\" width=\"840\" height=\"434\" srcset=\"https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/unknown_device-1024x529.png 1024w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/unknown_device-300x155.png 300w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/unknown_device-768x397.png 768w, https:\/\/www.nilsschneider.de\/wp\/wp-content\/uploads\/2016\/08\/unknown_device.png 1114w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Dies gilt leider in OpenHAB 2 nicht mehr, ohne Datenbankeintrag kann man keine Kan\u00e4le mehr sehen, die man zuordnen kann. OpenHAB kennt zudem das Ger\u00e4t erst dann, wenn es einmal aufgewacht ist. Das kann bedeuten, dass man batteriebetriebene\u00a0Ger\u00e4te 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\u00fcr allerdings \u00f6ffnen, oder eben einige Zeit warten.<\/p>\n<p style=\"text-align: justify;\">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\u00fcr OpenHAB 2\u00a0hier eine \u00c4nderung gew\u00fcnscht, die XML-Dateien sind aber nach wie vor in dem Binding versteckt. Wenn man also auf eine neue Datenbank aktualisieren m\u00f6chte, bedeutet das, das Binding zu entfernen und eine m\u00f6glichst neueste Version\u00a0hinzuzuf\u00fcgen, die dann aber nat\u00fcrlich auch Code-\u00c4nderungen enth\u00e4lt, die unter Umst\u00e4nden nicht\u00a0stabil\u00a0sind.<\/p>\n<h3 style=\"text-align: justify;\">Fazit<\/h3>\n<p style=\"text-align: justify;\">Neben den hier aufgef\u00fchrten Bereichen habe ich mich insgesamt einige Tage mit OpenHAB 2 besch\u00e4ftigt, hier war auch relativ viel Kommandozeilen-Arbeit gefragt und habe daher insgesamt f\u00fcr mich entschieden, noch etwas l\u00e4nger zu warten.<br \/>\nInzwischen halten auch bei mir die ersten Z-Wave Ger\u00e4te Einzug, die in OpenHAB 1 nicht mehr vollst\u00e4ndig unterst\u00fctzt werden, z. B. der neue Fibaro Double Switch 2 FGS-223, es wird also Zeit, umzusteigen.<br \/>\nDa ich aber ein gro\u00dfes Set an Regeln f\u00fcr die Automatisierung habe, die ich alle anpassen m\u00fcsste, warte ich momentan noch etwas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da OpenHAB 1, zumindest was das Z-Wave Binding und HABmin angeht, nicht mehr vollst\u00e4ndig weiterentwickelt wird (die Entwicklung beschr\u00e4nkt sich auf Fehlerbehebungen und Ger\u00e4tedatenbank-Updates), sondern sich die Entwicklung auf OpenHAB 2 konzentriert, habe ich mir einmal OpenHAB 2 angesehen und m\u00f6chte meine Erfahrung weitergeben.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[153],"tags":[],"_links":{"self":[{"href":"https:\/\/www.nilsschneider.de\/wp\/wp-json\/wp\/v2\/posts\/813"}],"collection":[{"href":"https:\/\/www.nilsschneider.de\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nilsschneider.de\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nilsschneider.de\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nilsschneider.de\/wp\/wp-json\/wp\/v2\/comments?post=813"}],"version-history":[{"count":7,"href":"https:\/\/www.nilsschneider.de\/wp\/wp-json\/wp\/v2\/posts\/813\/revisions"}],"predecessor-version":[{"id":836,"href":"https:\/\/www.nilsschneider.de\/wp\/wp-json\/wp\/v2\/posts\/813\/revisions\/836"}],"wp:attachment":[{"href":"https:\/\/www.nilsschneider.de\/wp\/wp-json\/wp\/v2\/media?parent=813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nilsschneider.de\/wp\/wp-json\/wp\/v2\/categories?post=813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nilsschneider.de\/wp\/wp-json\/wp\/v2\/tags?post=813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}