Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Mikrocontroller
    • Arduino
    • ESP32 & Co.
    • Calliope Mini
    • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
Menu

ZigBee USB-Stick unter Home Assistant mit Docker einrichten

Veröffentlicht am 1. Juni 202631. Mai 2026 von Stefan Draeger

Damit Home Assistant direkt mit ZigBee-Geräten kommunizieren kann, wird ein sogenannter ZigBee-Koordinator benötigt. In meinem Fall verwende ich einen ZigBee 3.0 USB Dongle OpenHAB mit dem EFR32MG21 SoC. Der Stick wird einfach per USB an den Home-Assistant-Server angeschlossen und stellt anschließend das ZigBee-Netzwerk bereit.

Da ich Home Assistant jedoch nicht als Home Assistant OS, sondern als Docker-Container betreibe, gibt es einen kleinen zusätzlichen Schritt: Der USB-Stick muss vom Host-System in den Docker-Container durchgereicht werden. Andernfalls erkennt Home Assistant den Stick zwar auf dem Linux-System, kann aber innerhalb des Containers nicht darauf zugreifen.

ZigBee USB-Stick unter Home Assistant mit Docker einrichten
Dieses Video auf YouTube ansehen.

Inhaltsverzeichnis

  • USB-Stick unter Linux erkennen
  • Docker Compose anpassen
  • ZHA-Integration in Home Assistant einrichten
  • Erstes Zigbee-Gerät hinzufügen: Shelly Plus 1 Gen4 einrichten
  • Fazit

USB-Stick unter Linux erkennen

Nachdem der ZigBee-Stick eingesteckt wurde, kann man zunächst prüfen, ob er vom System erkannt wurde:

lsusb
auflisten der erkannten USB Geräte
auflisten der erkannten USB Geräte

In meinem Fall wird der Stick als serieller USB-Adapter erkannt. Zusätzlich sollte geprüft werden, unter welchem stabilen Gerätepfad der Stick erreichbar ist:

ls -l /dev/serial/by-id/

Die Ausgabe sieht beispielsweise so aus:

Wichtig ist hier der Pfad unter /dev/serial/by-id/. Dieser ist stabiler als /dev/ttyUSB0, da sich /dev/ttyUSB0 ändern kann, wenn später weitere USB-Geräte angeschlossen werden.

Der vollständige Pfad lautet in diesem Beispiel:

/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

Docker Compose anpassen

Damit Home Assistant den ZigBee-Stick verwenden kann, muss die docker-compose.yml ⁣erweitert werden. Entscheidend ist der Abschnitt devices.

Ein Beispiel für meine Home-Assistant-Konfiguration sieht so aus:

Docker Compose - Container konfiguration mit ZigBee Device Gerätepfad
Docker Compose – Container konfiguration mit ZigBee Device Gerätepfad
Datei compose.yml mit dem Pfad zum ZigBee-Gerät
services:
  homeassistant:
    container_name: homeassistant
    image: ghcr.io/home-assistant/home-assistant:stable
    volumes:
      - /opt/homeassistant/config:/config
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
    devices:
      - /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0:/dev/ttyUSB0
    environment:
      TZ: Europe/Berlin
    restart: unless-stopped
    privileged: true
    network_mode: host

Auf der linken Seite steht der Gerätepfad auf dem Host-System. Auf der rechten Seite wird festgelegt, unter welchem Pfad der Stick im Container verfügbar ist. In diesem Beispiel ist der Stick innerhalb des Home-Assistant-Containers unter /dev/ttyUSB0 erreichbar.

Nach der Änderung muss der Container neu erstellt und neu gestartet werden:

docker compose up -d --force-recreate

Anschließend kann geprüft werden, ob Home Assistant sauber gestartet ist:

docker compose logs -f homeassistant
Docker Container nach der Änderung neuerstellen und starten
Docker Container nach der Änderung neuerstellen und starten

ZHA-Integration in Home Assistant einrichten

Jetzt kann die eigentliche Einrichtung in Home Assistant erfolgen.

Dazu öffnest du in Home Assistant:

Einstellungen → Geräte & Dienste → Integration hinzufügen

Dort suchst du nach „Zigbee Home Automation“

Falls Home Assistant den Stick automatisch erkennt, wird die Einrichtung direkt vorgeschlagen. Andernfalls kann die Integration manuell hinzugefügt werden.

Home Assistant - Zigbee Gerät hinzufügen - Step 1
Home Assistant – Zigbee Gerät hinzufügen – Step 1

Die Einrichtung erfolgt über einen Wizard, welcher durch die Schritte führt. In meinem Fall wähle ich die automatische Einrichtung, welche am Ende dazu führt, dass mein Gerät als ZigBee-Koordinator eingerichtet ist.

Home Assistant - ZHA hinzufügen - Step 2 - Gerätepfad eingeben
Home Assistant - ZHA hinzufügen - Step 3 - Installationsmodus wählen
Home Assistant - ZHA hinzufügen - Step 4 - Zigbee Netzwerk aufbauen
Home Assistant - ZHA hinzufügen - Step 5 - Gerät benennen und einem Bereich zuordnen

Erstes Zigbee-Gerät hinzufügen: Shelly Plus 1 Gen4 einrichten

Nachdem der Zigbee USB-Stick erfolgreich in Home Assistant eingerichtet wurde, kann das erste Zigbee-Gerät hinzugefügt werden. In meinem Fall verwende ich dafür einen Shelly Plus 1 Gen4.

Der Shelly Plus 1 Gen4 ist besonders interessant, da er nicht mehr nur per WLAN und Bluetooth genutzt werden kann, sondern zusätzlich auch Matter und Zigbee unterstützt. Dadurch lässt sich der smarte Schalter sehr flexibel in unterschiedliche Smart-Home-Systeme integrieren.

