From a58756ddfd5eced34bc74aa4979f0b953f1e1a49 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sat, 31 Oct 2026 17:27:09 +0100 Subject: [PATCH] fix(satellite): Router als router erkennen, Docker-Netze nicht als Geraete MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auf ARIAs VM fand der neue Satellit 58 Geraete, darunter die Container der Docker-Netze (docker0/br-*/veth) — die sind keine Geraete und fallen jetzt aus der ARP-Liste. Die FRITZ!Box 5590 kam per SSDP als 'media-renderer'; InternetGatewayDevice / FRITZ!Box heisst jetzt type 'router'. Co-Authored-By: Claude Opus 5.5 --- satellite/satellite.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/satellite/satellite.py b/satellite/satellite.py index 93115b3..bd2da03 100644 --- a/satellite/satellite.py +++ b/satellite/satellite.py @@ -597,6 +597,10 @@ def _discover_ssdp(timeout: float) -> list[dict]: entry["name"] = dev["name"] if dev.get("model"): entry["model"] = dev["model"] + # Router (FritzBox & Co.) melden sich per SSDP als + # InternetGatewayDevice — kein Medienabspieler. + if re.search(r"InternetGatewayDevice|FRITZ!Box", f"{entry['name']} {dev.get('model', '')}"): + entry["type"] = "router" if dev.get("manufacturer"): entry["manufacturer"] = dev["manufacturer"] if dial_app or dev.get("dialAppUrl"): @@ -641,6 +645,12 @@ def _discover_arp() -> list[dict]: ip, _hw, _flags, mac = parts[0], parts[1], parts[2], parts[3] if mac == "00:00:00:00:00:00": continue + # Docker-interne Netze (Container auf DIESEM Rechner) sind keine + # Geraete — laeuft der Satellit auf einem Docker-Host (z.B. ARIAs + # VM), stuenden sonst alle Container in der Liste. + iface = parts[5] if len(parts) > 5 else "" + if iface.startswith(("docker", "br-", "veth")): + continue out.append({ "id": _slug(f"host-{ip}"), "name": ip, "type": "host", "ip": ip, "mac": mac, "via": "arp",