ZigBee entstören
Smart-Home-Zuverlässigkeit per Kanalwechsel verbessern
Wenn Lampe und Türsensor die ZigBee-Basis nicht mehr erreichen, stört vermutlich der WLAN-Router. Wir zeigen, wie man das Frequenzgezanke in Philips Hue und ZigBee2MQTT schlichtet.
Viele verschiedene Funkdienste teilen sich das lizenzfreie 2,4-GHz-Band. ZigBee [1] sendet dort auf 2 MHz breiten Funkkanälen bei Datenraten von bis zu 250 kBit/s und maximal 6 mW Sendeleistung. Das reicht normalerweise, weil die ZigBee-Komponenten im Smart Home ein Mesh-Netz bilden: Einige Teilnehmer werden zum Router für die anderen.
Das Protokoll steckt heute unter der Haube von Systemen wie Philips Hue, Ikea Trådfri oder Xiaomi Aqara. Sein größter Feind: 2,4-GHz-WLAN mit bis zu 100 mW Sendeleistung, 20 oder 40 MHz breiten Kanälen und hoher Verkehrsdichte. Zwar versucht WLAN zu erkennen, wann ein Kanal belegt ist, die schwachen ZigBee-Signale reichen aber oft nicht bis zum Nachbars-Router. Sendet der, wird das ZigBee-Signal kräftig gestört. Stimmt man beide Dienste aufeinander ab, gehen sich beide besser aus dem Weg.
Störungen Ihrer eigenen Router können Sie einfach minimieren. Eine Quelle: Viele WLAN-Router und -Repeater schalten automatisch von 20 auf 40 MHz Kanalbreite um, sobald größere Datenmengen übertragen werden. Das belegt das halbe 2,4-GHz-Band und lohnt sich selten, weil dann andere WLANs auf benachbarten Funkkanälen stören. Stellen Sie also Ihr WLAN fest auf 20 MHz und Kanal 1,6 oder 11 ein. Hinweise finden Sie in den Anleitungen.
Kanalsuche
Um Störungen von Nachbarn zu minimieren, schaut man sich zunächst das WLAN-Spektrum in der Wohnung genauer an: Unter Android zeigt die App „Wifi Analyzer“ eine Übersicht aller WLAN-Kanäle. Das gleichnamige Tool im Microsoft Store bietet ähnlichen Funktionsumfang für Windows. MacOS bringt einen Scanner mit: Dazu „Alt“ gedrückt halten, das WLAN-Zeichen und „Diagnose für drahtlose Umgebungen öffnen“ anklicken. Im Fenster danach öffnet Alt+Command+4 das Tool. Für Linux-Systeme gibt es linssid. iOS-Apps erhalten keinen Zugang zu WLAN-Details.
Im Idealfall funken benachbarte WLAN-Basen auf den überlappungsfreien Kanälen 1, 6 oder 11. Die ZigBee-Kanäle 15, 20 und 25 benutzen die jeweils 3 MHz breiten Lücken dazwischen und sind dadurch weniger störanfällig. Belegen WLANs die Zwischenräume, wählt man einen ZigBee-Kanal, auf dem möglichst wenige Netze mit möglichst geringer Signalstärke auftauchen.
Tschüss, Störkanal
Die meisten ZigBee-Produkte lassen leider keinen manuellen Kanalwechsel zu. Hier punktet die Philips Hue Bridge: In der App findet man den Punkt in der Konfiguration der Basis über den Info-Button. Zur Auswahl stehen jedoch nur Kanal 11 sowie die Kanäle in den WLAN-Lücken. Schalten Sie vor dem Kanalwechsel alle Hue-Lampen ein, damit diese den neuen Kanal mitgeteilt bekommen. Fremdlampen unterstützen dies nicht und müssen neu angelernt werden.
Haben Sie statt einer Hue Bridge eine Basis nach unserer Anleitung für ZigBee2MQTT [2] gebaut, melden Sie sich per SSH auf Ihrem Raspberry an und öffnen die Konfigurationsdatei des Dienstes mit nano /home/pi/node-red-pack/data/zigbee/configuration.yaml. In der Standardinstallation liegt diese Datei in /opt/zigbee2mqtt/data. Unter serial: port:[..] fügen Sie
advanced:
channel: 15
ein, wobei Sie „15“ durch Ihren Kanal ersetzen. Danach starten Sie den Service mit sudo service zigbee2mqtt restart neu. Wenn der Server in einem Docker-Container steckt, starten Sie diesen mit docker-compose restart neu. Anschließend müssen Sie alle Geräte neu anlernen. ZigBee bringt kein einheitliches Verfahren mit, um einen Kanalwechsel mitzuteilen.
Alternative: Router
Hilft ein Kanalwechsel nicht, liegt es womöglich an geringer Sendeleistung oder zu kleinen Antennen. Geräte mit ständiger Stromversorgung, beispielsweise ZigBee-Lampen, helfen schwächeren Geräten automatisch als Mesh-Router, die Basis zu erreichen. Ähnlich wie WLAN-Repeater positioniert man sie auf der Hälfte der Strecke zwischen einem entfernten Gerät und der Basis. (amo@ct.de)