Verbindungsversuche von zigbee2mqtt bremsen FHEM aus

Begonnen von rabehd, 14 Januar 2026, 17:54:58

Vorheriges Thema - Nächstes Thema

rabehd

Ich habe einen MQTT2_SERVER.
Bisher gab es keine Probleme mit der Verbindung von anderen Geräten (tasmota, shelly, zendure) zu Fhem.
FHEM läuft im Docker-Container, dort habe ich auch einen Container für zigbee2mqtt aufgebaut, konfiguriert und läuft. Zigbee-Geräte werden gefunden.
Zigbee2mqtt versucht sich mit FHEM zu verbinden, ich sehe das auch im MQTT-Explorer, aber eine stabile Verbindung kommt nicht zustande. FHEM wird langsam, so dass der Container auf unhealthy geht.
[14.1.2026, 17:21:53] z2m: MQTT error: connack timeout
[14.1.2026, 17:21:54] z2m: Not connected to MQTT server!
[14.1.2026, 17:22:24] z2m: MQTT error: connack timeout
[14.1.2026, 17:22:24] z2m: Not connected to MQTT server!
configuration.yaml von zigbee2mqtt
version: 4
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://192.168.31.60:1883
  client_id: zigbee2mqtt
  force_disable_retain: true
  keepalive: 300
serial:
  port: /dev/ttyACM0
  adapter: zstack
  baudrate: 115200
  rtscts: false
advanced:
  log_level: info

defmod MQTT2Broker MQTT2_SERVER 1883 global
attr MQTT2Broker autocreate simple
attr MQTT2Broker keepaliveFactor 0
attr MQTT2Broker respectRetain 1

Sieht jemand meinen Fehler?

Auch funktionierende Lösungen kann man hinterfragen.

rudolfkoenig

ZitatFHEM wird langsam, so dass der Container auf unhealthy geht.
Womoeglich haengt das mit der Menge der vom z2m uebermittelten Daten, und die darauf anspringenden notify/DOIF/FileLog/etc.
Ist die CPU Belastung hoch?
Was sieht man im "Show MQTT traffic" auf der Detailseite von MQTT2Broker?

rabehd

Das ist eigentlich erst ein Testaufbau.
Zitat von: rudolfkoenig am 14 Januar 2026, 18:53:06Womoeglich haengt das mit der Menge der vom z2m uebermittelten Daten, und die darauf anspringenden notify/DOIF/FileLog/etc.
Das ist unwahrscheinlich, da ja schon der Verbindungsaufbau bremst. Das passierte schon ohne Geräte in zigbee2mqtt. Jetzt sind gerade mal 2 Sensoren drin.
Zitat von: rudolfkoenig am 14 Januar 2026, 18:53:06Was sieht man im "Show MQTT traffic" auf der Detailseite von MQTT2Broker?
Da komme ich nur vor dem Starten von zigbee2mqtt hin, oder ich warte 10 Minuten.
Es ist nichts sichtbar.
Es kommen auch keine Sensordaten im MQTT-Explorer an.
Zitat von: rudolfkoenig am 14 Januar 2026, 18:53:06Ist die CPU Belastung hoch?
Da ändert sich fast nichts. Die anderen Container arbeiten weiter ohne Probleme.


Auch funktionierende Lösungen kann man hinterfragen.

rabehd

Ergänzend das Log von zigbee2mqtt.
[2026-01-14 20:34:39] info: z2m: Connecting to MQTT server at mqtt://192.168.31.60:1883
[2026-01-14 20:34:39] info: z2m: Connected to MQTT server
[2026-01-14 20:34:39] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'
[2026-01-14 20:34:40] info: z2m: Started frontend on port 8080
[2026-01-14 20:34:40] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x00158d0008748115', payload '{"angle":11,"angle_x":3,"angle_x_absolute":87,"angle_y":0,"angle_y_absolute":90,"angle_z":87,"strength":10,"vibration":false,"x_axis":71,"y_axis":-10,"z_axis":1314}'
[2026-01-14 20:34:40] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x187a3efffe395a82', payload '{"battery":100,"humidity":56.4,"temperature":23.6,"update":{"installed_version":8448,"latest_version":8704,"state":"available"}}'
[2026-01-14 20:34:40] info: z2m: Zigbee2MQTT started!
[2026-01-14 20:34:41] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'
[2026-01-14 20:35:41] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x00158d0008748115', payload '{"angle":11,"angle_x":3,"angle_x_absolute":87,"angle_y":0,"angle_y_absolute":90,"angle_z":87,"linkquality":81,"strength":12,"vibration":false,"x_axis":71,"y_axis":-10,"z_axis":1314}'
Auch funktionierende Lösungen kann man hinterfragen.

passibe

Wieso gehst du über die externe IP des Servers und nicht intern übers Docker-Netzwerk? Würde mal testen, ob das was ändert. Weil eigentlich drehst du da unnötige Schleifen.

Den Namen des FHEM-Containers nach mqtt:// (+ :1883) eintragen dürfte reichen, solange die Container beide Teil desselben Docker-Netzwerks sind. Das passiert übrigens automatisch, wenn sie in ein und derselben Compose-Datei liegen (sofern darin keine externen Netzwerke definiert sind).