- Node control API (start/stop/restart peers via SSH) - Home Assistant node control integration - Termux/Android: skip BT scanning, optional location check - Filter controls display only, always scan both WiFi/BT Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.1 KiB
5.1 KiB
Changelog
All notable changes to RF Mapper are documented here.
Format based on Keep a Changelog.
[1.0.1] - 2026-02-01
Added
- Node Control API - Master node can start/stop/restart peers via SSH
POST /api/nodes/<id>/start- Start rf-mapper on peerPOST /api/nodes/<id>/stop- Stop rf-mapper on peerPOST /api/nodes/<id>/restart- Restart rf-mapper on peerGET /api/nodes/<id>/status- Check peer status
- Home Assistant Node Control - rest_command integration for peer control
rest_command.rf_mapper_jellystar_start/stop/restartsensor.rf_mapper_jellystar_status(running/stopped/unreachable)
- Termux/Android Support - Graceful handling of Android limitations
- Skip BT scanning on Termux (bleak requires D-Bus, not available on Android)
- Location check now optional (uses config.yaml coordinates)
Changed
- Filter checkboxes now control display only, not scanning
- WiFi and Bluetooth always scanned regardless of filter state
- Filters only affect what's shown on map/radar
Fixed
- WiFi devices not appearing when filter unchecked at scan time
- rf-mapper failing to start on Termux due to GPS timeout
[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
- Peer registration API (
- 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: " 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
- Scan results webhook (
- Scanner identity (id, name, floor) in webhooks
- Absence checker background thread
[0.3.0] - 2026-02-01
Added
- 3D Map Visualization - MapLibre GL JS integration with building extrusion
- Floor-based positioning - Assign devices to floors, filter by floor
- SQLite database - Historical device tracking with 7 tables
- Historical data API - 15+ new endpoints for device history, stats, alerts
- Live BT tracking mode - 4-second scan interval with auto-start
- Movement detection - Statistical analysis (5-sample avg + 2σ threshold)
- bleak BLE scanning - Reliable RSSI via D-Bus/BlueZ (replaced hcitool)
- Floor persistence - Floor assignments saved in database
- Popup persistence - Device popups stay open during live updates
- Custom distance override - Manual distance setting via popup
- Position smoothing - Statistical averaging for stable positions
- Filter-aware scanning - Skip WiFi/BT based on toggle state
- Auto-scan feature - Background scanning with configurable interval
- Device labeling - Custom names via API
- Favorite devices - Mark important devices
- Alert system - New device detection, activity alerts
- Activity patterns - Hourly/daily usage analysis
- Database cleanup - Automatic and manual data retention
Changed
- Switched from
hcitooltobleakPython library for BLE scanning - Improved distance estimation algorithm
- Enhanced web UI with real-time updates
Fixed
- BT RSSI acquisition now reliable (bleak library)
- Floor assignments persist across page reloads
- Popups no longer close during live tracking
[0.2.0] - 2026-01-25
Added
- World Map view - Leaflet.js integration with device markers
- 2.5D visualization - Height-based display
- Auto-identify Bluetooth - Device type inference from name/manufacturer
- OUI lookup - Manufacturer identification from MAC address
- Signal quality indicators - Visual strength representation
- Request profiling - Optional per-request performance analysis
- Request logging - Optional request logging to file
Changed
- Improved CLI output formatting
- Better error handling for scan failures
[0.1.0] - 2026-01-15
Added
- Initial release
- WiFi scanning - Uses
iwcommand - Bluetooth scanning - Uses
hcitoolandbluetoothctl - CLI interface - scan, visualize, analyze, list, config commands
- Web interface - Flask-based dashboard
- Radar visualization - ASCII and web-based radar view
- Distance estimation - RSSI-based path loss model
- Configuration system - YAML config with environment variable overrides
- JSON data storage - Scan results saved as JSON files
- GPS support - Reference position for mapping