Files
esp32-web/TASKS.md
user b36b1579c7 feat: heartbeat detection and sensor metrics
- Heartbeat service: check_sensor_status (online/stale/offline)
- GET /sensors/heartbeat: status summary for all sensors
- POST /sensors/heartbeat: refresh heartbeat status
- GET /sensors/<hostname>/metrics: activity counts, recent events
- CLI command: flask check-heartbeats
- Added 7 new tests (34 total)
2026-02-05 21:23:55 +01:00

55 lines
1.5 KiB
Markdown

# ESP32-Web Tasks
**Last Updated:** 2026-02-05
## Current Sprint: v0.1.3 — Fleet Management
### P1 - High
- [x] `GET /api/v1/sensors/<id>/config` — read sensor config
- [x] `PUT /api/v1/sensors/<id>/config` — update sensor config
- [x] `POST /api/v1/sensors/<id>/ota` — trigger OTA update
- [x] `POST /api/v1/sensors/<id>/calibrate` — trigger calibration
### P2 - Normal
- [x] Sensor heartbeat timeout detection
- [x] Sensor metrics history endpoint
### P3 - Low
- [ ] Add pagination to all list endpoints
- [ ] Add OpenAPI/Swagger spec
- [ ] Add request logging middleware
## Completed: v0.1.2 - OSINT Features
- [x] IEEE OUI database download (`make oui`)
- [x] MAC vendor lookup utility
- [x] BLE company_id mapping (30+ vendors)
- [x] Device profile enrichment in API
- [x] Export endpoints (devices.csv, devices.json, alerts.csv, probes.csv)
- [x] Auto-populate vendor on device creation
## Completed: v0.1.1 - Server Management
- [x] Makefile start/stop/restart/status commands
- [x] Health endpoint with uptime tracking
- [x] CLI module (esp32-web command)
- [x] Initial database migration
- [x] Listen on all interfaces (0.0.0.0:5500)
## Completed: v0.1.0 - Project Scaffold
- [x] Flask app factory pattern
- [x] SQLAlchemy 2.x models
- [x] API blueprint with endpoints
- [x] UDP collector with parsers
- [x] pytest fixtures and tests
- [x] Containerfile for podman
- [x] Makefile for common tasks
## Notes
- Sensors send data to UDP 5500
- API listens on TCP 5500
- Commands sent to sensors on UDP 5501
- SQLite for dev, PostgreSQL for prod