Zigbee-Gerät verliert die Verbindung: ein ehrlicher Fall
Wenn ich ehrlich bin, ist mein Zigbee-Netz winzig. In ZHA hängt genau ein Gerät: ein batteriebetriebenes SONOFF-Wasserventil im Schacht draußen, das die Sprühnebel-Kühlung auf der Terrasse schaltet. Die Hue-Lampen im Ess- und Wohnzimmer laufen über die Hue Bridge, also in einem eigenen Zigbee-Netz, das mit ZHA nichts zu tun hat.
Und trotzdem — oder gerade deshalb — hat mich dieses eine Gerät einen Sommer lang beschäftigt. Es war da, dann war es weg, dann wieder da. Wenn dir das bekannt vorkommt: Die Ursache war bei mir nicht das Ventil. Sie war die Topologie, und die war so dünn, wie sie nur sein kann.
Das Symptom
Das Ventil taucht in Home Assistant als schlichter Schalter auf,
switch.garden_sonoff_water_valve. Die Automation dahinter ist simpel: alle
zehn Minuten prüfen, ob es sonnig und über 28 °C ist, dann zwei Minuten
öffnen, wieder schließen.
In der Praxis sah das so aus: Die ersten zwei, drei Schaltvorgänge am Tag
gingen durch. Danach stand im Log „device did not respond” — kein sauberer
Fehler, nur ein Timeout. Das Ventil blieb in HA auf dem letzten Zustand
stehen, manchmal auf on, was der Grund ist, warum die
Failsafe-Automation überhaupt
existiert. Nach ein paar Stunden war es oft von selbst wieder erreichbar. Es
war also kein Totalausfall, sondern genau das Nervige: intermittierend.
Was ich zuerst falsch verstanden habe
Mein erster Reflex war die Batterie. Die stand auf 100 %. Der zweite Reflex war der Klassiker: „billiger Zigbee-Schrott, was sonst”. Beides falsch.
Zigbee kennt zwei Geräteklassen, und der Unterschied ist der ganze Punkt:
- End Devices sind batteriebetrieben, schlafen fast immer und leiten nichts weiter. Mein Ventil ist so eins. Es wacht auf, meldet sich bei seinem Parent, erledigt seinen Kram und schläft wieder.
- Router sind dauerhaft am Strom, leiten Pakete weiter und spannen das Mesh auf. Steckdosen, Lampen, Repeater.
Ein End Device braucht einen Parent in Funkreichweite. In meinem Netz gibt es keinen einzigen Router. Der einzige mögliche Parent ist der Koordinator selbst — und der steckte im Keller.
Die Topologie, die nicht funktionieren konnte
Mein Home-Assistant-Server steht im Technikraum im Keller, in einem Blechschrank, neben einem USB-3-Gehäuse. Der Schacht mit dem Ventil liegt im Garten. Dazwischen: drei Betondecken und eine Außenwand.
Das Ventil hatte also genau eine Verbindung — direkt zum Koordinator, durch das ganze Haus. Kein Umweg über einen Router, keine zweite Route. Wenn die eine Strecke gerade zu schlecht war, war das Gerät weg. Und ein schlafendes End Device, das seinen Parent ein paar Mal nicht erreicht, sucht sich einen neuen — nur gab es keinen.
Das ist der Fehler, den ich bei fast allen „Zigbee ist unzuverlässig”-Berichten wiedererkenne: ein oder mehrere Batteriegeräte, null Router, und der Koordinator irgendwo, wo er praktisch ist, nicht wo er nützt. Das Erstaunliche ist nicht, dass so ein Netz abbricht. Das Erstaunliche ist, dass es je funktioniert hat.
Versuch 1: USB-Verlängerung am Server
Der bekannte Tipp, und er ist nicht falsch: USB-3-Ports und ihre Kabel strahlen breitbandig genau um 2,4 GHz. Ein Zigbee-Stick, der direkt am Host neben einem USB-3-Gehäuse steckt, sitzt im Störnebel.
Ich habe den Dongle also an eine aktive USB-2.0-Verlängerung gehängt und aus dem Schrank rausgezogen. Konkret die aktive USB-2.0-Verlängerung*, die ich heute noch benutze.
Ehrliches Ergebnis: besser, aber nicht gut. Die Abbrüche wurden seltener, verschwanden aber nicht. Drei Betondecken sind drei Betondecken. Wenn dein Koordinator im selben Stockwerk wie die Geräte steht, ist die Verlängerung vermutlich alles, was du brauchst. Bei mir war das Grundproblem die Distanz, nicht die Störung am Port.
Versuch 2: Den Koordinator dorthin bringen, wo das Netz ist
Was am Ende funktioniert hat: Dann eben mit Gewalt. Der Dongle hängt nicht mehr am Server, sondern an einem Raspberry Pi Zero 2 W im Erdgeschoss, und Home Assistant redet über das LAN mit ihm — serial over IP mit ser2net. Wie das im Detail geht, steht in einem eigenen Artikel, inklusive der Fehler, die mich Wochen gekostet haben.
Für diesen Artikel zählt das Ergebnis: Seit der Koordinator eine Decke statt drei vom Schacht entfernt ist, ist das Ventil nicht mehr abgefallen. Kein „did not respond”, kein hängender Zustand. Dieselbe Hardware, dasselbe Ventil, dieselbe Automation.
Was ich nicht gemacht habe — und warum du es vielleicht machen solltest
Die Lehrbuchlösung für mein Problem wäre nicht der ser2net-Umbau gewesen, sondern ein netzbetriebener Zigbee-Router in der Nähe des Ventils: eine Zigbee-Steckdose an der Terrasse. Dann hätte das End Device einen Parent in zehn Metern Entfernung statt in drei Stockwerken, und der Koordinator dürfte im Keller bleiben.
Warum ich es trotzdem anders gemacht habe: Ich wollte den HA-Host ohnehin baulich vom Zigbee-Netz trennen, und draußen am Schacht gibt es keine Steckdose. Für die meisten Leser ist die Steckdose die günstigere und einfachere Lösung. Einen Router setzen, 48 Stunden warten, in ZHA unter Geräte → Visualisierung nachsehen, ob das End Device den neuen Parent angenommen hat. Erst dann weiter kaufen.
Der Punkt mit der Hue Bridge
Ein Detail, das mir erst später aufgefallen ist: Mit der Hue Bridge und ZHA laufen bei mir zwei getrennte Zigbee-Netze im selben Haus. Beide senden auf 2,4 GHz, beide haben ihren eigenen Kanal, und dazu kommt das WLAN.
Ich habe die Kanäle bisher nicht gegeneinander optimiert, weil das Problem nach dem Koordinator-Umzug weg war. Aber wenn dein Netz nach dem Topologie-Fix weiter zickt und du eine Hue Bridge oder eine zweite Zigbee- Basis im Haus hast, ist das der nächste Verdächtige: In ZHA und in der Hue-App nachsehen, welcher Kanal aktiv ist, und die beiden Netze plus das WLAN auseinanderziehen. Nur eines vorweg — ein Zigbee-Kanalwechsel heißt in der Regel, dass Geräte neu angelernt werden müssen. Bei einem Gerät ist das egal. Bei dreißig planst du einen Abend ein.
Was NICHT hilft
- Ein neues Ventil kaufen. Das Gerät war nie das Problem.
- Batterie tauschen bei 100 %. Erst unter ~2,7 V wird das relevant.
- Koordinator neu starten. Kaschiert das Symptom für ein paar Stunden und fühlt sich trotzdem jedes Mal wie ein Fix an.
- Neu anlernen. Ohne Topologie-Fix landet das Gerät wieder am selben, zu weit entfernten Parent.
Was ich heute jemandem raten würde
- In ZHA nachsehen, welchen Parent das Problemgerät hat. Ist es der Koordinator, und der steht weit weg: Das ist die Ursache.
- USB-2.0-Verlängerung an den Dongle, weg von USB-3 und Gehäuse. Kostet fast nichts, kann reichen.
- Wenn nicht: einen netzbetriebenen Router in die Nähe des Geräts. Nicht fünf. Einen. Dann 48 Stunden warten.
- Erst wenn Host und Zigbee-Netz baulich getrennt bleiben müssen: Koordinator per ser2net dorthin bringen, wo die Geräte sind.
- Danach Kanäle prüfen, wenn Hue oder ein zweites Zigbee-Netz mitspielt.
Bei mir hat Schritt 4 gewonnen, weil Schritt 3 ohne Außensteckdose nicht ging. Das ist die ehrliche Reihenfolge — nicht die, in der ich sie ausprobiert habe.