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",