NEWS
ioBroker, slzb-06, zigbee2mqtt, raspi 4 installation
-
@thaiyoda ich nutze Docker auf einer Synology und habe dort noch Portainer laufen (installiert nach der Buanet Anleitung, ist aber schon laaaange her).
Dein Device hat ne IP, der Port sollte da zufinden sein. Das ist die einzige Info, die Du benötigst. In der Anleitung wird mit einem USB Coordinator verbunden.
bei mir sieht das in der configuration.yaml so aus:serial:
port: tcp://Coordinator-IP:Port
adapter: zstackNach dem erstellen des Containers sollte man als aller erstes mal da rein schauen, was denn da drinnen steht. Schritt-für-Schritt weiß ich das auch nicht mehr im Detail, ist lange her. Ich hab mich damals an der Anleitung entlang gehangelt und gegoogelt und videos angeschaut.
Meine Empfehlung geht aber auch dahin, den zigbee Adapter zu nutzen. Ich bin damals nur auf Zigbee2mqtt umgestiegen, weil ich über 120 Geräte im Netz hab. Mein innerer Monk wollte dann mal probieren, was zigbee2mqtt so kann.
-
@thaiyoda sagte in ioBroker, slzb-06, zigbee2mqtt, raspi 4 installation:
Ich hoffe unten die Konfiguration des Containers aus Container Inspect ist das, was du meinst
Ich gehe mal nur auf die offensichtliche Fehlerursache ein, zu den anderen Sachen wurde ja schon einiges gesagt.
Dass der Zigbee2MQTT Container nicht startet, liegt daran, dass er keine Verbindung zum MQTT-Broker aufbauen kann. Wenn du den ioBroker MQTT-Adapter als Broker verwenden willst, baust du dir ein kleines "Henne-Ei-Problem": Der Z2M-Container kann nur starten, wenn der ioBroker schon läuft, umgekehrt kann der Z2M-Adapter nur starten, wenn der Z2M Container gestartet ist. Nicht schön.
Wenn du den Weg mit Docker und Zigbee2MQTT weiter gehen willst, würde ich auf jeden Fall einen eigenen MQTT Broker bauen, wie du es ja mit Mosquitto schon angefangen hast.
-
@marc-berg @toralt aus diversen Gründen, möchte ich den mqtt Broker außerhalb ioBroker aufbauen und dann den zigbee2mqtt Adapter im ioBroker nutzen. Auch wenn das erst mal komplizierter erscheint, aber Mosquitto sieht nach einer guten Lösung aus. Ich denke, das macht die ganze Sache auch unabhängiger vom ioBroker, für den Fall ich würde doch gerne eine andere Verwaltung, Visualisierung etc. wählen.
Außerdem wird m.W. grundsätzlich die Geräte ID der ZigBee Geräte in der Visualisierung etc. als Identifikator verwendet. Ich gehe davon aus, dass die ID Geraeteeigen und eineindeutig sind.
Was benötige ich nun für den Aufbau?
Raspi 4 mit:
- OS Lite 64
- Docker (ich verwende portainer. Oder gibt es eine bessere Variante?)
ZigBee Coordinator - slzb-06 vorhanden
Im Docker:
-
Mosquitto
-- Mosquitto Mqtt broker bekommt eine IP und x Ports
-- Port für Zigbee2mqtt im ioBroker
-- Port fuer Web UI zum Mosquitto -
ioBroker
-- das tool für die Visualisierungen, Regelerstellung etc. -
zigbee2mqtt benötige ich dann im Docker nicht mehr?
Im ioBroker:
- Zigbee2mqtt Adapter
-- dieser muss mit der IP und Port des Mosquitto verbunden werden - Mqtt Broker Adapter benötige ich dann nicht?
Den slzb-06 mache ich mit dem Mosquitto (irgendwie in der Containerkonfiguration) bekannt, hat mit dem Zigbee2mqtt Adapter keine direkte Verknüpfung.
Wäre das soweit erst mal korrekt?
-
@toralt said in ioBroker, slzb-06, zigbee2mqtt, raspi 4 installation:
Containers sollte man als aller erstes mal da rein schauen, was denn da drinnen steht.
an der Stelle haenge ich grundsaetzlich und stehe aufm Schlauch.
Ich bin mir im Unklaren, wo genau ich die Konfiguration finde und anpasse.
Hab mir ein paar Docker Tutorials vorgemerkt. -
@thaiyoda sagte in ioBroker, slzb-06, zigbee2mqtt, raspi 4 installation:
Als aller Erstes solltest du dir nochmal genau anschauen, welche Rollen der MQTT-Broker, Zigbee2MQTT und der Zigbee2MQTT-Adapter spielen. Aus den Fragen wird deutlich, dass dir das noch unklar ist.
- Docker (ich verwende portainer. Oder gibt es eine bessere Variante?)
ZigBee Coordinator
Du verwendest Docker, damit kannst du Container erstellen und verwalten. Dies kannst du entweder auf der Konsole machen oder (zusätzlich!) in Portainer. Portainer ist also nichts weiter als eine GUI zu Docker. Für den Heimanwender Mittel der Wahl.
- slzb-06 vorhanden
Im Docker:
- Mosquitto
-- Mosquitto Mqtt broker bekommt eine IP und x Ports
Wenn du Mosquitto wie bereits den ioBroker im Host-/Netzwerkmodus betreibst, bekommt der Container keine eigene IP. Auch hier: dringend die Tutorials lesen, bevor du loslegst.
-- Port fuer Web UI zum Mosquitto
Mosquitto hat keine UI.
- zigbee2mqtt benötige ich dann im Docker nicht mehr?
Siehe oben, die Doku zum Zigbee2MQTT Adapter lesen!
Den slzb-06 mache ich mit dem Mosquitto (irgendwie in der Containerkonfiguration) bekannt, hat mit dem Zigbee2mqtt Adapter keine direkte Verknüpfung.
Falsch, die Doku zum Zigbee2MQTT Adapter lesen!
Wäre das soweit erst mal korrekt?
Leider nein.
- Docker (ich verwende portainer. Oder gibt es eine bessere Variante?)
-
@thaiyoda Nochmal der zigbee2mqtt Adapter ist lediglich die Verbindung zu zigbee2mqtt und nein dieser muss natürlich nicht zum mqtt Broker verbunden werden sondern zu zigbee2mqtt. Das war genau meine Befürchtung.
iobroker Conatiner
mosquitto Container
zigbee2mqtt containerDas brauchst du, der Zigbee2mqtt-adapter hat damit erstmal nichts zu tun, den brauchst Du, wenn alles läuft. Der Adapter stellt die Kommunikation zwischen Zigbee2mqtt und ioBroker her.
Zigbee2mqtt Adapter ist nicht gleich zigbee2mqtt.
Du musst dich erst mal grundsätzlich in die Thematik einlesen um ein Verständnis zu entwickeln, welche Systeme Du brauchst und wie Du sie miteinander verbindest. Die Tatsache das Du den Zigbee2mqtt Container nun weglassen willst und den zigbee2mqtt Adapter mit dem MQTT Broker verbindet willst, zeugt davon, das gar nicht klar ist, was hier eigentlich gemacht werden muss bzw mit was man es hier zu tun hat.
Daher würde ich Dir nochmals dringend empfehlen, erst ioBroker zum laufen zu bringen und dann den Zigbee-Adapter (NICHT zigbee2mqtt Adapter) zu nutzen. So lange das grundsätzliche Verständnis nicht da ist wird das sonst schwer zu administrieren.Du hast Dir leider so ziemlich die schwerst mögliche Option zum Aufsetzen eines Smarthome rausgesucht, ohne Vorwissen wird das aber nichts.
Nimm Deinen Raspi, installier Linux auf der SD und dann iobroker, wenn das läuft zigbee Adapter und dann anlernen. Mit Docker und Zigbee2mqtt kann man sich dann irgendwann in weiter ferne mal beschäftigen. Mit so einer Installation bekommst hier dann auch Support, sobald Du Docker nutzt fallen schon mal viele im Support raus, bei Zigbee2mqtt ebenfalls. Wenn Du dann selbst eigentlich gar nicht weißt wie Du was und warum zum laufen bringen willst bzw warum es auf einmal läuft, kann Dir hier leider niemand irgendwie helfen. -
@marc-berg kann es sein (kannst du das aus den Protokollen raulesen?), dass der Port vom Mosquito noch nicht published ist und somit von außerhalb des Containers nicht erreichbar?
-
Welches Mosquitto Protokoll denn? Es gibt noch keins.
-
@marc-berg stimmt, das war ja das zigbee2mqtt Protokoll
War gedanklich bei Mosquitto, den Raspi und slzb-06 abgebaut und eingepackt, da morgen früh wieder nach Hause und von dort weitermachen bzw. von vorne beginnen am ordentlich Arbeitsplatz.
War jetzt nur am Handy und Tablet und das wird zusätzlich kompliziert/unübersichtlich. -
@toralt hi, hab mich mal etwas weiter damit beschaeftigt. Wenn ich das konzeptmaessig so zusammenfassen wuerde, waere es korrekt? Das Thema Docker und Port publishing muss dann auch noch angehen.
Der zigbee2mqtt-Container empfängt die Daten von den Zigbee-Geräten über das SLZB-06 und sendet diese als MQTT-Nachrichten an den Mosquitto-Container. Dazu verbindet sich zigbee2mqtt als MQTT-Client mit Mosquitto und veröffentlicht die Daten unter bestimmten MQTT-Themen (Topics). Der Mosquitto-Container (der MQTT-Broker) nimmt diese Nachrichten entgegen und verwaltet sie.
Der ioBroker zigbee2mqtt-Adapter fungiert ebenfalls als MQTT-Client und stellt eine Verbindung zum Mosquitto-Container her. Der Adapter "abonniert" die relevanten MQTT-Themen, unter denen zigbee2mqtt die Zigbee-Daten veröffentlicht. Sobald Mosquitto eine neue Nachricht zu einem dieser abonnierten Themen empfängt, leitet er diese an den ioBroker.zigbee2mqtt-Adapter weiter. Der Adapter verarbeitet diese Nachrichten und stellt die darin enthaltenen Informationen über die Zigbee-Geräte als nutzbare Datenpunkte in ioBroker zur Verfügung.
Die Kommunikation läuft also über den zentralen Punkt Mosquitto: zigbee2mqtt sendet Daten an Mosquitto, und ioBroker holt sich diese Daten von Mosquitto ab.