Zum Inhalt

Zigbee2MQTT einrichten

Zigbee-Geräte (Lampen, Sensoren, Schalter) herstellerübergreifang und ohne Cloud in Home Assistant bringen. Zigbee2MQTT übersetzt zwischen deinem Zigbee-Funknetz und MQTT. Diese Anleitung nutzt einen netzwerkgebundenen Koordinator (SLZB-06) – der hängt am LAN, kein USB-Stick nötig.

Voraussetzungen

  • Ein laufender MQTT-Broker (z. B. Mosquitto) mit bekannter IP
  • Ein Zigbee-Koordinator im Netzwerk (hier: SLZB-06) mit fester IP
  • Docker auf dem Server

1. Ordner und Konfiguration anlegen

mkdir -p zigbee2mqtt/data && cd zigbee2mqtt

Erstelle data/configuration.yaml:

homeassistant: true
permit_join: false

mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://<mosquitto-ip>:1883
  # user: dein_user      # nur falls dein Broker Auth verlangt
  # password: dein_pass

serial:
  port: tcp://<slzb06-ip>:6638
  adapter: ember          # SLZB-06 (EFR32) – für ältere Firmware ggf. 'ezsp'

frontend:
  port: 8080

advanced:
  log_level: info

2. Compose-Datei anlegen

compose.yaml:

services:
  zigbee2mqtt:
    image: koenkk/zigbee2mqtt:latest
    container_name: zigbee2mqtt
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
      - /run/udev:/run/udev:ro
    environment:
      - TZ=Europe/Berlin

USB-Koordinator statt Netzwerk?

Nutzt du einen USB-Stick (z. B. Sonoff ZBDongle), ersetzt du serial.port durch den Gerätepfad (/dev/ttyUSB0) und ergänzt in der Compose ein devices:-Mapping. Beim SLZB-06 über LAN entfällt das komplett.

3. Starten und Logs prüfen

docker compose up -d
docker compose logs -f

Im Log sollte kurz nach dem Start Zigbee2MQTT started successfully! erscheinen. Danach die Oberfläche öffnen: http://<server-ip>:8080.

4. Geräte anlernen

  1. In der Oberfläche oben rechts auf Permit join (All) klicken.
  2. Das Zigbee-Gerät in den Anlernmodus versetzen (meist: 5–10 s Reset-Taste halten).
  3. Das Gerät taucht in der Liste auf – umbenennen nicht vergessen.
  4. Nach dem Anlernen Permit join wieder ausschalten (Sicherheit).

Nicht dauerhaft offen lassen

permit_join sollte im Normalbetrieb immer aus sein. Steht es auf true, könnte sich prinzipiell fremde Hardware in dein Netz einklinken.

5. In Home Assistant

Weil oben homeassistant: true gesetzt ist und die MQTT-Integration in HA läuft, erscheinen alle Geräte über MQTT-Autodiscovery automatisch. Nichts weiter zu tun – die Entitäten sind sofort in HA verfügbar.

Fertig

Ab jetzt läuft dein Zigbee-Netz komplett lokal. Der große Vorteil gegenüber den Hersteller-Bridges: alle Marken in einem Netz, kein Cloud-Zwang, volle Kontrolle.