diff --git a/net_alerter/net_alerter.py b/net_alerter/net_alerter.py index 9ddc1ce..00f8b03 100644 --- a/net_alerter/net_alerter.py +++ b/net_alerter/net_alerter.py @@ -821,6 +821,12 @@ def seed_from_arp_cache(): if ip in infrastructure_ips: dev['infrastructure'] = True known_devices[mac] = dev + # Seed last_seen so the watchdog has a baseline. + # Devices that are genuinely active will refresh this via ARP + # requests or mDNS; AP proxy ghosts (only ARP replies) won't. + with last_seen_lock: + if mac not in last_seen: + last_seen[mac] = time.time() logging.info(f"Seeded {len(known_devices)} devices from ARP cache") except Exception as e: