# RF Mapper - Active Tasks **Sprint:** v0.3.0 - 3D Visualization **Updated:** 2026-01-31 --- ## 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 | |--------|------|-------| | [ ] | Position smoothing | Average RSSI over multiple samples | | [ ] | 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 | --- ## Blockers *No current blockers* ### ~~BT RSSI Acquisition~~ (RESOLVED) **Problem:** Cannot get reliable RSSI values for Bluetooth devices - `hcitool rssi ` - 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 (3-second scan interval) - Historical data stored in SQLite database with auto-cleanup