(eigentlich kein FHEM-Thema)
Ich bekomme zigbee2MQTT im Docker-Container zwar zum Laufen, aber nicht konfiguriert.
Auf dem Raspi
Zitatls -la /dev/serial/by-id/
usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2439911-if00 -> ../../ttyACM0
usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -> ../../ttyUSB0
usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_48d17ff1cb8aef118f9e24ccef8776e9-if00-port0 -> ../../ttyUSB1
Den Container starte ich mit
Zitatdocker run --name zigbee2mqtt --restart=unless-stopped --device=/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_48d17ff1cb8aef118f9e24ccef8776e9-if00-port0:/dev/ttyACM0 -p 8089:8080 -v $(pwd)/data:/app/data -v /run/udev:/run/udev:ro -e TZ=Europe/Amsterdam ghcr.io/koenkk/zigbee2mqtt
Damit bekomme ich die Konfigurationsseite von zigbee2mqtt. Unter "Found Devices" werden alle USB-Geräte des Raspi aufgelistet und auch mit dem Mappping des Host. Egal was ich dann ausprobiere, jedes submit führt wieder zur Konfigurationsseite.
Wieso sehe ich die anderen USB-Geräte?
Wieso wird Sonoff_Zigbee_3.0_USB_Dongle mit ttyUSB1 und nicht mit ttyACM0?
Was sagt denn:docker exec zigbee2mqtt ls -la /dev
Eigentlich dürfte Z2M aber im Container nicht die Devices des Docker-Hosts sehen. Sicher, dass Z2M nicht parallel als nicht-container irgendwo läuft und du aus Versehen gar nicht mit port 8089 verbunden bist?
Poste bitte auch mal Log von Z2M beim Start.
Danke, fürs Helfen.
Zitat von: passibe am 09 Januar 2026, 22:42:28Was sagt denn:
docker exec zigbee2mqtt ls -la /dev
total 4
drwxr-xr-x 5 root root 340 Jan 9 21:41 .
drwxr-xr-x 1 root root 4096 Jan 9 21:38 ..
lrwxrwxrwx 1 root root 13 Jan 9 21:41 fd -> /proc/self/fd
crw-rw-rw- 1 root root 1, 7 Jan 9 21:41 full
drwxrwxrwt 2 root root 40 Jan 9 21:41 mqueue
crw-rw-rw- 1 root root 1, 3 Jan 9 21:41 null
lrwxrwxrwx 1 root root 8 Jan 9 21:41 ptmx -> pts/ptmx
drwxr-xr-x 2 root root 0 Jan 9 21:41 pts
crw-rw-rw- 1 root root 1, 8 Jan 9 21:41 random
drwxrwxrwt 2 root root 40 Jan 9 21:41 shm
lrwxrwxrwx 1 root root 15 Jan 9 21:41 stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15 Jan 9 21:41 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 Jan 9 21:41 stdout -> /proc/self/fd/1
crw-rw-rw- 1 root root 5, 0 Jan 9 21:41 tty
crw-rw---- 1 root dialout 188, 1 Jan 9 21:41 ttyACM0
crw-rw-rw- 1 root root 1, 9 Jan 9 21:41 urandom
crw-rw-rw- 1 root root 1, 5 Jan 9 21:41 zero
Zitat von: passibe am 09 Januar 2026, 22:42:28Sicher, dass Z2M nicht parallel als nicht-container irgendwo läuft und du aus Versehen gar nicht mit port 8089 verbunden bist?
Das wäre für mich nicht erklärbar, denn ich habe bisher zigbee2mqtt nur im Docker getestet.
Wenn ich zum Test den Port aus dem Container auf 8119 umbiege, dann antwortet auf 8089 nichts mehr.
Zitat von: passibe am 09 Januar 2026, 22:42:28Eigentlich dürfte Z2M aber im Container nicht die Devices des Docker-Hosts sehen.
Meine ich auch. Gibt es eine Einstellung für Docker, das alle Geräte durchreicht? Habe ich da mal was kaputt gemacht?
Zitat von: passibe am 09 Januar 2026, 22:42:28Poste bitte auch mal Log von Z2M beim Start.
[2026-01-10 11:16:04] info: z2m: Logging to console, file (filename: log.log)
[2026-01-10 11:16:04] info: z2m: Starting Zigbee2MQTT version 2.7.2 (commit #3a49c95786c2fba749e7696aab4cc38e467d2c4c
)
[2026-01-10 11:16:04] info: z2m: Starting zigbee-herdsman (8.0.1)
[2026-01-10 11:16:04] info: zh:adapter:discovery: Matched adapter: {"path":"/dev/ttyUSB1","manufacturer":"ITead","serialNumber":"48d17ff1cb8aef118f9e24ccef8776e9","pnpId":"usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_48d17ff1cb8aef118f9e24ccef8776e9-if00-port0","vendorId":"10c4","productId":"ea60"} => zstack: 4
[2026-01-10 11:16:04] info: zh:zstack:znp: Opening SerialPort with {"path":"/dev/ttyUSB1","baudRate":115200,"rtscts":false,"autoOpen":false}
[2026-01-10 11:16:04] error: z2m: Error while starting zigbee-herdsman
[2026-01-10 11:16:04] error: z2m: Failed to start zigbee-herdsman
[2026-01-10 11:16:04] error: z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start_crashes-runtime.html for possible solutions
[2026-01-10 11:16:04] error: z2m: Exiting...
[2026-01-10 11:16:04] error: z2m: Error: Error: No such file or directory, cannot open /dev/ttyUSB1
Ah, ok. Im Dateisystem sind auch nicht alle weitergereicht, sonst hättest du unter /tty im Container noch ganz viele andere. Vermutlich liegt das an udev, dass die autodiscovery alle sieht.
Aber stell doch einfach in der configuration.yaml den Pfad manuell auf /dev/ttyACM0. Dann ist er der Pfad fix und passt genau zu deinem Mapping.
Zitat von: passibe am 10 Januar 2026, 12:19:39stell doch einfach in der configuration.yaml den Pfad manuell auf /dev/ttyACM0
Das hat geholfen.
Jetzt muss ich noch das/die Netzwerk/e anpassen, damit sich zigbee2mqtt mit MQTT im FHEM-Container verbindet.
Aber, seit dem hängt sich der Container FHEM auf. Ich muss das mal beobachten.
Zitat von: rabehd am 10 Januar 2026, 13:15:22Jetzt muss ich noch das/die Netzwerk/e anpassen, damit sich zigbee2mqtt mit MQTT im FHEM-Container verbindet.
Das wäre jetzt der Zeitpunkt wo du auf docker compose umsteigen solltest (davon hatten wir gestern auch kurz: https://forum.fhem.de/index.php?topic=143596.msg1355471#msg1355471 )
Denn wenn du sowohl FHEM als auch Z2M in dasselbe compose file packst, werden sie beide automatisch Teil des von docker compose erstellten Netzwerks. Würde ich hier unbedingt empfehlen, es sind ja auch Services die sowieso zusammengehören.
Falls nicht, musst du selbst Netzwerk erstellen (also mit
docker network create ...) und dann beide container so starten, dass sie da hinzugefügt werden.
Ich nutze normalerweise Docker per Portainer mit Stacks (compose). Den erste Versuch hatte ich auch mit der compose-Datei vom zigbee2mqtt gemacht. Weil das mit dem Stick nicht klappte, habe ich das Beispiel aus dem Forum hier genutzt und jetzt auch als eigenes compose unter Stack angelegt.
Es ist aber egal, ob sobald ein zigbee2mqtt-Container läuft, hängt der FHEM-Container.
Hier mal ein Beispiel meiner Compose-File für Z2M, damit sollte es eigentlich klappen. Habs auf deine Gegebenheiten angepasst, ggfs. musst du das depends_on noch rausschmeißen, bis alles läuft:
z2m:
image: koenkk/zigbee2mqtt:latest
container_name: zigbee2mqtt
restart: unless-stopped
depends_on:
fhem:
condition: service_healthy
ports:
- "8089:8080"
volumes:
- ./data:/app/data
- /run/udev:/run/udev:ro
devices:
- /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_48d17ff1cb8aef118f9e24ccef8776e9-if00-port0:/dev/ttyACM0
privileged: false
environment:
TZ: Europe/BerlinZitat von: rabehd am 10 Januar 2026, 15:21:34hängt der FHEM-Container
Wie kommt das? Steht was im FHEM-Log? Was sagt das Z2M-Log jetzt? Welchen MQTT-Broker benutzt du? MQTT2_SERVER direkt in FHEM?
Ich kann das jetzt eingrenzen.
Die Kommunikation zigbee2mqtt zu MQTT hat ein Problem und "bremst" FHEM.
[2026-01-10 16:09:40] info: z2m: Connecting to MQTT server at mqtt://192.168.31.60:1883
[2026-01-10 16:09:40] info: z2m: Connected to MQTT server
[2026-01-10 16:09:40] info: z2m:mqtt: MQTT publish: topic 'esperanto2023/bridge/state', payload '{"state":"online"}'
[2026-01-10 16:09:40] info: z2m: Started frontend on port 8080
[2026-01-10 16:09:40] info: z2m: Zigbee2MQTT started!
[2026-01-10 16:09:42] info: z2m:mqtt: MQTT publish: topic 'esperanto2023/bridge/state', payload '{"state":"online"}'
[2026-01-10 16:11:10] error: z2m: MQTT error: Keepalive timeout
[2026-01-10 16:11:10] error: z2m: Not connected to MQTT server!
[2026-01-10 16:11:20] error: z2m: Not connected to MQTT server!
[2026-01-10 16:11:30] error: z2m: Not connected to MQTT server!
[2026-01-10 16:11:40] error: z2m: Not connected to MQTT server!
[2026-01-10 16:11:41] error: z2m: MQTT error: connack timeout
[2026-01-10 16:14:30] error: z2m: Not connected to MQTT server!
[2026-01-10 16:14:30] error: z2m: MQTT error: connect ECONNREFUSED 192.168.31.60:1883
[2026-01-10 16:14:31] error: z2m: MQTT error: connect ECONNREFUSED 192.168.31.60:1883
[2026-01-10 16:14:36] info: z2m: Connected to MQTT server
[2026-01-10 16:14:36] info: z2m:mqtt: MQTT publish: topic 'esperanto2023/bridge/state', payload '{"state":"online"}'
[2026-01-10 16:16:06] error: z2m: MQTT error: Keepalive timeout
[2026-01-10 16:16:10] error: z2m: Not connected to MQTT server!
[2026-01-10 16:16:20] error: z2m: Not connected to MQTT server!
[2026-01-10 16:16:30] error: z2m: Not connected to MQTT server!
[2026-01-10 16:16:37] error: z2m: MQTT error: connack timeout
[2026-01-10 16:16:39] error: z2m: Not connected to MQTT server!
Scheinbar fehlt hier was.
defmod MQTT2Broker MQTT2_SERVER 1883 global
attr MQTT2Broker autocreate simple
attr MQTT2Broker keepaliveFactor 0
attr MQTT2Broker respectRetain 1Das Log von FHEM enthält nur die Neustarts.