fix(satellite): Router als router erkennen, Docker-Netze nicht als Geraete
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 <noreply@anthropic.com>
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user