feat: add Home Assistant integration and improve CLI/UI

Home Assistant Integration:
- New homeassistant.py module with webhook support
- Webhooks for scan results, new devices, and device departures
- Absence detection with configurable timeout
- Documentation in docs/HOME_ASSISTANT.md

CLI Improvements:
- Replace 'web' command with start/stop/restart/status
- Background daemon mode with PID file management
- Foreground mode for debugging (--foreground)

Web UI Enhancements:
- Improved device list styling and layout
- Better floor assignment UI
- Enhanced map visualization

Documentation:
- Add CHANGELOG.md
- Add docs/API.md with full endpoint reference
- Add docs/CHEATSHEET.md for quick reference
- Update project documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
User
2026-02-01 03:31:02 +01:00
parent 0ffd220022
commit 7cc7c47805
16 changed files with 2704 additions and 108 deletions

11
TODO.md
View File

@@ -19,7 +19,7 @@
- [ ] Historical playback mode (scrub through time)
- [x] Device activity patterns (daily/weekly)
- [x] Alert on new device detection
- [ ] Alert on device absence (left the area)
- [x] Alert on device absence (left the area) - via HA webhook
- [x] Data retention policies (auto-cleanup old data)
---
@@ -41,7 +41,7 @@
## Distance & Positioning
- [ ] Manual position override for devices with assigned floor
- [x] Manual position override for devices with assigned floor
- [ ] Configurable TX power per device type
- [ ] Path loss exponent calibration wizard
- [ ] Environment presets (office, home, warehouse)
@@ -105,8 +105,9 @@
- [ ] WebSocket for real-time updates
- [ ] GraphQL endpoint (optional)
- [ ] MQTT publishing
- [ ] Home Assistant auto-discovery
- [ ] Webhook on device events
- [x] Home Assistant webhook integration (scan results, new device, departure)
- [ ] Home Assistant auto-discovery (MQTT)
- [x] Webhook on device events
- [ ] Prometheus metrics endpoint
- [ ] Grafana dashboard template
- [ ] Node-RED integration nodes
@@ -219,6 +220,8 @@
- [x] Statistical movement detection (reduces false positives)
- [x] Floor persistence in database
- [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)
---