Ich bin vor kurzem auf Home Assistant umgestiegen und versuche Zigbee2mqtt auf einem Raspberry Pi mit Home Assistant zu verbinden. Ich habe mir auch verschiedene Videos zur Installation vom HA Addon Zigbee2mqtt angeschaut aber leider zeigt keiner wie man einen externen Zigbee2mqtt Controller mit Home Assistant verbinden kann.
Ich habe im HA einen Mosquitto MQTT Broker erstellt und einen Benutzer angelegt.
Im Zigbee2mqtt habe ich die bei Topic alles so gelassen also (zigbee2mqtt) und bei Host habe ich die IP Adresse angegeben mit Port 1883.
Dann gibt es ja noch einen Reiter Home Assistant Integration.
In der Doku von zigbee2mqtt steht bei Homeassistent muss dieses aktiviert werden. Ich habe in der zigbee2mqtt conf homeassistant: true gesetzt. Danach neugestartet.
Im Home Assistant erscheinen viele Geräte in der MQTT Integration. Also die Verbindung steht schonmal. Aber ich habe seitdem das Problem, sobald die Verbindung zu Home Assistant steht werden die Werte der Sensoren (Bewegungsmelder, Temperatursensor) auf Null geschrieben. Wenn ich dann z.b. den Bewegungsmelder auslösen sieht man ganz kurz die Auslösung und dann direkt Null.
Ich vermute es liegt an der Home Assistant Integration. Kann mir da jemand helfen?
Ich möchte ungern zigbee2mqtt auf Home Assistant laufen lassen weil mein Server in einer Ecke steht und dann der Empfang nicht gut sein wird. Deshalb habe ich extra ein externes Gerät genommen und zentral aufgestellt.
Kleine Ergänzung: Ich habe bis jetzt zigbee2mqtt in Verbindung mit iobroker genutzt. Jetzt wollte ich nur den mqtt Host umstellen.
Du willst also Zigbee2Mqtt extern weiter laufen lassen? Mache ich genauso, so kann man schalten auch wenn HA mal nicht will.
Du musst nur MQTT unter “Geräte und Dienste” installieren. Keinen MQTT-Broker und auch kein Zigbee2Mqtt unter den Addons. Danach dauert es eine weile bis alle Satusmeldungen angekommen sind. Nach einem Neustart von HA dauert es auch etwas bis jeder Status der Geräte angezeigt wird
Wenn ich auf Home Assistant den Mqtt Broker lösche dann bringt zigbee2mqtt Fehlermeldungen “MQTT nicht erreichbar”. In der zigbee2mqtt config habe ich aktuell die IP von meinem Home Assistant eingetragen.
Meine Überlegung wäre jetzt, auf dem Zigbee2mqtt einen neuen Container zu erstellen mit mosquitto Broker und dann in der zigbee2mqtt config bei Mqtt localhost eintragen.
Im Home Assistant bei Dienste dann MQTT (Client) installieren und warten bis die Geräte erscheinen. So wie du meintest @svensch
Ah okay. Ja also ich betreibe Zigbee2Mqtt und MQTT im gleichen Docker. HA empfängt nurnoch die Daten. Wenn der Broker in HA läuft, würde dann ebenfalls Zigbee ausfallen wenn HA nicht mehr will.
Mein Aufbau ist z2m und mqtt in einer vm mit docker-compose und HA ebenfalls in einer eigenen VM
Top danke. Das klingt verständlich und auch viel besser als den Broker im HA laufen zu lassen.
Ich werde es mal ausprobieren noch ein mosquitto aufzusetzen. Eine Frage noch: Warum hast du beim Mqtt zwei Ports? Also 1883 für Mqtt und für was ist 9001?
Ich habe parallel nochmal in meiner conf geschaut und mit der Doku abgeglichen. Zigbee2mqtt MQTT Config
Ich bin über den Punkt gestolpert:
advanced:
Optional: state caching, MQTT message payload will contain all attributes, not only changed ones.
Has to be true when integrating via Home Assistant (default: true)
cache_state: true
Bei mir war in der config cache_state: false
Seitdem bekomme ich keine null Werte mehr bei Geräten wo sich was ändert.
Da musst du dann nur MQTT unter Geräte hinzufügen und die IP-Adress und Port angeben und es sollte sofort losgehen. Benutzername usw… brauchst du dann nicht wenn du es genauso nachbauen würdest.
Alles klar. Dann hört der nur auf diesen Broker oder? Kann ich im HA mehrere Adressen angeben? Hintergrund: Ich nutze Tasmota und habe deshalb noch einen Broker laufen. Wenn ich jetzt in Geräte die Adresse ändere kann Tasmota wahrscheinlich nicht mehr kommunizieren.
Der Broker geht natürlich auch mit allen anderen Geräten, habe meine Ring auch über diesen laufen lassen. Dafür dann einfach mqtt://IP-Adresse:Port vom Host angeben.
Im HA habe ich die Dienste MQTT aktiviert und da bei Konfiguration die IP:Port eingetragen.
Also hört der HA auf die Topic vom zigbee2mqtt.
Wie kann ich dem HA sagen, höre auch noch auf eine andere IP. In der Konfiguration kann ich nur einen Server anlegen.
In meinem Fall, wie sage ich dem Tasmota schicke die Mqtt Daten an den HA? Ich habe ja vorher in der Geräte/MQTT/Konfiguration die IP auf die zigbee2mqtt gesetzt.
Ich schicke alle Geräte an den MQTT von Zigbee, der Broker ist ja soweit unabhänig von Zigbee. Deine Tasmota kannst du einfach auf dem MQTT-Broker im Docker schicken. HA kann nur einen MQTT-Broker.
Ich habe so überlegt, wenn ich einen zweiten zigbee2mqtt hätte wie könnte ich den in HA integrieren aber ja ist logisch. Einfach an den Broker im Zigbee2mqtt schicken lassen.
Die Tasmota könnte ich ja trotzdem an den Broker vom HA schicken.
Ich danke dir, jetzt hat sich glaube alles aufgeklärt. Vielen Dank
ich habe ein ähnliches Vorhaben, aber evtl auch nur ein Verständnisproblem.
I habe HA auf einer Synology NAS im Docker Container laufen.
Aktuell nutze ich noch die DECONZ Integration für meine ZigBee Geräte. (ConBee II Stick auf einem PI3)
Jetzt habe ich mir einen SonOff 3 USB Stick bestellt.
Diesen möchte ich gerne auf einem PI4 nutzen (geht ja in der Synology nicht)
MQTT läuft schon auf einer anderen NAS, darüber habe ich die Sonoff Geräte in HA eingebunden.
Ihr habt es aber trotzdem am laufen. Wie habt ihr dass gemacht ? Also dass die Geräte in HA landen und auch erstellt werden ? Und dass man all die schönen Features nutzen kann, die Simon in seinen Videos gezeigt hat ?
Hier noch einmal das Setup
NAS1 → HA in Docker
NAS2 → MQTT Broker
PI4 → Sonoff 3 Stick
EDIT: Ich bin jetzt von Docker auf einen Intel NUC umgezogen in dem auch der Sonoff3 Stick steckt. Jetzt funktioniert alles.
wie aktuell auch etliche andere bin ich gerade dabei vom ioBroker auf HA umzusteigen.
Bis auf das Thema zigbee2mqtt läuft auch alles.
Hier kurz mein Aufbau.
Proxmox
1. VM → mit ioBroker & Zigbee2Mqtt (läuft stabil) IP: 192.168.179.220
2. VM → homassistent IP: 192.168.179.29
Mein Ziel ist es im HA das vorhandene/externe Zigbee2qmtt einzubinden, da ich ca. 50 Geräte laufen habe und mir die Arbeit sparen möchte alles neu anzulernen.
Den ioBroker werde ich dann abschalten.
Nach gefühlt stundenlanger Suche im Google & HA Verbindungsversuchen bin ich mit meinem Latein am Ende.
Verbinungsversuch aus HA mit der Integration “MQTT” waren alle von Erfolg - siehe Bild.
Mit dem HA AddOn “Zigbee2mqtt Proxy” bekommen ich die Zigbb2mqtt Oberfläche angezeigt.