spaxel/dashboard/js
jedarden 3781ab7f86 feat: implement BLE device discovery & registration dashboard panel
Implements a comprehensive 'People & Devices' panel for BLE device management:

Frontend (dashboard/js/ble-panel.js, dashboard/css/ble-panel.css):
- Device list sorted by sighting frequency (rssi_count)
- Registration modal with label, person assignment, color picker, device type
- Auto-type hints with icons (iPhone, Apple Watch, Fitbit, Tile, AirTag)
- Pre-registration form for manual MAC address entry
- Unregistered count badge on panel toggle
- Device details modal with sighting history

Backend (mothership/internal/ble/handler.go):
- GET /api/ble/devices with registered/discovered filters and hours parameter
- PUT /api/ble/devices/{mac} for updates (label, device_type, person_id)
- GET /api/ble/devices/{mac}/history for sighting timeline
- POST /api/ble/devices/preregister for manual device entry
- GET /api/people and POST /api/people for person management

Database (mothership/internal/ble/registry.go):
- Enhanced ble_devices table with person_id, device_type, manufacturer fields
- ble_device_sightings table for history timeline
- Auto-detection of device types from manufacturer data (Apple, Fitbit, Garmin, Tile)
- RSSI tracking and averaging

Integration (dashboard/index.html, mothership/cmd/mothership/main.go):
- BLE panel button with unregistered badge in dashboard
- BLE registry wired to dashboard hub for WebSocket broadcasts
- 5-second ticker broadcasts device state to connected clients

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 15:21:11 -04:00
..
accuracy.js feat(localization): implement self-improving localization with BLE ground truth 2026-03-29 20:11:22 -04:00
anomaly.js feat: add new internal packages (events, automation, ble, falldetect, mqtt, notify, prediction, sleep, tracker, zones, analytics) and dashboard modules (anomaly, automations, blepanel, fleet) 2026-04-06 09:48:31 -04:00
apdetection.js feat: implement passive radar auto-detection of router AP 2026-04-06 14:03:03 -04:00
app.js feat: expand dashboard WebSocket feed with events, alerts, BLE, triggers, and system health 2026-04-06 10:18:04 -04:00
auth.js feat: implement dashboard PIN authentication and session management 2026-04-06 13:16:04 -04:00
automations.js feat: add new internal packages (events, automation, ble, falldetect, mqtt, notify, prediction, sleep, tracker, zones, analytics) and dashboard modules (anomaly, automations, blepanel, fleet) 2026-04-06 09:48:31 -04:00
ble-panel.js feat: implement BLE device discovery & registration dashboard panel 2026-04-06 15:21:11 -04:00
blepanel.js feat: implement BLE address rotation detection & identity continuity 2026-04-06 14:33:27 -04:00
explainability.js feat: implement detection explainability overlay with per-link contributions, Fresnel visualization, and BLE match display 2026-04-06 13:31:17 -04:00
feedback.js feat(learning): implement detection feedback loop and accuracy tracking 2026-03-29 14:50:36 -04:00
fleet.js feat: add new internal packages (events, automation, ble, falldetect, mqtt, notify, prediction, sleep, tracker, zones, analytics) and dashboard modules (anomaly, automations, blepanel, fleet) 2026-04-06 09:48:31 -04:00
linkhealth.js feat(signal): add ambient confidence score and link health monitoring 2026-03-29 01:41:43 -04:00
onboard.js feat(dashboard): complete Phase 4 onboarding & OTA system 2026-03-28 21:21:55 -04:00
onboard.test.js fix(dashboard): fix onboarding wizard test failures 2026-03-28 04:01:20 -04:00
onboard.test.setup.js feat(dashboard): complete Phase 4 onboarding & OTA system 2026-03-28 21:21:55 -04:00
ota.js feat(dashboard): complete Phase 4 onboarding & OTA system 2026-03-28 21:21:55 -04:00
panels.js feat: build dashboard panel/modal/sidebar UI framework 2026-04-06 10:04:40 -04:00
placement.js feat(dashboard): interactive 3D node placement with real-time GDOP coverage overlay 2026-03-28 09:25:44 -04:00
router.js feat: build dashboard panel/modal/sidebar UI framework 2026-04-06 10:04:40 -04:00
security-panel.js feat: implement BLE address rotation detection & identity continuity 2026-04-06 14:33:27 -04:00
settings-panel.js feat: implement BLE address rotation detection & identity continuity 2026-04-06 14:33:27 -04:00
state.js feat: build dashboard panel/modal/sidebar UI framework 2026-04-06 10:04:40 -04:00
timeline.js feat: implement dashboard activity timeline view 2026-04-06 12:01:19 -04:00
tooltips.js feat(dashboard): guided troubleshooting and first-time UX 2026-03-28 04:19:06 -04:00
troubleshoot.js feat(dashboard): guided troubleshooting and first-time UX 2026-03-28 04:19:06 -04:00
troubleshoot.test.js feat(dashboard): guided troubleshooting and first-time UX 2026-03-28 04:19:06 -04:00
viz3d.js feat: implement passive radar auto-detection of router AP 2026-04-06 14:03:03 -04:00