Bevor ich den Shelly in Home Assistant eingebunden habe, habe ich ihn zunächst ganz normal über die Shelly Cloud eingerichtet. Anschließend wurde das Gerät auf die Firmware-Version 1.7.5 aktualisiert. Erst danach konnte ich im lokalen Webfrontend des Shelly unter:

Settings → Switch to ZigBee Firmware

die Firmware auf den Zigbee-Betrieb umstellen.

Shelly Gen4 wechsel der Firmware für ZigBee - Hinweis
Shelly Gen4 wechsel der Firmware für ZigBee – Hinweis

Der Wechsel dauert einige Sekunden. Währenddessen wird die passende Zigbee-Firmware auf das Gerät übertragen und der Shelly startet anschließend im Zigbee-Modus neu. Danach steht das Gerät nicht mehr wie gewohnt über die WLAN-Firmware zur Verfügung, sondern kann als Zigbee-Gerät an einem Zigbee-Koordinator angelernt werden.

Shelly Gen4 wechsel der Firmware für ZigBee
Shelly Gen4 wechsel der Firmware für ZigBee

In Home Assistant wird dazu die bereits eingerichtete ZHA-Integration geöffnet. Dort kann über Gerät hinzufügen beziehungsweise Add Device die Suche nach neuen Zigbee-Geräten gestartet werden. Sobald der Shelly im Pairing-Modus ist, wird er von Home Assistant erkannt und kann anschließend benannt sowie einem Bereich zugeordnet werden.

Damit das Gerät gefunden / gekoppelt werden kann, muss dieses in den Kopplungsmodus versetzt werden. Wie man diesen Modus einstellt, ist vom Gerät abhängig, bei Shelly Geräten klappt dies ab der Firmware Version 1.7.0 über die Weboberfläche.

Wird das Gerät erkannt, so wird eine Verbindung aufgebaut und zunächst lediglich die Adresse angezeigt.
Im Anschluss wird der korrekte Name angezeigt, welchen man nach Belieben ändern kann, und das Gerät lässt sich einem Bereich/ Raum zuordnen.

Shelly Plus 1 Gen4 - eingerichtet in Home Assistant
Shelly Plus 1 Gen4 – eingerichtet in Home Assistant

Nach der erfolgreichen Einrichtung steht der Shelly Plus 1 Gen4 als smarter Schalter in Home Assistant zur Verfügung und kann dort für Automationen, Szenen oder Dashboards verwendet werden.

Ausgang am Shelly Plus 1 Gen4 deaktiviert
Ausgang am Shelly Plus 1 Gen4 deaktiviert
Ausgang am Shelly Plus 1 Gen4 aktiviert
Ausgang am Shelly Plus 1 Gen4 aktiviert

Wichtig: Ein Zigbee-Gerät kann immer nur mit einem Zigbee-Netzwerk verbunden sein. Wird der Shelly über Home Assistant eingebunden, ist er Teil dieses Zigbee-Netzwerks. Soll er später wieder über eine andere Plattform oder einen anderen Funkstandard genutzt werden, muss die Firmware bzw. der Betriebsmodus entsprechend erneut gewechselt werden.

Fazit

Die Einrichtung eines Zigbee USB-Sticks unter Home Assistant ist grundsätzlich recht einfach. Die eigentliche Besonderheit entsteht erst dann, wenn Home Assistant – wie in meinem Fall – als Docker-Container betrieben wird. Der USB-Stick wird zwar vom Linux-System erkannt, muss aber zusätzlich sauber an den Container durchgereicht werden.

Mit dem stabilen Gerätepfad unter /dev/serial/by-id/ und der passenden Erweiterung in der docker-compose.yml lässt sich der Zigbee-Koordinator zuverlässig in Home Assistant einbinden. Anschließend übernimmt die ZHA-Integration die Einrichtung des Zigbee-Netzwerks.

Besonders spannend wird es mit Geräten wie dem Shelly Plus 1 Gen4. Durch die Unterstützung von WLAN, Bluetooth, Matter und Zigbee lässt sich der smarte Schalter sehr flexibel einsetzen. Nach dem Wechsel auf die Zigbee-Firmware kann er direkt in Home Assistant angelernt und für Automationen, Szenen oder Dashboards verwendet werden.

Damit ist der Grundstein für ein eigenes Zigbee-Netzwerk in Home Assistant gelegt. Weitere Sensoren, Schalter, Lampen oder Aktoren können nun Schritt für Schritt hinzugefügt und zentral über Home Assistant gesteuert werden.

Letzte Aktualisierung am: 31. Mai 2026

Foto von Stefan Draeger
Über den Autor

Stefan Draeger — Entwickler & Tech-Blogger

Ich zeige praxisnah, wie du Projekte mit Arduino, ESP32 und Smarthome-Komponenten umsetzt – Schritt für Schritt, mit Code und Schaltplänen.

Mehr Artikel von Stefan →

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • QR-Code Generator
  • Passwort Generator: Sichere Passwörter & Passphrasen erstellen
  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen
Tel.: 015565432686
E-Mail: info@draeger-it.blog

Folge mir auf

link zu Fabook
link zu LinkedIn
link zu YouTube
link zu TikTok
link zu Pinterest
link zu Instagram
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2026 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
  • Optionen verwalten
  • Dienste verwalten
  • Verwalten von {vendor_count}-Lieferanten
  • Lese mehr über diese Zwecke
Einstellungen anzeigen
  • {title}
  • {title}
  • {title}