NEWS
SOLVED: zigbee2mqtt setup
-
Hallo,
ich bin neu hier, da ich mich entschieden habe meine bestehende openhab installation auf iobroker umzuziehen. Da ich in der Vergangenheit zigbee2mqtt verwendet habe und damit grundsätzlich zufrieden bin würde ich die zigbee2mqtt installation gerne hier weiterverwenden.
Nun habe ich also meinen mqtt client in iobroker installiert. Das funktioniert auch so weit.
Ich frage mich nun, wie es möglich ist ein "autodiscovery" meiner Zigbee devices zu machen.
Klar ich kann die manuell in der mqtt konfiguration hinzufügen, das erscheint mir aber aufwändig.
Gibt es da einen Weg den ich nicht sehe?
Ich habe bisher einige Device manuell hinzugefügt (screenshot)
Habe ich auch schon einige Beiträge zu Thema gelesen und leider immer noch nicht verstanden, wie ich denn nun an die einzelnen "Attribute" wie z.B. den Status eines Switches komme?
Also wie kann ich die lesen und natürlich auch schreiben?Wäre toll wenn mir da jemand auf die Sprünge helfen könnte
Im übrigen freue ich mich Teil dieser Community zu werden
Gruß
Stefan -
Hallo Stefan,
willkommen im Club
Autodiscovery benötigst du bei ioBroker eigentlich nicht.
Du hast zwei Möglichkeiten, Zigbee in ioBroker einzubinden.Einmal direkt über den Adapter ioBroker.zigbee, welcher die Anbindung extrem vereinfacht.
Oder, wenn es unbedingt MQTT sein muss, dann schau dir bitte diesen Thread an, und wenn du noch Fragen hast, gerne noch einmal melden.Gruß, Karsten
-
@hydrotec Danke für die schnelle Antwort. Werde mich da Posting anschauen und ggfs. nochmal melden
-
@hipohop
Ist es nicht einfacher den Zigbee Adapter zu nutzen, der die gleiche Technologie und somit auch die gleichen Geräte unterstüzt.Ich bin sonst auch ein Verfechter der reinen mqtt- Anbindung, falls die Geräte das originär sprechen, aber in diesem Fall ist Dein zigbee2mqtt auch nur ein Gateway für das Zigbee Protokoll und da kannst Du den Adapter auch direkt nutzen.
Nach dem Anlernen der Geräte sind diese als Objekte direkt im iobroker verfügbar.
-
@mickym
Hallo, das ist sicher eine Möglichkeit.
Im Moment betreibe ich noch meine alte openhab Umgebung und das weiterverwenden von zigbee2mqtt würde mir die "schleichende" Migration erleichtern.
Ausserdem müsste ich sicher erstmal prüfen, ob alle meine Zigbee Devices auch von iobroker unterstützt werden.
Aber das ist ein wertvoller Hinweis, war mir so garnicht bewußt
Danke -
@hipohop Nun für eine schleichende Migration hättest Du dann aber zigbee2mqtt gar nicht installieren müssen. Wäre es dann nicht einfacher gewesen mit dem mqtt-Adapter auf Deinen jetzigen mqtt-Broker zuzugreifen, den Du auch unter openhab nutzt?
Ausserdem müsste ich sicher erstmal prüfen, ob alle meine Zigbee Devices auch von iobroker unterstützt werden.
Die Technologie ist die gleiche und beide greifen (der Adapter und zigbee2mqtt) greifen auf die gleiche Gerätedatenbank zu. Also sehe ich die Gefahr dass von dem Adapter Geräte nicht unterstützt werden, die unter zigbee2mqtt unterstützt werden als sehr gering ein. Außerdem helfen dann meist die zigbee Adapterentwickler in diesen Fällen.
2 Coordinatoren mit gleichen Parametern des Zigbee Netzes gehen eh nicht. Also sind die Geräte entweder mit dem einen oder dem anderen Stick verbunden. Falls Du also 2 Sticks/Koordinatoren hast musst Du die Geräte peu a peu sowieso neu anlernen.
-
@mickym
genau das tue ich ja. Ich greife mit dem mqqt client des iobrokers auf meinen bestehenden mosquitto broker zu. die zigbee2mqtt installation published genau dahin.
Insofern wäre meine Erwartung, dass ich meine zigbee2mqtt instanz so erhalten kann.
Ich habe dann nur einen client (openhab) durch einen anderen (iobroker) ersetzt.zigbee2mqtt habe ich ja schon zusammen mit openhab seit jahren im einsatz.
-
@hipohop Ok dann verstehe ich nur nicht, warum Du nicht alle Geräte findest, die sind doch dann bereits alle im mosquitto. Das zigbee2mqtt kann ja völlig unverändert bleiben. Dieses Programm füttert doch nur Deine mosquitto. Sprich wenn sich ein Device meldet dann taucht das doch früher oder später automatisch im mqtt Adapter auf?
Aber egal - ich kann Dir leider mit autodiscovery nicht helfen bzw. machst Du das wahrscheinlich genauso, wie Du es unter openhab gemacht hast.
-
@mickym
Genau das ist der Punkt. Ich würde erwarten, dass meine Devices in mqtt-client (von iobroker) automatisch erscheinen.
Das ist aber nicht so. Ich muss die alle manuell über die Konfiguration hinzufügen. Geht ist aber umständlich.
Darüber hinaus ergibt sich für mich das Problem, das ich noch nicht verstanden habe wie ich diese Datenpunkte(?) lese bzw. schreibe kann.
Das hier
console.log(getState("mqtt-client.0.zigbee2mqtt.OSRAM4.State").val);
gibt null zurück. -
@hipohop Das ganze Problem ist leider der neue admin5 Adapter - da wurde mqtt ein Ei gelegt und leider werden diese ganzen Überprüfungen für den Adapter nicht ausgeschaltet (ist meines Erachtens genauso unsinnig, wie für selbst erstellte Datenpunkte).
Schau mal ob Du überall ein Stift-symbol bei Deinen states hast.
und dann schau, ob nicht ein Haufen Fehlermeldungen im Protokoll sind, dass irgendwelche Datenpunkte nicht erstellt werden konnten.
Nee sehe schon - fehlt - oh dieses blöde JS, Admin5 Update.
Erstelle Dir ein neues JS im JavaScript Adapter und kopiere dieses Code rein:
Lass das Skript einmal laufen, stopp es dann wieder dann sollte alle Objekte da sein und Du solltest unter jedem "Folder" wieder Datenpunkte manuell anlegen können.
Wenn Du das mit dem Skript nicht willst, dann musst Du die Objekte manuell erstellen.
Wenn Dein zigbee2mqtt direkt unter mqtt.0 ist, dann geh auf die Ebene 0 und erstelle ein Verzeichnis mit dem Namen zigbee2mqtt - damit wird dies dann nachträglich als FolderObjekt angelegt.
Das Ganze ist leider seit August letzten Jahres so und irgendwie will man diese Überprüfung unbedingt global beibehalten.
-
@mickym
Ich habe das Skript ausgeführt. Stelle aber keine Veränderung fest.
Aus deinem Erläuterungen habe ich leider nicht ganz verstanden, ob und wo ich jetzt noch einen neuen Folder "zigbee2mqtt" anlegen muss? -
@hipohop sagte in zigbee2mqtt setup:
@mickym
Ich habe das Skript ausgeführt. Stelle aber keine Veränderung fest.
Aus deinem Erläuterungen habe ich leider nicht ganz verstanden, ob und wo ich jetzt noch einen neuen Folder "zigbee2mqtt" anlegen muss?Sind nun an den Punkten nachdem Du das Skript ausgeführt hast nun Bleistiftsymbole neben den Objekten? Also dort die ich in Deinem Screenshot als fehlend markiert habe?
-
@hipohop sagte in zigbee2mqtt setup:
..., dass meine Devices in mqtt-client (von iobroker) automatisch erscheinen.
Welchen mqtt Adapter hast du installiert?
Es gibt zwei.
Würde dir den oberen empfehlen. Eben als Client eingerichtet.
In diesem Beitrag sind (weiter unten) zwei screenshots mit den Einstellungen drin.
Und wie schon erwähnt, in diesem Beitrag ist eine Anleitung wie du zigbee2mqtt ganz einfach in ioBroker einbinden kannst.
Ob du dich bei dem mqtt-payload-format fürjson
,attribute
oderattribute_and_json
entscheidest, ist erst einmal egal.
Sobald mosquitto über einen topic ein payload von zigbee2mqtt empfängt, und ioBroker diesen topic aboniert hat, werden automatisch die Objekte angelegt. Da musst du nichts weiter zutun.
Etwas tricky wird es mit den Objekten, welche ein payload in Richtung mosquitto absetzen sollen.
Wie @mickym schon geschrieben hat, ist es etwas unglücklich, das man da nicht ohne weiteres an die Objekte kommt.
In diesem Post habe ich eine alternative Methode beschrieben, wie man die Datenpunkte auch unter admin5 an die Richtige Stelle bekommt.Lies dir bitte alles in Ruhe durch, und wenn dann noch Fragen sind, gerne noch einmal melden.
(nicht vergessen, das sind Beispiele von meiner Umgebung, du musst die topics an deine Struktur anpassen)@mickym sagte in zigbee2mqtt setup:
@hipohop Das ganze Problem ist leider der neue admin5 Adapter - da wurde mqtt ein Ei gelegt und leider werden diese ganzen Überprüfungen für den Adapter nicht ausgeschaltet ...
Das Ganze ist leider seit August letzten Jahres so und irgendwie will man diese Überprüfung unbedingt global beibehalten.
Kann dich voll und ganz verstehen, vor allem wenn man schon mit vorherigen admin Versionen gearbeitet hat.
Zum Glück müssen die publish-topics nur einmal angelegt werden.
Ich fände es auch angenehmer, das direkt in ioBroker anlegen zu können. -
@hydrotec sagte in zigbee2mqtt setup:
@mickym sagte in zigbee2mqtt setup:
@hipohop Das ganze Problem ist leider der neue admin5 Adapter - da wurde mqtt ein Ei gelegt und leider werden diese ganzen Überprüfungen für den Adapter nicht ausgeschaltet ...
Das Ganze ist leider seit August letzten Jahres so und irgendwie will man diese Überprüfung unbedingt global beibehalten.Kann dich voll und ganz verstehen, vor allem wenn man schon mit vorherigen admin Versionen gearbeitet hat.
Zum Glück müssen die publish-topics nur einmal angelegt werden.
Ich fände es auch angenehmer, das direkt in ioBroker anlegen zu können.Es geht schon noch - man muss halt nur diese ganzen Objekte immer wieder manuell erstellen. Na ja ich habe es nun mehrere Male angesprochen, aber es bewegt sich nichts. Inzwischen kann man zwar wieder Datenpunkte erstellen, aber nur nach dem vorgegebenen Schema. Das im mqtt ein Folder auch ein State haben kann, sieht dieses Konzept nicht vor. Wie gesagt es wäre so einfach, wenn man für mqtt und 0_userdata das alles wieder auf den vorigen Stand zurückdrehen würde. Für die Adapterentwickler kann man dann ja von mir aus dieses jetzige Verfahren beibehalten. Aber das jetzige Konzept wird nie das flexible mqtt Konzept nachbilden können. Da gibt es eben nicht unterschiedliche Objekte, sondern einfach states (so wie es vorher auch war).
-
-
@hipohop Lass alle Optionen aus, dann solltest Du mit subscriben von # ein Abbild des mosquitto brokers bekommen:
-
@mickym
Also mit dem "richtigen" mqtt client geht es - so weit so gut.
Die Objekte werden automatisch angelegt
Vielen Dank nochmal - wäre ich nicht drauf gekommen.
Ich mach für heute Schluß -
@hipohop
Hier ist genau das was du suchst:
https://forum.iobroker.net/post/660650Ist ein Adapter der direkt mit dem Z2M kommuniziert.
-
nur mal interessehalber, weden die public-topics in ioBroker automatisch mit angelegt?
EDIT: Vergessen zu fragen, hast du den im Einsatz?
-
@hydrotec
Habe ich nicht. Ich benutze Zigbee Adapter, und kein z2m extern.Ich denke, man macht nix kaputt, wenn man es einfach probiert. Falls was ist, kann ich deine Fragen direkt an die Entwickler stelen.