zigbee2mqtt: Umzug nach docker

Begonnen von Kurt77, 20 August 2025, 15:12:31

Vorheriges Thema - Nächstes Thema

Kurt77

Hallo,
ich versuche, eine laufende (konventionelle) Installation in einen docher-Container umzuziehen. dazu habe ich das "alte" data-Verzeichnis in das des Containers kopiert und den Conbee II-Stick in einen neuen Rechner gesteckt.
ins neue fhem sind keine zigbee-Geräte übernommen worden. Es gibt keine Fehlermeldungen.
Was kann ich tun, um mich der Problemlösung zu nähern?

Danke und Gruß,
Kurt

ergerd

Hallo Kurt,

der neue Rechner mit dem Conbee Stick hat sicherlich auch eine neue IP? Wurde diese entspr. angepasst?

Grüße
ergerd
FHEM auf RasPi 4, ZigBee, 1Wire2WLAN, DS2423, Buderus KM200, Button+, LaCrosseGateway, PCA301, ConBee III, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

Kurt77

hallo ergerd,
danke, aber wo sollte ich im Kontext zigbee2mqtt die ip-Adresse "anpassen"?
Gruß Kurt

ergerd

Ich musste die IP Adresse in die configuration.yaml vom zigbee2mqtt eintragen, damit der Coordinator
erreicht wird
FHEM auf RasPi 4, ZigBee, 1Wire2WLAN, DS2423, Buderus KM200, Button+, LaCrosseGateway, PCA301, ConBee III, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

Kurt77

Hallo ergerd,
das will ich gerne ausprobieren, aber wie ist die Syntax?
Danke und Gruß,
Kurt

ergerd

Gerne. Ich habe als Coordinator einen ZStackLan Adapter, der interessante Eintrag ist also der Abschnitt "serial".
IP und Port sind an deine anzupassen.

frontend:
  enabled: true
homeassistant:
  enabled: false
mqtt:
  client_id: zigbee_synology
  base_topic: zigbee2mqtt
  server: mqtt://192.168.XXX.XXX:1883
serial:
  adapter: zstack
  port: tcp://192.168.XXX.XXX:6638
advanced:
  log_level: warning
version: 4
devices:
  '0xa4c138d4034cffd0':
    friendly_name: '0xa4c138d4034cffd0'
  '0x00158d0008dfc5e5':
    friendly_name: '0x00158d0008dfc5e5'
  '0xa4c1381c757a7dce':
    friendly_name: '0xa4c1381c757a7dce'
  '0x00158d0008ab2d21':
    friendly_name: '0x00158d0008ab2d21'
  '0x00158d0008a6b311':
    friendly_name: '0x00158d0008a6b311'
  '0xa4c138feb7ce96ef':
    friendly_name: '0xa4c138feb7ce96ef'

FHEM auf RasPi 4, ZigBee, 1Wire2WLAN, DS2423, Buderus KM200, Button+, LaCrosseGateway, PCA301, ConBee III, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

passibe

#6
Der Conbee II hat keine IP, der ist ja über USB angebunden.
Zitat von: ergerd am 20 August 2025, 18:38:43damit der Coordinator erreicht wird
muss also keine IP und auch kein Port angepasst werden, sondern lediglich der Pfad.

@Kurt77 wie startest du denn den container? docker run? docker compose? Bitte dann mal:
  • je nach dem deinen docker run-Befehl oder dein compose file posten
  • deine configuration.yaml posten (ggfs. irgendwelche secrets wie den network_key zensieren)
  • einen Auszug aus dem Zigbee2MQTT-Log beim Start posten

Zitat von: Kurt77 am 20 August 2025, 15:12:31Es gibt keine Fehlermeldungen.
Woher nimmst du das? Aus dem Zigbee2MQTT-Log? Wenn es dort keine Fehlermeldungen gibt, dann müsstest du nämlich eigentlich alle Devices über MQTT einbinden können.

For what it's worth hier mein compose file (aufs Wesentliche reduziert):
services:
  fhem:
    image: ghcr.io/fhem/fhem-docker:4-bullseye
    restart: unless-stopped
    environment:
      TZ: Europe/Berlin
    volumes:
      - ./fhem:/opt/fhem
    ports:
      - "1883:1883"
  z2m:
    image: koenkk/zigbee2mqtt:latest
    restart: unless-stopped
    volumes:
      - ./z2m:/app/data
      - /run/udev:/run/udev:ro
    devices:
      - /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2432856-if00:/dev/ttyACM0
    privileged: false
    environment:
      TZ: Europe/Berlin
Weil ich einen reverse proxy benutze, hab ich den Webfrontend-Port von Zigbee2MQTT nicht durchgereicht. Nutzt man keinen reverse Proxy müsste man das ggfs. noch machen, um auf die Weboberfläche zugreifen zu können:
    ports:
      - "9001:9001"

Und die zugehörige configuration.yaml (auch mit einem Conbee-II):
homeassistant:
  enabled: false
mqtt:
  client_id: zigbee
  base_topic: z2m
  server: mqtt://fhem
  user: '!secret.yaml user'
  password: '!secret.yaml password'
serial:
  adapter: deconz
  port: /dev/ttyACM0
advanced:
  network_key: '!secret.yaml network_key'
  log_syslog:
    app_name: Zigbee2MQTT
    eol: /n
    host: localhost
    localhost: localhost
    path: /dev/log
    pid: process.pid
    port: 123
    protocol: tcp4
    type: '5424'
device_options: {}
frontend:
  enabled: true
  port: 9001
  host: 0.0.0.0
availability:
  enabled: true
  active:
    timeout: 90
  passive:
    timeout: 721
blocklist: []
groups: {}
devices:
   [hier folgen dann die ganzen devices ... ]
secrets.yaml kann man sich natürlich sparen und MQTT-Nutzername, MQTT-Passwort und network_key direkt in der configuration.yaml eingeben.