awilliams / wifi-presence

Presence detection on OpenWrt routers using connect/disconnect events of WiFi clients. Events are published to MQTT with Home Assistant integration.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Roaming between multiple APs

jmccrohan opened this issue · comments

Thanks for this integration, it looks very interesting.

How does it behave with clients roaming between multiple APs on the same network?

Have you considered integrating it with DAWN? This would allow users to roam around the house from AP to AP without false disconnect notifications.

Hello, and thanks for the interest.

I run wifi-presence on multiple APs that use 802.11r Fast Transition for roaming. I'll have to look in to DAWN.

Each AP will publish to a unique MQTT topic namespace. Imagine two APs running wifi-presence: Netgear7100 and UnifiAP. Then a client with MAC AA:BB:CC:DD:EE:FF will have its connection state published to the following topics (using the default topics, but note that they're configurable):

  • wifi-presence/station/netgear7100/aa-bb-cc-dd-ee-ff/state
  • wifi-presence/station/unifi-ap/aa-bb-cc-dd-ee-ff/state

It's then up to subscriber(s) to consider AA:BB:CC:DD:EE:FF as disconnected when its state changes to not_connected on both topics, or as connected if either topic changes to state connected.

HomeAssistant does this automatically. It calls each AP+client combo an "Entity", then groups entities with the same MAC address into what it calls a "Device" (via the connections attribute). And then it applies the same logic above to the device state.

Thanks for the detailed explanation. This sounds very useful.

I'll give it a spin once your OpenWrt Packages PR is merged.