Home Assistant: Zigbee- und Z-Wave-Geräte gleichzeitig nutzen

Ich habe mich, nach eurer Beratung im anderen Thread für ZigBee als Verbindungstechnologie für meine Beleuchtung gefunden. Da auch Z-Wave genannt wurde wollte ich fragen ob man beide Protokolle, also ZigBee und Z-Wave in Home Assistant gleichzeitig verwenden kann? Oder gibt es da Probleme?

Kein Problem, Sleedy. Du kannst problemlos Zigbee und Z-Wave gleichzeitig nutzen. Du brauchst dafür nur die entsprechenden Sticks, z. B. den Sonoff Zigbee 3.0 für Zigbee* und den Aeotec Z-Stick* für Z-Wave. Beide arbeiten unabhängig voneinander.

Ich mache das auch so, aber achte darauf, die Sticks sauber zu benennen, damit Home Assistant sie nicht vertauscht. Mit udev-Regeln kannst du die Zuordnung der USB-Geräte fixieren.

Und falls du viele Geräte hast, kann es hilfreich sein, für jedes Protokoll eine eigene USB-Verlängerung zu nutzen, damit die Sticks nicht direkt nebeneinander sitzen. Das reduziert Störungen. Viel Spaß beim Einrichten! :blush:

Was ist die udev Regel und wie benutzt man diese in Home Assistant? Und warum soll man die überhaupt nutzen?

ich zeige dir kurz , wie du in Home Assistant einen ZigBee- und einen Z-Wave-Stick sauber und getrennt einrichten kannst. Nach einem Neustart ändern die Sticks manchmal ihren Gerätenamen (/dev/ttyUSB0, /dev/ttyUSB1 usw.), und Home Assistant kann sie nicht mehr finden. Die Lösung: udev-Regeln! Damit könnt ihr jedem Stick einen festen Gerätenamen geben.

So hab ich’s gemacht:

  1. Geräteinformationen rausfinden
    Zuerst beide Sticks einstecken und im Terminal mit lsusb nachschauen, wie die erkannt werden:

lsusb

Bei mir sah das so aus:

Bus 001 Device 002: ID 10c4:8a2a Silicon Labs HubZ Smart Home Controller  
Bus 001 Device 003: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5

Wichtig sind die VID (Vendor ID) und PID (Product ID). Hier also:

ZigBee-Stick: 10c4:8a2a
Z-Wave-Stick: 0658:0200

Für mehr Infos zu den Geräten könnt ihr mit udevadm arbeiten:

udevadm info --name=/dev/ttyUSB0 --attribute-walk
Dort findet ihr auch Seriennummern, falls ihr mehrere Geräte mit derselben VID/PID habt.

  1. udev-Regeln schreiben
    Jetzt legt ihr eine Datei mit den Regeln an:

sudo nano /etc/udev/rules.d/99-usb-serial.rules
Hier kommen die Regeln rein:

# ZigBee Stick
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="8a2a", SYMLINK+="zigbee"

# Z-Wave Stick
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="zwave"

Das erstellt dann zwei feste Links:

/dev/zigbee
/dev/zwave
  1. Regeln aktivieren
    Jetzt die udev-Regeln neu laden und prüfen, ob alles passt:
sudo udevadm control --reload-rules  
sudo udevadm trigger

Testet, ob die Links da sind:

ls -l /dev/zigbee  
ls -l /dev/zwave
  1. Home Assistant konfigurieren
    In der configuration.yaml müsst ihr jetzt die neuen Gerätepfade eintragen:
zha:
  device: /dev/zigbee
  database_path: /config/zigbee.db
zwave:
  usb_path: /dev/zwave

Home Assistant neu starten, und fertig! :tada:

Seitdem ich das so gemacht habe, gibt’s keine Probleme mehr mit wechselnden Gerätenamen. Die beiden Sticks bleiben immer sauber getrennt. Wenn ihr Fragen habt oder irgendwo hängen bleibt, einfach melden! :blush:

2 Likes

Danke, das muss ich mir in ruhe mal angucken.

1 Like

Ich habe dazu auch mal einen Blogbeitrag verfasst:

> Linux Statische Gerätenamen für USB Geräte

1 Like