# ESP32-Web Tasks **Last Updated:** 2026-02-05 ## Current Sprint: v0.1.3 — Fleet Management ### P1 - High - [x] `GET /api/v1/sensors//config` — read sensor config - [x] `PUT /api/v1/sensors//config` — update sensor config - [x] `POST /api/v1/sensors//ota` — trigger OTA update - [x] `POST /api/v1/sensors//calibrate` — trigger calibration ### P2 - Normal - [x] Sensor heartbeat timeout detection - [x] Sensor metrics history endpoint ### P3 - Low - [ ] Add pagination to all list endpoints - [x] 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