Files
rf-mapper/CHANGELOG.md
User 9c9f27e55f docs: update TASKS, TODO, CHANGELOG for v1.0.1
- 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>
2026-02-01 17:06:00 +01:00

145 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
All notable changes to RF Mapper are documented here.
Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
---
## [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 peer
- `POST /api/nodes/<id>/stop` - Stop rf-mapper on peer
- `POST /api/nodes/<id>/restart` - Restart rf-mapper on peer
- `GET /api/nodes/<id>/status` - Check peer status
- **Home Assistant Node Control** - rest_command integration for peer control
- `rest_command.rf_mapper_jellystar_start/stop/restart`
- `sensor.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
- **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
- **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 `hcitool` to `bleak` Python 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 `iw` command
- **Bluetooth scanning** - Uses `hcitool` and `bluetoothctl`
- **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