Presence detection in Home Assistant can fail during dynamic Thread mesh expansion because new routing paths temporarily destabilize device reachability, causing delayed broadcasts and border-router reassignment. These topology shifts interrupt mDNS, Bluetooth proxy reports, and Thread presence beacons, leading automations to misinterpret your device as “away.”
Preliminary Diagnostic Steps
- Check Thread Topology Events
Open your Thread border router logs (Nest Hub, HomePod, or Home Assistant Yellow) and review recent TLV route changes, partition merges, or router/REED promotions. - Monitor Presence Device Connectivity
Verify if your phone or key device (Bluetooth, Wi-Fi, or Thread tracker) is experiencing packet drops during mesh expansion by checking Home Assistant → Settings → System → Logs. - Inspect Multicast & mDNS Stability
Presence detection relies on mDNS presence announcements. If Thread is reorganizing, multicast routing through border routers may pause for 1–3 seconds. - Validate Bluetooth Proxy Load
Mesh changes can shift load to nearby Thread devices that might also act as Bluetooth proxies, creating temporary latency in presence pings.
Step-by-Step Technical Fix
- Assign a Primary Border Router
Set a stable main border router (Nest Hub Max or HomePod) and reduce reliance on automatic border-router selection. - Disable Thread “Autonomous Mode” During
Critical Automations
If your system supports it, turn off automatic router promotions to prevent Thread from reorganizing while presence tracking is active. - Optimize Wi-Fi 2.4 GHz Conditions
Ensure strong Wi-Fi for your phone, because Home Assistant often cross-checks Wi-Fi presence with Bluetooth or Thread. - Prefer channels 1, 6, or 11
- Avoid channel overlap with Zigbee.
- Increase Home Assistant Presence “Grace
Periods”
In configuration.yaml, set: - device_tracker:
- consider_home: 120
This prevents false
“away” states during mesh topology shifts.
- Update All Thread Border Routers and
Matter Devices
Install the latest firmware to reduce partition splits and unstable routing promotions. - Isolate Bluetooth Proxies From Thread
Routing Devices
Use dedicated ESP32 Bluetooth proxies instead of relying on Thread devices for BLE duties.
Preventing Future Conflict
- Use Multiple, Strategically Placed Border
Routers
Spread them evenly to avoid Thread rebalancing under load. - Reserve Static IPs for All Border Routers
This stabilizes mDNS announcements and reduces Home Assistant discovery delays. - Reduce Excessive Thread Endpoints
Very large Thread networks (>150 endpoints) frequently reorganize. Segment them using multiple border routers if possible. - Avoid Frequent Reboots of Thread Devices
Each reboot triggers network restructuring and presence instability. - Monitor Mesh Health Weekly
Use Home Assistant’s Thread diagnostics to detect high churn rates or repeated router promotions.
