Skip to content

luci-app-wifihistory: add WiFi station history tracking#8293

Merged
systemcrash merged 1 commit intoopenwrt:masterfrom
DeborahOlaboye:feature/luci-app-wifihistory
Feb 9, 2026
Merged

luci-app-wifihistory: add WiFi station history tracking#8293
systemcrash merged 1 commit intoopenwrt:masterfrom
DeborahOlaboye:feature/luci-app-wifihistory

Conversation

@DeborahOlaboye
Copy link
Contributor

  • This PR is not from my main or master branch 💩, but a separate branch ✅
  • Each commit has a valid ✒️ Signed-off-by: <my@email.address> row (via git commit --signoff)
  • Each commit and PR title has a valid 📝 <package name>: title first line subject for packages
  • Incremented 🆙 any PKG_VERSION in the Makefile
  • Tested on: (architecture, openwrt version, browser) ✅
  • ( Preferred ) Mention: @1PSafe for feedback
  • ( Preferred ) Screenshot or mp4 of changes:
  • ( Optional ) Closes: Feature request: Associated Stations history #8109
  • ( Optional ) Depends on:
  • Description:

Description

Add a new luci-app-wifihistory package that tracks WiFi associated stations over time, addressing the lack of persistent station history in OpenWrt.

Currently iwinfo assoclist only returns live data once a client disconnects, it disappears. This package solves that by:

  • Running a lightweight background service that polls iwinfo assoclist via ubus every 30 seconds
  • Resolving hostnames/IPs through luci-rpc getHostHints
  • Persisting all seen stations to /var/lib/wifihistory/history.json
  • Marking stations as disconnected (rather than removing) when they leave the live assoclist

The LuCI view at Status > Station History displays a table with:

  • Connected/Disconnected status
  • MAC address, Hostname, IP
  • Network (SSID)
  • Last known Signal/Noise
  • First seen / Last seen timestamps

Similar to AVM FritzBox's "not connected stations" feature.

@DeborahOlaboye DeborahOlaboye force-pushed the feature/luci-app-wifihistory branch from 1b870ed to bec11f2 Compare February 3, 2026 07:32
Copy link
Member

@feckert feckert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't it perhaps make sense to rewrite the service in ucode? That would be more efficient, since this is a service.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@DeborahOlaboye DeborahOlaboye force-pushed the feature/luci-app-wifihistory branch from 1d4768f to 9d80cb3 Compare February 3, 2026 12:03
@feckert
Copy link
Member

feckert commented Feb 3, 2026

Thanks for rewriting this in ucode 👍

@DeborahOlaboye DeborahOlaboye force-pushed the feature/luci-app-wifihistory branch from 9d80cb3 to 26aff09 Compare February 3, 2026 12:34
@DeborahOlaboye
Copy link
Contributor Author

Thanks for rewriting this in ucode 👍

Alright, done.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@feckert
Copy link
Member

feckert commented Feb 3, 2026

CI/CD for Test Formatlities is still not happy

@DeborahOlaboye DeborahOlaboye force-pushed the feature/luci-app-wifihistory branch from 26aff09 to da635cd Compare February 4, 2026 03:52
@DeborahOlaboye
Copy link
Contributor Author

CI/CD for Test Formatlities is still not happy

Hopefully, CI/CD for Test Formatlities should be passing now after the latest checks.

Copy link
Member

@feckert feckert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM We're almost done. Please take another look at my review comments.

Thanks for your work 👍

@DeborahOlaboye DeborahOlaboye force-pushed the feature/luci-app-wifihistory branch from da635cd to af12501 Compare February 4, 2026 10:41
@DeborahOlaboye
Copy link
Contributor Author

LGTM We're almost done. Please take another look at my review comments.

Thanks for your work 👍

Alright, thank you.

@DeborahOlaboye
Copy link
Contributor Author

LGTM We're almost done. Please take another look at my review comments.
Thanks for your work 👍

All review comments addressed. Thanks for the thorough review.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@DeborahOlaboye DeborahOlaboye force-pushed the feature/luci-app-wifihistory branch from af12501 to c4fdb6c Compare February 4, 2026 19:32
@DeborahOlaboye
Copy link
Contributor Author

@feckert , you're right, the file access is handled through the rpcd ucode plugin, so direct file ACL entries aren't needed. I have removed both.

@github-actions

This comment has been minimized.

Add a new application that tracks WiFi associated stations
over time and displays history of connected devices. A ucode
service polls iwinfo assoclist and persists station data to
a JSON file. The LuCI view shows connected/disconnected
status, MAC, hostname, signal, and timestamps.

Closes: openwrt#8109
Signed-off-by: Deborah Olaboye <deboraholaboye@gmail.com>
@DeborahOlaboye DeborahOlaboye force-pushed the feature/luci-app-wifihistory branch from c4fdb6c to 60e5dc8 Compare February 5, 2026 08:09
@github-actions

This comment has been minimized.

@systemcrash systemcrash merged commit 9c4b2ee into openwrt:master Feb 9, 2026
2 checks passed
@systemcrash
Copy link
Contributor

Merged. Thanks @DeborahOlaboye !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: Associated Stations history

4 participants