{"id":1436,"date":"2021-07-05T15:22:50","date_gmt":"2021-07-05T13:22:50","guid":{"rendered":"https:\/\/lobo.uber.space\/wp\/?p=1436"},"modified":"2022-04-04T15:24:51","modified_gmt":"2022-04-04T13:24:51","slug":"openhab-3-und-zigbee-geraete","status":"publish","type":"post","link":"https:\/\/lobo.uber.space\/wp\/?p=1436","title":{"rendered":"OpenHAB 3 und Zigbee-Ger\u00e4te"},"content":{"rendered":"\n<p>Da steht man im Ikea, m\u00f6chte Rollos f\u00fcr seine Wohnung besorgen und sieht <a rel=\"noreferrer noopener\" href=\"https:\/\/www.ikea.com\/de\/de\/p\/fyrtur-verdunklungsrollo-kabellos-batteriebetrieben-grau-90408170\/\" target=\"_blank\">FYRTUR<\/a> mit Motor &#8211; sehr nett. Zu Hause stellt man dann fest, dass die Rollos Zigbee sprechen und da man sowieso noch einen Raspberry PI rumstehen hat, besorgt man ihm kurzerhand einen <a rel=\"noreferrer noopener\" href=\"https:\/\/www.google.de\/search?q=CC2531+zigbee\" target=\"_blank\">Zigbee-USB-Adapter<\/a> und schon wird die Lernkurve steil.<\/p>\n\n\n\n<p>Ein paar Tipps dazu:<\/p>\n\n\n\n<ul><li>Ein Raspberry 3 Modell B (1 GB Hauptspeicher) ist mit OpenHAB 3 ganz schnell an den Grenzen des Hauptspeichers angekommen. OpenHAB ist in Java implementiert und geht alles andere als sparsam mit dem Hauptspeicher um<\/li><li>Beim Eintragen neuer Ger\u00e4te in die Konfigurationsdatei von Zigbee2mqtt (configuration.yaml) muss man, wenn man einen Friendly-Name eingetragen hat zigbee2mqtt neu starten bevor man das n\u00e4chste Ger\u00e4t hinzuf\u00fcgt, ansonsten sind die eigenen \u00c4nderungen direkt wieder weg.<\/li><li>Das Hinzuf\u00fcgen eines Zigbee-Ger\u00e4tes in OpenHAB ist mir am Anfang, als Neuling der Materie, sehr unklar gewesen und ich habe lange gebraucht, aufgrund eher schlechter Beschreibungen im Netz, herauszufinden, wie ich die Kan\u00e4le eines Zigbee-Ger\u00e4tes konfigurieren muss um tats\u00e4chlich Daten empfangen und senden zu k\u00f6nnen:<ul><li>Die Kommunikation l\u00e4uft \u00fcber MQTT, wie <em>Zigbee2mqtt<\/em> schon ver\u00e4t.<\/li><li>Man f\u00fcgt in OpenHAB einen <em>MQTT Broker<\/em> hinzu<\/li><li>Nun kann man <em>Generic MQTT Things<\/em> erzeugen<\/li><li>Jedem Ding kann man nun die entsprechenden Kan\u00e4le hinzuf\u00fcgen f\u00fcr alle auslesbaren Werte und m\u00f6gliche Steuerungen.<\/li><li>Das <em>MQTT State Topic<\/em> muss dabei auf <em>zigbee2mqtt\/&lt;zigbeename&gt;<\/em> gesetzt werden (&lt;zigbeename&gt; ist dabei der friendly name, welchen man in der zigbee2mqtt-Konfiguration hinterlegt hat) &#8211; nur ben\u00f6tigt, wenn der entsprechende Kanal gelesen werden kann.<\/li><li>Das <em>MQTT Command Topic<\/em> muss auf <em>zigbee2mqtt\/&lt;zigbeename&gt;\/set<\/em> gesetzt werden &#8211; nur ben\u00f6tigt wenn auf dem entsprechenden Kanal geschrieben werden kann.<\/li><li>Damit man dann auch sinnvolle Werte erh\u00e4lt muss man <em>Show advanced<\/em> aktivieren und bei <em>Incoming Value Transformations<\/em> den Text <em>JSONPATH:$.&lt;kanalname&gt;<\/em> eintragen (nur wenn der Kanal gelesen werden kann)<br>und bei <em>Outgoing Value Format<\/em> so etwas wie <em>{&#8222;&lt;kanalname&gt;&#8220;:%s}<\/em> eintragen (nur wenn auf dem Kanal geschrieben werden kann).<br>Hat man hierbei einen Zahlenwert, so muss statt %s im <em>Outgoing Value Format<\/em> %d eingetragen werden.<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>Die entsprechenden Kanalnamen kann man f\u00fcr das entsprechende Ger\u00e4t in der <a rel=\"noreferrer noopener\" href=\"https:\/\/www.zigbee2mqtt.io\/information\/supported_devices.html\" target=\"_blank\">Liste der unterst\u00fctzen Ger\u00e4te<\/a> nachlesen. Dort steht f\u00fcr jedes Ger\u00e4t auch die Anleitung, wie das Ger\u00e4t dem Netzwerk hinzugef\u00fcgt werden kann.<\/p>\n\n\n\n<p>Und falls mal ein Ger\u00e4t in der Liste steht, jedoch bei Euch einfach nicht funktionieren m\u00f6chte, k\u00f6nnte es sein, dass Ihr zigbee2mqtt aktualisieren m\u00fcsst. Auf der Website ist der aktuelle Stand der unterst\u00fctzen Ger\u00e4te. In einer \u00e4lteren Version sind wom\u00f6glich weniger Ger\u00e4te unterst\u00fctzt und dementsprechend nicht verwendbar.<\/p>\n\n\n\n<p>Falls das noch nicht klappen sollte, \u00fcberpr\u00fcft, dass das <em>Add-on<\/em> <em>JSONPATH Transformation<\/em> eingebunden ist unter <em>Einstellungen &#8211; Add-ons &#8211; Transformations<\/em>.<\/p>\n\n\n\n<p>Nachtrag: Nat\u00fcrlich gibt es auch das TR\u00c5DFRI Gateway von Ikea, welches auch als eigenes Ger\u00e4t in OpenHAB unterst\u00fctzt wird. Damit f\u00e4llt das Eintragen der einzelnen Ger\u00e4te \u00fcber Generic MQTT Things weg, allerdings redet das Gateway (vermutlich) nur mit Ikea-Ger\u00e4ten. Da ich mir direkt auch Ger\u00e4te anderer Hersteller besorgt habe (Fensterkontakte, Temperatur- und Luftfeuchtigkeits-Sensor), war das kein Weg, den ich gehen wollte.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da steht man im Ikea, m\u00f6chte Rollos f\u00fcr seine Wohnung besorgen und sieht FYRTUR mit Motor &#8211; sehr nett. Zu Hause stellt man dann fest, dass die Rollos Zigbee sprechen und da man sowieso noch einen Raspberry PI rumstehen hat, besorgt man ihm kurzerhand einen Zigbee-USB-Adapter und schon wird die Lernkurve steil. Ein paar Tipps &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/lobo.uber.space\/wp\/?p=1436\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eOpenHAB 3 und Zigbee-Ger\u00e4te\u201c<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[101,96,98,97,65,111,100,99],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/lobo.uber.space\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1436"}],"collection":[{"href":"https:\/\/lobo.uber.space\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lobo.uber.space\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lobo.uber.space\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lobo.uber.space\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1436"}],"version-history":[{"count":2,"href":"https:\/\/lobo.uber.space\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1436\/revisions"}],"predecessor-version":[{"id":1440,"href":"https:\/\/lobo.uber.space\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1436\/revisions\/1440"}],"wp:attachment":[{"href":"https:\/\/lobo.uber.space\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lobo.uber.space\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lobo.uber.space\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}