FHEM Forum

FHEM - Hausautomations-Systeme => Zigbee => Thema gestartet von: Kurt77 am 20 August 2025, 15:12:31

Titel: zigbee2mqtt: Umzug nach docker
Beitrag von: Kurt77 am 20 August 2025, 15:12:31
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
Titel: Aw: zigbee2mqtt: Umzug nach docker
Beitrag von: ergerd am 20 August 2025, 17:16:11
Hallo Kurt,

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

Grüße
ergerd
Titel: Aw: zigbee2mqtt: Umzug nach docker
Beitrag von: Kurt77 am 20 August 2025, 17:27:58
hallo ergerd,
danke, aber wo sollte ich im Kontext zigbee2mqtt die ip-Adresse "anpassen"?
Gruß Kurt
Titel: Aw: zigbee2mqtt: Umzug nach docker
Beitrag von: ergerd am 20 August 2025, 18:38:43
Ich musste die IP Adresse in die configuration.yaml vom zigbee2mqtt eintragen, damit der Coordinator
erreicht wird
Titel: Aw: zigbee2mqtt: Umzug nach docker
Beitrag von: Kurt77 am 20 August 2025, 19:31:16
Hallo ergerd,
das will ich gerne ausprobieren, aber wie ist die Syntax?
Danke und Gruß,
Kurt
Titel: Aw: zigbee2mqtt: Umzug nach docker
Beitrag von: ergerd am 20 August 2025, 20:24:26
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'

Titel: Aw: zigbee2mqtt: Umzug nach docker
Beitrag von: passibe am 20 August 2025, 22:08:23
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:

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.