docs: update project docs for v1.0.0 release
- PROJECT.md: Add peer sync feature description and architecture - ROADMAP.md: Update to v1.0.0, mark peer sync complete - TASKS.md: Add peer sync completed tasks, update sprint - TODO.md: Add multi-scanner section, mark items done - CHANGELOG.md: Add v0.4.0 (HA) and v1.0.0 (peer sync) entries Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
37
CHANGELOG.md
37
CHANGELOG.md
@@ -6,6 +6,43 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
|
||||
---
|
||||
|
||||
## [1.0.0] - 2026-02-01
|
||||
|
||||
### Added
|
||||
|
||||
- **Multi-Scanner Peer Sync** - Multiple scanner instances share device metadata
|
||||
- Peer registration API (`/api/peers/register`)
|
||||
- Bidirectional sync (`/api/sync/devices`)
|
||||
- Background sync thread (30s default interval)
|
||||
- Automatic mutual registration between peers
|
||||
- **Source scanner tracking** - Synced devices retain original detector info
|
||||
- Devices positioned relative to detecting scanner, not local scanner
|
||||
- Moving local scanner doesn't affect synced device positions
|
||||
- **Peer scanner markers** - Show peer scanners on 3D map (cyan icons)
|
||||
- Scanner identity configuration (id, name, floor, position)
|
||||
- Timestamp-based conflict resolution for sync
|
||||
|
||||
### Changed
|
||||
|
||||
- Device positions now use peer's current position (live lookup)
|
||||
- Popup shows "Source: <scanner>" for remotely-synced devices
|
||||
|
||||
---
|
||||
|
||||
## [0.4.0] - 2026-02-01
|
||||
|
||||
### Added
|
||||
|
||||
- **Home Assistant Integration** - Webhook-based presence tracking
|
||||
- Scan results webhook (`rf_mapper_scan`)
|
||||
- New device alerts webhook (`rf_mapper_new_device`)
|
||||
- Device departure webhook (`rf_mapper_device_gone`)
|
||||
- Configurable timeout for departure detection
|
||||
- Scanner identity (id, name, floor) in webhooks
|
||||
- Absence checker background thread
|
||||
|
||||
---
|
||||
|
||||
## [0.3.0] - 2026-02-01
|
||||
|
||||
### Added
|
||||
|
||||
17
PROJECT.md
17
PROJECT.md
@@ -32,6 +32,10 @@ Understanding the RF environment around you is useful for:
|
||||
- **Auto-scan** - Scheduled background scanning
|
||||
- **Data Export** - JSON scan history with timestamps
|
||||
- **Home Assistant Integration** - Webhook-based presence tracking, new device alerts, departure notifications
|
||||
- **Multi-Scanner Peer Sync** - Multiple scanner instances share device metadata automatically
|
||||
- Bidirectional sync with timestamp-based conflict resolution
|
||||
- Source scanner tracking (devices positioned relative to detecting scanner)
|
||||
- Peer scanner markers on 3D map
|
||||
|
||||
## Architecture
|
||||
|
||||
@@ -74,6 +78,15 @@ Understanding the RF environment around you is useful for:
|
||||
│ │ Webhook │ │ Webhook │ │ Webhook │ │
|
||||
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ Peer Scanner Sync │
|
||||
│ ┌──────────────┐ ┌──────────────┐ │
|
||||
│ │ Scanner A │◄── sync ──►│ Scanner B │ │
|
||||
│ │ (rpios) │ │ (grokbox) │ │
|
||||
│ └──────────────┘ └──────────────┘ │
|
||||
│ Shared: floors, labels, favorites, notes │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Dependencies
|
||||
@@ -131,9 +144,13 @@ gps:
|
||||
longitude: 4.3978
|
||||
|
||||
scanner:
|
||||
id: rpios
|
||||
name: "RPi OS Scanner"
|
||||
wifi_interface: wlan0
|
||||
bt_scan_timeout: 10
|
||||
path_loss_exponent: 2.5
|
||||
sync_interval_seconds: 30
|
||||
accept_registrations: true
|
||||
|
||||
building:
|
||||
enabled: true
|
||||
|
||||
28
ROADMAP.md
28
ROADMAP.md
@@ -1,6 +1,6 @@
|
||||
# RF Mapper Roadmap
|
||||
|
||||
## Current Version: v0.3.0-dev
|
||||
## Current Version: v1.0.0
|
||||
|
||||
---
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
---
|
||||
|
||||
## v0.3.0 - 3D Visualization (IN PROGRESS)
|
||||
## v0.3.0 - 3D Visualization (COMPLETED)
|
||||
|
||||
- [x] MapLibre GL JS integration
|
||||
- [x] 3D building extrusion
|
||||
@@ -45,7 +45,21 @@
|
||||
- [x] Position smoothing/averaging (statistical, 5-sample + stddev)
|
||||
- [x] Floor persistence in SQLite database
|
||||
- [x] Popup persistence during live updates
|
||||
- [ ] Device trails/history visualization
|
||||
- [x] Device trails/history visualization
|
||||
|
||||
---
|
||||
|
||||
## v1.0.0 - Multi-Scanner Peer Sync (COMPLETED)
|
||||
|
||||
- [x] Scanner identity configuration (id, name, floor, position)
|
||||
- [x] Peer registration API (`/api/peers/register`)
|
||||
- [x] Bidirectional device sync (`/api/sync/devices`)
|
||||
- [x] Timestamp-based conflict resolution
|
||||
- [x] Source scanner tracking for synced devices
|
||||
- [x] Device positions relative to detecting scanner
|
||||
- [x] Peer scanner markers on 3D map
|
||||
- [x] Background sync thread with configurable interval
|
||||
- [x] Automatic mutual registration between peers
|
||||
|
||||
---
|
||||
|
||||
@@ -95,7 +109,7 @@
|
||||
|
||||
---
|
||||
|
||||
## v1.0.0 - Production Ready
|
||||
## v1.1.0 - Production Hardening
|
||||
|
||||
- [ ] Comprehensive test suite
|
||||
- [ ] Performance optimization
|
||||
@@ -110,7 +124,7 @@
|
||||
|
||||
## Future Ideas (v2.0+)
|
||||
|
||||
- [ ] Multiple scanner nodes (distributed scanning)
|
||||
- [x] Multiple scanner nodes (distributed scanning) - Done in v1.0.0
|
||||
- [ ] Mesh network visualization
|
||||
- [ ] Spectrum analyzer integration
|
||||
- [ ] RTL-SDR support for wider RF
|
||||
@@ -128,4 +142,6 @@
|
||||
|---------|------|------------|
|
||||
| v0.1.0 | 2026-01 | Initial CLI scanner |
|
||||
| v0.2.0 | 2026-01 | Web dashboard |
|
||||
| v0.3.0 | TBD | 3D visualization |
|
||||
| v0.3.0 | 2026-02 | 3D visualization, floor positioning |
|
||||
| v0.4.0 | 2026-02 | Home Assistant integration |
|
||||
| v1.0.0 | 2026-02 | Multi-scanner peer sync |
|
||||
|
||||
19
TASKS.md
19
TASKS.md
@@ -1,7 +1,8 @@
|
||||
# RF Mapper - Active Tasks
|
||||
|
||||
**Sprint:** v0.3.0 - 3D Visualization
|
||||
**Sprint:** v1.1.0 - Production Hardening
|
||||
**Updated:** 2026-02-01
|
||||
**Current Version:** v1.0.0
|
||||
|
||||
---
|
||||
|
||||
@@ -43,6 +44,11 @@
|
||||
| [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 |
|
||||
| [x] | Multi-scanner peer sync | Bidirectional sync between scanner instances |
|
||||
| [x] | Source scanner tracking | Synced devices positioned relative to source |
|
||||
| [x] | Peer scanner markers | Show peer scanners on 3D map |
|
||||
| [ ] | Unit test coverage | pytest for core modules |
|
||||
| [ ] | Docker container | Containerized deployment |
|
||||
|
||||
---
|
||||
|
||||
@@ -92,6 +98,12 @@
|
||||
| Device trails for moving devices | 2026-02-01 |
|
||||
| Manual position override (drag-drop) | 2026-02-01 |
|
||||
| Home Assistant webhook integration | 2026-02-01 |
|
||||
| Multi-scanner peer sync | 2026-02-01 |
|
||||
| Peer registration API | 2026-02-01 |
|
||||
| Bidirectional device sync | 2026-02-01 |
|
||||
| Source scanner tracking | 2026-02-01 |
|
||||
| Peer scanner markers on 3D map | 2026-02-01 |
|
||||
| v1.0.0 release | 2026-02-01 |
|
||||
|
||||
---
|
||||
|
||||
@@ -118,3 +130,8 @@
|
||||
- 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
|
||||
- **Peer Sync**: Multiple scanner instances can share device metadata
|
||||
- Devices synced from peers retain source scanner info
|
||||
- Positions calculated relative to detecting scanner (not local scanner)
|
||||
- Peer scanners shown on 3D map as cyan markers
|
||||
- Background sync every 30 seconds (configurable)
|
||||
|
||||
22
TODO.md
22
TODO.md
@@ -1,6 +1,7 @@
|
||||
# RF Mapper - TODO / Backlog
|
||||
|
||||
**Last Updated:** 2026-02-01
|
||||
**Current Version:** v1.0.0
|
||||
|
||||
---
|
||||
|
||||
@@ -24,6 +25,23 @@
|
||||
|
||||
---
|
||||
|
||||
## Multi-Scanner / Peer Sync
|
||||
|
||||
- [x] Scanner identity configuration
|
||||
- [x] Peer registration API
|
||||
- [x] Bidirectional device sync
|
||||
- [x] Timestamp-based conflict resolution
|
||||
- [x] Source scanner tracking for synced devices
|
||||
- [x] Peer scanner markers on map
|
||||
- [x] Background sync thread
|
||||
- [ ] WebSocket real-time sync (instead of polling)
|
||||
- [ ] Automatic peer discovery via mDNS/Bonjour
|
||||
- [ ] Sync RSSI history for trilateration
|
||||
- [ ] Web UI for peer management
|
||||
- [ ] Sync conflict resolution UI
|
||||
|
||||
---
|
||||
|
||||
## Scanning
|
||||
|
||||
- [ ] Support multiple WiFi interfaces
|
||||
@@ -222,6 +240,10 @@
|
||||
- [x] Popup persistence during live updates
|
||||
- [x] Manual position override (drag-drop for floor-assigned devices)
|
||||
- [x] Home Assistant webhook integration (scan, new device, departure)
|
||||
- [x] Multi-scanner peer sync (v1.0.0)
|
||||
- [x] Bidirectional device metadata sync
|
||||
- [x] Source scanner tracking for synced devices
|
||||
- [x] Peer scanner markers on 3D map
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user