Files
rf-mapper/TODO.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

7.4 KiB

RF Mapper - TODO / Backlog

Last Updated: 2026-02-01 Current Version: v1.0.1


Historical Data & Device Tracking (Priority)

  • SQLite database for device history
  • Store every scan result with timestamp
  • Track first_seen / last_seen per device
  • RSSI history per device (time series)
  • Calculate average/min/max RSSI per device
  • Device appearance frequency statistics
  • Motion detection from RSSI patterns
  • Velocity estimation from distance changes
  • Movement trajectory visualization
  • Device presence heatmap over time
  • Historical playback mode (scrub through time)
  • Device activity patterns (daily/weekly)
  • Alert on new device detection
  • Alert on device absence (left the area) - via HA webhook
  • Data retention policies (auto-cleanup old data)

Multi-Scanner / Peer Sync

  • Scanner identity configuration
  • Peer registration API
  • Bidirectional device sync
  • Timestamp-based conflict resolution
  • Source scanner tracking for synced devices
  • Peer scanner markers on map
  • Background sync thread
  • WebSocket real-time sync (instead of polling)
  • Automatic peer discovery via mDNS/Bonjour
  • Sync RSSI history for trilateration
  • Master dashboard: view peer node data without redirect
  • Node control API (start/stop/restart peers via SSH)
  • Home Assistant integration for node control
  • Web UI for peer management
  • Sync conflict resolution UI

Scanning

  • Support multiple WiFi interfaces
  • Scan specific channels only (faster)
  • Hidden network detection
  • WPA3 detection
  • 5GHz/6GHz band identification
  • Bluetooth LE advertisement parsing
  • iBeacon/Eddystone protocol support
  • BLE service UUID decoding
  • Scan scheduling with cron expressions
  • Concurrent WiFi + BT scanning

Distance & Positioning

  • Manual position override for devices with assigned floor
  • Configurable TX power per device type
  • Path loss exponent calibration wizard
  • Environment presets (office, home, warehouse)
  • Wall attenuation factor
  • Multi-floor path loss adjustment
  • Trilateration from multiple scan points
  • Kalman filter for position smoothing
  • Dead reckoning with IMU (if available)
  • Fingerprinting-based positioning
  • Machine learning position estimation

Visualization

  • Dark/light theme toggle
  • Custom marker icons per device type
  • Signal strength color gradient
  • Animated radar sweep effect
  • Mini-map in corner
  • Fullscreen mode
  • Split view (radar + map)
  • Device clustering at zoom levels
  • Floor plan image overlay
  • Custom building polygon drawing
  • SVG export for diagrams
  • Device trail/path visualization
  • Speed/direction indicators on moving devices

Statistics & Analytics

  • Dashboard with device counts over time
  • Signal quality trends per device
  • Busiest hours/days heatmap
  • Device type distribution pie chart
  • Manufacturer breakdown
  • Floor occupancy statistics
  • Motion events timeline
  • Exportable reports (PDF)

Data & Storage

  • SQLite database backend
  • Automatic scan rotation/cleanup
  • Compressed JSON storage
  • Cloud backup option
  • Import from other tools (Kismet, etc.)
  • Merge scans from multiple sessions
  • Data anonymization option
  • GDPR compliance features

API & Integration

  • OpenAPI/Swagger documentation
  • WebSocket for real-time updates
  • GraphQL endpoint (optional)
  • MQTT publishing
  • Home Assistant webhook integration (scan results, new device, departure)
  • Home Assistant auto-discovery (MQTT)
  • Webhook on device events
  • Prometheus metrics endpoint
  • Grafana dashboard template
  • Node-RED integration nodes

Security

  • Optional authentication (basic/token)
  • HTTPS support
  • Rate limiting
  • Audit logging
  • MAC address randomization detection
  • Rogue AP detection
  • Deauth attack detection
  • Known device allowlist

Performance

  • Async scanning with asyncio
  • Scan result caching
  • Lazy loading for large device lists
  • WebWorker for frontend processing
  • Gzip compression for API responses
  • Database query optimization
  • Memory profiling and optimization

DevOps

  • GitHub Actions CI/CD
  • Automated testing on PR
  • Docker multi-arch builds
  • Helm chart for Kubernetes
  • Ansible playbook for deployment
  • systemd service with watchdog
  • Log rotation configuration
  • Health check endpoint

Documentation

  • Video tutorial
  • Architecture diagrams (Mermaid)
  • Troubleshooting guide
  • FAQ section
  • Contribution guidelines
  • Code of conduct
  • Security policy
  • Changelog automation

Hardware Support

  • External USB WiFi adapters
  • External USB Bluetooth adapters
  • RTL-SDR integration
  • HackRF support
  • ESP32 as remote scanner node
  • Raspberry Pi Pico W support
  • GPS module integration (for mobile scanning)
  • PoE-powered deployment

Ideas / Research

  • Crowd-sourced device fingerprints
  • AI-based device classification
  • Augmented reality view (WebXR)
  • Voice control integration
  • Mesh network topology mapping
  • Time-based access patterns
  • Anomaly detection
  • Digital twin integration

Technical Debt

  • Refactor scanner.py (too large)
  • Split app.py into blueprints
  • Type hints for all functions
  • Consistent error handling
  • Remove deprecated code paths
  • Update dependencies
  • Fix linting warnings
  • Improve test coverage (target: 80%)

Completed

  • Check if OpenStreetMap provides 3D view capabilities
  • Allow placement of height (floor) in the building for device positioning
  • Implement 3D navigable map (using MapLibre GL JS with building extrusion)
  • Device floor assignment UI (click device to assign floor)
  • SQLite database for historical device tracking
  • RSSI time-series history with statistics
  • Movement detection and velocity estimation
  • Device labeling and favorites
  • New device alerts
  • Automatic data retention/cleanup
  • Reliable BLE scanning with bleak library
  • Statistical movement detection (reduces false positives)
  • Floor persistence in database
  • Popup persistence during live updates
  • Manual position override (drag-drop for floor-assigned devices)
  • Home Assistant webhook integration (scan, new device, departure)
  • Multi-scanner peer sync (v1.0.0)
  • Bidirectional device metadata sync
  • Source scanner tracking for synced devices
  • Peer scanner markers on 3D map
  • WebSocket real-time sync
  • Termux/Android environment detection with prerequisite checks
  • Multi-scanner trilateration for device positioning
  • Signal coverage heat map visualization
  • Multi-node master dashboard (view peer data in single UI)
  • Node control API (start/stop/restart peers via SSH)
  • Home Assistant node control integration
  • Termux/Android: skip BT scanning gracefully (no D-Bus)
  • Termux/Android: optional location check
  • Filter controls display only, always scan both WiFi/BT

Won't Do (Decided Against)

  • Active WiFi probing - Too intrusive, passive only
  • Packet injection - Legal concerns
  • Deauth capabilities - Malicious use potential
  • Commercial tracking - Privacy concerns