NEWS
Universelle Zigbee Integration
-
Hallöchen,
ich mache mich gerade daran herauszufinden wie man Zigbee Geräte in ioBroker universeller integrieren könnte.
Es um Geräte von Hue, Lightify, Ikea, Jung, …
Als universelles Zigbee Gateway benutze ich die Geräte von dresden-elektronik:
ConBee (USB Stick) und RaspBee (Lan-Gateway). Dafür gibt es auch als Plugin (Open-Source) eine REST Api.
Ich habe soweit die Hardware zusammen und gerade testweise eine Lightify-Steckdose und eine Ikea Lampe mit einem Jung 8-fach Taster geschaltet. Konfiguriert über den ConBee unter Wintendo 10. Soweit spielt das also alles zusammen. Den ConBee unter Linux muss ich noch ausprobieren, genauso wie das RaspBee (Lan-Gateway).
Die ganz große Frage ist nun:
Was genau stellt die REST Api brereit und kann man das Plugin so umstricken, dass es ein Push Verhalten bei Änderungen gibt.
Die Api ist in C++/Qt geschrieben und die muss ich mir jetzt mal kompilieren um genau sehen zu können, welche Daten da wie ankommen und wohin gehen.
Einen Adapter zu schreiben würde dann danach kommen. Über den Zeitrahmen wann was fertig sein könnte kann ich keine Aussagen machen. Ich muss erst einmal herausfinden wie denn der ganze Zigbee-Netzwerk Krempel in dem Plugin überhaupt funktioniert.
Wenn man das aber alles hätte, dann hätte man
-
1 Gateway für Hue, Lightify, Ikea, Schalterhersteller (wie Jung) Komponenten, d.h. es wäre kein einziges herstellerspezifisches Gateway notwendig.
-
Kein Zwang mehr überhaupt eine Cloud Lösung nutzen zu müssen.
-
Und als Hauptmerkmal: Keine Notwendigkeit mehr die ganzen herstellerspezifischen Gateways mit einzelnen Adaptern pollen zu müssen.
Schaun wir mal, was sich so machen lässt...
Wenn jemand Interesse hat näheres zu erfahren, ist er herzlich eingeladen:
https://www.meetup.com/de-DE/Rittersbac ... me-Meetup/
Wenn es ein Treffen von
https://www.meetup.com/de-DE/ioBroker-M ... -Home-IoT/
gibt und ich Zeit habe schaue ich auch gerne da mal mit meinen Geräten und neuesten Erkenntnissen vorbei.
Gruß,
z.
-
-
Du meinst das hier?
https://github.com/dresden-elektronik/d … est-plugin
Diese API ist sehr ähnlich zur HUE-API, bzw. möchte es sein. Hier und da gibt es allerdings schon Unterschiede, so dass es im Moment vermutlich nicht möglich ist, einfach den HUE-Adapter damit zu nutzen.
Der große Vorteil von dieser API: Es gibt zusätzlich noch die Möglichkeit per Websocket PUSH-Mitteilungen über alle Änderungen zu erhalten.
Das ist allerdings noch alles sehr "beta" glaube ich und das hat mich bisher davon abgehalten einen Adapter zu entwickeln.
Es wäre super, wenn man irgendwann die HUE-Bridge durch einen RPI+Stick/Funkmodul ersetzen könnte.
-
Du meinst das hier?
https://github.com/dresden-elektronik/d … est-plugin `
Ja, genau das.Das ist allerdings noch alles sehr "beta" glaube ich und das hat mich bisher davon abgehalten einen Adapter zu entwickeln. `
Ja, die "geballte Kompetenz" scheint man dort nicht vorzufinden.
Meine Erkenntnisse bisher:
-Unter Windows funktioniert deCONZ+Plugin. Aber es gibt repainting Fehler in der Grafik von deCONZ.
-Unter Linux-PC (Debian) bekomme ich deCONZ erst gar nicht zum Starten weil da benötigte Libs nicht zusammenpassen.
in den Dateien des Plugins steht: Lizenz: BSD, siehe Datei Lizenz.txt.
In der Lizenz.txt steht: MIT Lizenz. AUA!
Ausserdem ist noch der Raspi des Gateways, das ich ja bei d-e bestellt hatte, defekt… (Qualitätskontrolle fehlt). Habe allerdings noch 2 andere.
Die mitgelieferte SD des Gateways enthält veraltete Software Versionen.
Mal sehen, ob ich das plugin jetzt auf dem Raspi zum kompilieren und ausführen bekommen kann.
Den "beta" status, den du ansprichst, könnte man ja beheben...
-
bin mal gespannt… wollte genau das erreichen "damals" aber....
bin dann bei zwave gelandet
-
Hi,
da ich mir jetzt auch einen ConBee Stick zu gelegt habe, wollte ich mal nach dem Stand der Dinge erkundigen.
Hast du @Zautrix schon etwas produktives bauen können mit ioBroker und dem Stick?
Oder hat jemand anders etwas laufen?
Falls bereits eine Integration in ioBroker begonnen wurde, würde ich mich gerne Anschließen um FAS voran zu treiben.
Gesendet von meinem m8 mit Tapatalk
-
Von meiner Seite gibt es bisher noch keine Entwicklung, ich verfolge aber gespannt die Entwicklung von Deconz. Anscheinend geht das in die Richtung, dass man es als Service auf einem RPI ohne UI laufen lassen kann. Das wäre dann der Punkt, an dem eine Adapterentwicklung interessant wird.
-
Ohne UI will heißen noch läuft das nur wenn man auch einen GUI wie gnome, kde, oder so installiert hat?
Das wäre ja sehr unpraktisch. Mein Host läuft mit Ubuntu Server, da gibts keine GUI.
Gesendet von meinem m8 mit Tapatalk
-
Ja so in etwa. Es ist wohl schon möglich es headless zu starten mit einem bestimmten Befehl.
-
Ja so in etwa. Es ist wohl schon möglich es headless zu starten mit einem bestimmten Befehl. `
Um diesen Thread mal zu beleben: Ja die Möglichkeit besteht. Schaut mal hier, ich hatte dafür mal ein docker image gemacht -> https://github.com/razem-io/docker-deconz
Mit Xvfb kann man deCONZ auch ohne GUI starten. Ist wesentlich verlässlicher / schneller als die OSRAM Bridge und funkt nicht nach Hause. Ich habe großes Interesse dafür ein Plugin zu erstellen bin jedoch Java / Scala Entwickler und lasse normalerweise meine Finger von JavaScript ;). Trotzdem versuche ich es mal.
Fangen wir mal mit der API Dokumentation an. Die gibt es hier -> https://dresden-elektronik.github.io/deconz-rest-doc/
Jetzt muss ich erstmal verstehen wie man einen Adapter schreibt. Melde mich bald!
-
Hey,
vllt hilft das ja: http://forum.iobroker.net/viewtopic.php … ead#p65807
Ansonsten im Entwickler-Forum fragen. Wir sind da alle sehr hilfsbereit
-
Ich hatte auch vor einen Adapter zu schreiben, hab aber erst vor kurzem deconz unter ubuntu headless zum laufen bekommen. Deswegen hab ich da noch nichts weiter gemacht.
Ich würde mich dir anschließen und mit helfen.
Gesendet von Unterwegs
-
Habe zwar sehr wenig Zeit im Moment, aber wenn jemand den Anfang macht werde ich vermutlich mit einigen Commits helfen. Habe einen Conbee und Hue Geräte hier.
-
Hi, ich bin leider erstmal an dem Dockerimage verzweifelt welches iobroker liefert -> https://github.com/ioBroker/ioBroker.docker
Deshalb dachte ich erst, der Fehler liegt bei deCONZ aber das Docker Image ist einfach veraltet und nicht mehr kompatibel mit dem neusten hue adapter. Nach zwei Stunden hatte ich dann endlich ein repariertes Dockerfile mit dem ich dann testen konnte. Dabei ist mir aufgefallen das Gruppen scheinbar nicht unterstützt werden von dem hue adapter.
Dann dachte ich alles klar integrieren wir mal die Gruppen. Also habe ich mir die zugrunde legende node library https://github.com/peter-murray/node-hue-api geclont. Siehe da dort werden Gruppen ohne weiteres unterstützt… Ich kann mit der library in Verbindung mit deCONZ alles steuern. Wieso funktioniert das also nicht beim Adapter???
Also habe ich mir mal die Objekte genauer angeschaut:
~~![](</s><URL url=)https://i.imgur.com/m9FEoPO.png" />
Die einzige Gruppe die funktioniert ist "All". Die Gruppe "Bad" lässt sich nicht steuern und die Rolle fehlt. Wenn ich die Rolle manuell auf "LightGroup" setze funktioniert auch die Gruppe yay! Was ist da los?
Hat jemand eine hue bridge am laufen und kann schauen, ob die sich auch so verhält?
Grundsätzlich funktioniert also deCONZ in Verbindung mit dem hue adapter. Ich glaube da sind einfach noch Fehler in der Implementierung beim Adapter selbst.~~
-
Der Adapter wurde ewig nicht aktualisiert bzw. an die neuen API-Versionen angepasst. Ich glaube es gab damals noch keine Unterscheidung zwischen LightGroup und Room bei HUE.
Grundsätzlich denke ich aber auch nicht, dass dies der richtige Weg ist. Klar könnten wir dann statt einer HUE-Bridge ein Conbee nutzen, aber die node-hue-api kennt eben nicht die Features, weswegen es sich lohnen würde Conbee zu unterstützen, also Websocket mit Push statt des ewigen Pollings bei HUE -> Bewegungsmelder "live" einbinden usw.
Eine universelle Zigbee-Unterstützung ist mit der node-hue-api nicht möglich.
-
Ich hol das Thema nochmal aus der Versenkung hervor.
In der Zwischenzeit ist es möglich deConz ohne GUI zu starten, unter Ubuntu ist es aber ganz schön Tricky und fehleranfällig. Die REST Api unterstützt schon länger Webhooks und damit Push.
Momentan bin ich mir noch nicht sicher ob der Weg über deConz wirklich gut ist aufgrund der vielen Stolpersteine.
Die Alternative wäre eine Vollständig eigene Lösung auf Basis von ConBee/RaspBee Hardware zu Bauen. Dresden-Elektronik hat die Dokumentation für die UART Schnittstelle bereit gestellt. Allerdings ist der Aufwand dann wohl etwas größer, da für jedes Gerät die Logik/Kommunikation programmiert werden muss. Was wiederum den Vorteil hat, das man Unabhängig ist und das einbinden kann was man braucht.
Wie seht ihr das?
-
ich schätze es währe dann nicht für jedes Gerät sondern Hersteller abhängig.. da die kommunikation innerhalb der Hersteller gleich sein "müsste" oder ??
somit würde sich der Aufwand ein bisseln verkleinern..
-
ich schätze es währe dann nicht für jedes Gerät sondern Hersteller abhängig.. da die kommunikation innerhalb der Hersteller gleich sein "müsste" oder ?? `
Das ist zu hoffen und wäre zu erwarten, aber das hängt auch davon ab welches Protokoll/Profil verwendet wird. Es gibt ja HA und ZLL die mindestens für uns relevant sind.
Hat jemand Erfahrung mit UART und JS Programmierung?
-
@Jey Cee:Hat jemand Erfahrung mit UART und JS Programmierung? `
UART und JS ….leider nein
-
Wenn ich die Deconz-Commits sehe, wie fast täglich Unterstützung für neue Geräte und Fixes für alte Geräte reinkommen, dann befürchte ich, dass eine eigene Implementierung extrem aufwendig wäre
-
Hallo,
ich bin neu im Forum, IoBroker hatte ich letztes Jahres einmal ausprobiert und bin dann nach Domoticz gewechselt, da es für mich einfacher einzurichten war.
Nun ist die Zeit gekommen, wo ich mich an IoBroker noch einmal versuchen möchte. Auch ich nutze Raspbee in Verbindung mit den Ikea Leuchten und würde mich über eine Einbindung freuen.
Wäre es nicht ggf. wesentlich einfacher, sich über die App "wireless light control" anzubinden? Die App läst sich über die Hue Bridge anbinden, klar müßte man dann dort Leuchten und Schalter registrieren, was aber durchaus machbar wäre. Bei Domoticz lief das wunderbar. Bei IoBroker habe ich die Anbindung auch herstellen können, auch sind meine Lampen eingebunden, allerdings lassen sie sich nicht Dimmen und Blenden mit 100% auf, Dimme ich über die "wireless light control" App, dann bekomme ich den richtigen Wert in IoBroker angezeigt! Also stimmt hier was in der Ansteuerung nicht. Farbtemperatur klappt Problemlos!
Um es kurz zu machen, wäre es nicht zumindest für den Anfang einfacher, die Hue Bridge zu kopieren und ein paar Anpassungen vor zu nehmen? Mir fehlen leider die Kenntnisse in JavaScript um das mal eben umzusetzen!
Hier findet man den Weg, um den API Key für die App zu bekommen, um die Verbindung zur Bridge herzustellen (Acquire an API key):