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:
User
2026-02-01 04:41:24 +01:00
parent ea88343ae7
commit 98e2c6fc42
5 changed files with 116 additions and 7 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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 |

View File

@@ -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
View File

@@ -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
---