Home Assistant Integration: - New homeassistant.py module with webhook support - Webhooks for scan results, new devices, and device departures - Absence detection with configurable timeout - Documentation in docs/HOME_ASSISTANT.md CLI Improvements: - Replace 'web' command with start/stop/restart/status - Background daemon mode with PID file management - Foreground mode for debugging (--foreground) Web UI Enhancements: - Improved device list styling and layout - Better floor assignment UI - Enhanced map visualization Documentation: - Add CHANGELOG.md - Add docs/API.md with full endpoint reference - Add docs/CHEATSHEET.md for quick reference - Update project documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.9 KiB
3.9 KiB
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] | Manual position override | Drag-and-drop for floor-assigned devices |
| [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 |
| [x] | Document API endpoints | docs/API.md |
| [x] | Create CHEATSHEET.md | Quick reference guide |
| [x] | Home Assistant webhook integration | Scan results, new device, departure alerts |
P2 - Medium Priority (Next Sprint)
| Status | Task | Notes |
|---|---|---|
| [x] | Position smoothing | Statistical averaging (5 samples + stddev) |
| [x] | Device trails | Show movement history on map (for moving devices) |
| [ ] | 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 |
| [x] | Home Assistant integration | Webhook-based (scan, new device, departure) |
| [ ] | 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 |
| API documentation (docs/API.md) | 2026-02-01 |
| CHEATSHEET.md quick reference | 2026-02-01 |
| CHANGELOG.md version history | 2026-02-01 |
| Device trails for moving devices | 2026-02-01 |
| Manual position override (drag-drop) | 2026-02-01 |
| Home Assistant webhook integration | 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 devicesbluetoothctl 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
bleakPython library (reliable RSSI via D-Bus) - WiFi scanning works well with
iwcommand - 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
- Manual position override: drag floor-assigned device markers to set custom position