Files
rf-mapper/TASKS.md
User 5eb5cd2351 Add popup persistence and update project docs
- Popups now stay open during live BT tracking updates
- Track open popup device ID and restore after marker refresh
- Update TASKS.md, TODO.md, PROJECT.md, ROADMAP.md
- Mark position smoothing, floor persistence as complete

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 00:40:57 +01:00

112 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RF Mapper - Active Tasks
**Sprint:** v0.3.0 - 3D Visualization
**Updated:** 2026-02-01
---
## Priority Levels
- **P0** - Critical / Blocking
- **P1** - High / Current sprint
- **P2** - Medium / Next sprint
- **P3** - Low / Backlog
## Status Legend
- `[ ]` Todo
- `[~]` In Progress
- `[x]` Done
- `[-]` Blocked
---
## P0 - Critical
| Status | Task | Notes |
|--------|------|-------|
| [x] | Fix Bluetooth RSSI acquisition | Switched to `bleak` Python library for reliable BLE scanning with RSSI |
---
## P1 - High Priority (Current Sprint)
| Status | Task | Notes |
|--------|------|-------|
| [x] | MapLibre GL JS integration | 3D map with building extrusion |
| [x] | Floor-based positioning | Devices assigned to floors |
| [x] | Floor selector UI | Dropdown to filter by floor |
| [x] | Custom distance override | Set manual distance via popup |
| [x] | Live BT tracking mode | 4-second scan interval |
| [x] | Moving device detection | Purple markers for RSSI changes |
| [x] | Filter-aware scanning | Skip WiFi/BT based on toggle |
| [x] | Improve BT discovery reliability | Using bleak library for BLE scanning |
| [ ] | Document API endpoints | docs/API.md |
| [ ] | Create CHEATSHEET.md | Quick reference guide |
---
## P2 - Medium Priority (Next Sprint)
| Status | Task | Notes |
|--------|------|-------|
| [x] | Position smoothing | Statistical averaging (5 samples + stddev) |
| [ ] | Device trails | Show movement history on map |
| [ ] | Signal strength graph | Per-device RSSI over time |
| [ ] | Scan history browser | View past scans in UI |
| [ ] | Export functionality | Download scan data as CSV |
---
## P3 - Low Priority (Backlog)
| Status | Task | Notes |
|--------|------|-------|
| [x] | SQLite persistence | Historical device tracking enabled |
| [x] | Device labeling | Custom names via API |
| [ ] | Home Assistant integration | MQTT/webhook |
| [ ] | Docker container | Containerized deployment |
| [ ] | Unit tests | pytest coverage |
---
## Completed This Sprint
| Task | Completed |
|------|-----------|
| 3D map view with MapLibre | 2026-01-31 |
| Floor assignment in popup | 2026-01-31 |
| Custom distance setting | 2026-01-31 |
| Live tracking button | 2026-01-31 |
| Purple moving indicators | 2026-01-31 |
| Smart scanning (filter-aware) | 2026-01-31 |
| SQLite historical database | 2026-02-01 |
| Bleak BLE scanning (reliable RSSI) | 2026-02-01 |
| Auto-start live BT tracking | 2026-02-01 |
| Statistical movement detection | 2026-02-01 |
| Floor persistence in database | 2026-02-01 |
| Popup persistence during updates | 2026-02-01 |
---
## Blockers
*No current blockers*
### ~~BT RSSI Acquisition~~ (RESOLVED)
**Problem:** Cannot get reliable RSSI values for Bluetooth devices
- `hcitool rssi <addr>` - Only works for connected devices
- `bluetoothctl info` - No RSSI for cached devices
**Solution:** Switched to `bleak` Python BLE library which provides reliable RSSI via D-Bus/BlueZ.
---
## Notes
- BLE scanning now uses `bleak` Python library (reliable RSSI via D-Bus)
- WiFi scanning works well with `iw` command
- Live BT tracking auto-starts on page load (4-second scan interval)
- Historical data stored in SQLite database with auto-cleanup
- Movement detection uses statistical analysis (5-sample avg + 2σ threshold)
- Floor assignments persist in database across page reloads
- Popups stay open during live tracking updates