Verbindungsabbrüche Philips Hue - HA

Verbindungsabbrüche Philips Hue - HA
Photo by Jordan Harrison / Unsplash

Vor kurzem hab ich mein Netzwerk ein bisschen aufgewertet und gleichermaßen umstrukturiert.
Wie so oft denkt man sich danach erstmal: Never touch a running system.
Nachdem der Umbau abgeschlossen war, stellte ich fest, dass meine Automation (Licht: Bad an & Uhrzeit zwischen 5:30 und 23:oo -> Starte Sonos Box, Top Pop Playlist Shuffle; Wenn Licht aus, beende Wiedergabe) nicht mehr korrekt funktionierte.
Es war so, dass zwar die Musik startete aber zufällig endete und irgendwann wieder von neu begann zu spielen. Es lies sich kein Muster erkennen also begab ich mich langsam auf die Fehlersuche.....


1. Managed Switch

Ich habe in mein Rack einen neuen Netzwerk Switch eingebaut - genauer gesagt den Zyxel GS 1200.
Für diesen Switch hatte ich mich entschieden, da er für einen relativ günstigen Preis eine gut strukturierte Weboberfläche mitbringt - va. auch für die VLANs.
Auf den Switch werde ich in einem gesonderten Post genauer eingehen.


2. IGMP Snooping

Prinzipiell ist IGMP (Internet Group Management Protocol) Snooping eine super Sache.
Man stellt sich vor, man arbeitet für Lieferando und liefert ein Festmahl aus - man fährt zur grundstzlich korrekten Adresse und stellt dann fest, dass es sich um einen riesigen Wohnkomplex handelt, bestenfalls mit 10 Stockwerken und nirgends sind Klingelschilder zu finden.
Als Lieferant würde man nun gezwungen sein, an jedem Apartment zu klingeln um zu erfahren, ob man das Essen abliefern kann. Das kann sofort funktionieren, wahrscheinlicher ist es aber, dass man einige Zeit beschäftigt ist, bis man das nun kalt gewordene Essen an die richtige Person liefern kann.

So ähnlich läuft es auch in einem Netzwerk ohne IGMP Snooping ab (MultiCast).
Die Daten werden an den Switch gesendet, der nicht weiß, wie er damit umgehen soll - in Ermangelung besseren Wissens leitet er die Daten an alle Geräte weiter, so ist zumindest sichergestellt, dass es (auch) den richtigen erwischt. Der Nachteil ist - je nach Netzwerk - eine ziemlich überflüssige Belastung.

Hier kommt IGMP Snooping ins Spiel. Dieses Verfahren steuert den Netzwerk Verkehr "intelligent" - so, als wie wenn in unserem Beispiel ein Portier vor dem Wohnkomplex steht und dem Lieferanten sagt "Die Essensbestellung muss in den dritten Stock, Tür 404".


3. Querier Problematik

Ein Problem gibt es jedoch - und zwar, dass der Switch ein relativ "flüchtiges" Gedächtnis hat.
Wenn IGMP Snooping aktiviert ist, merkt sich der Switch bspw.: An Port 3 hängt die Philips Hue Bridge, an Port 4 hängt Home Assistant. Er erkennt, dass Port 4 der Interessent für die Daten von Port 3 ist.
Nun ist es aber so, dass diese Vorgabe nicht auf Gedeih und Verderb im Switch gespeichert ist, sondern nach einer gewissen Zeit gelöscht wird.
Dann passiert folgendes: Port 3 sendet Daten "Halle ich bin immer noch da" - der Switch sagt "Interessiert mich nicht, von Port 4 hab ich seit längerer Zeit nichts mehr gehört". In Folge verwirft der Switch die Meldung der Hue Bridge und Home Assistant kann den Hub nicht mehr erreichen.

Um dieses Problem zu lösen, benötigt man einen sogenannten IGMP Querier. Der macht nichts anderes, als ständig in die Runde zu fragen "Wer ist noch da und wartet auf das empfangen von Daten?" In diesem Fall würde von Port 4 die Meldung kommen "Ja, ich bin aktiv und warte auf weitere Daten". In Folge verwirft der Switch seine gemerkte Verbindung nicht und leitet dauerhaft die Daten von der Bridge zu unserem HA weiter.

Fehlt nun der Querier, ist IGMP Snooping für Home Assistant oftmals mehr ein Problem als eine wirkliche Hilfe (Entlastung des Netzwerks).


4. Lösung - Entweder Oder

Nun hat man im Grunde 2 Möglichkeiten.
Entweder man richtet sich im Router - oder in meinem Fall in der OPNsense - einen IGMP Querier ein (notwendig: Installation des IGMP Proxy Plugins), der dieses Problem löst - hierzu werde ich eine weitere Anleitung verfassen.
Dies ist immer dann sinnvoll, wenn man für sein Netzwerk IGMP Snooping tatsächlich benötigt (IPTV Streams etc.)

Falls dies nicht der Fall ist, ist die wesentlich einfachere und pragmatischere Lösung, IGMP Snooping zu deaktivieren.