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

5.1 KiB
Raw Permalink Blame History

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 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: " 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