v0.1.0
OpenWrt Presence Agent turns Wi-Fi association changes from OpenWrt into a
small, authenticated, read-only API for local consumers. This is the first
public release.
Highlights
- Pushes normalized association and disassociation events over a versioned
WebSocket API without consumer polling. - Repairs missed or reordered input with bounded authoritative client
snapshots. - Tracks connections across discovered radios and avoids declaring a client
absent while it remains associated with another BSS. - Runs as an OpenWrt-native
procdservice with UCI configuration, generated
bearer credentials, bounded resources, and loopback-only binding by default. - Exposes no router administration, shell, firewall, or generic ubus control
surface. - Provides OpenWrt 24.10
.ipkand OpenWrt 25.12.apkpackages for common
ARM, MIPS, and x86_64 architectures.
The
OpenWrt Presence integration for Home Assistant
is the first reference consumer. The API is consumer-neutral.
Measured performance
Across 110 measured transitions on the live-tested Flint 3 system,
observer-to-Home Assistant propagation was 6.5 ms median, 15.9 ms p99, and
17.2 ms maximum. Every measured transition completed in under 20 ms. These
figures begin after the observer publishes an authoritative event; they do not
include the phone or access point's radio-detection time.
See the
performance methodology and raw sanitized results.
Compatibility status
The complete path has been live-tested only on a GL.iNet Flint 3 (GL-BE9300)
running GL.iNet firmware 4.9.0. Other packages are build-tested with official
OpenWrt SDKs, not hardware-tested.
If you try another router, please
share the result.
Successful, partial, and unsuccessful reports are all useful.
Installation and verification
Choose the package matching the router's OpenWrt release and accepted package
architecture. Follow the
installation guide
before exposing the API beyond loopback.
Every package is covered by SHA256SUMS and GitHub build-provenance
attestations.