3.1 KiB
3.1 KiB
Command Parity Matrix
This document tracks feature parity across the three control surfaces.
Control surfaces:
- USB serial console
- UART JSON protocol
- HTTP API
Current Parity
| Feature | USB Serial | UART JSON | HTTP API | Notes |
|---|---|---|---|---|
| Health | No | No | Yes | /api/v1/health is lightweight HTTP liveness |
| Capabilities | No | No | Yes | /api/v1/capabilities supports client discovery |
| Status | Yes | Yes | Yes | /api/v1/status equals status_request |
| Config view | Yes | Yes | Yes | /api/v1/config equals config_request |
| Config export | No | No | Yes | /api/v1/config/export includes WiFi passwords |
| Config import | No | No | Yes | /api/v1/config/import persists restored config |
| Relay control | Yes | Yes | Yes | Preferred HTTP endpoint is POST /api/v1/relay/set |
| Device name config | Yes | Yes | Yes | devicename, config_device, /api/v1/config/device |
| Relay config | Yes | Yes | Yes | relayname, config_relay, /api/v1/config/relay |
| Temperature config | Yes | Yes | Yes | tempname, config_temp, /api/v1/config/temp |
| BMS config | Yes | Yes | Yes | bmsname/bmsaddr, config_bms, /api/v1/config/bms |
| Save config | Yes | Yes | Yes | save, save_config, /api/v1/config/save |
| Factory reset | Yes | Yes | Yes | AP remains recovery path |
| BMS setup enter | Yes | Yes | Yes | Setup pauses normal BMS reconnect behavior |
| BMS setup exit | Yes | Yes | Yes | Returns to normal mode |
| BLE scan | Yes | Yes | Yes | Some BMS devices require repeated scans |
| Select BMS | Yes | Yes | Yes | Uses most recent scan result index |
| WiFi config | Yes | Yes | Yes | Supports multiple saved STA networks |
| WiFi priority | Yes | Yes | Yes | Lower priority number is tried first |
| WiFi connect | Yes | Yes | Yes | AP remains available |
| WiFi clear | Yes | Yes | Yes | Clears saved STA networks |
Preferred Command Model
Use generic IDs everywhere.
Relays:
relay_1
relay_2
Temperature sensors:
temp_1 through temp_8
Preferred relay command shape:
{
"type": "set_relay",
"id": "relay_1",
"state": true
}
Legacy UART relay fields may still be accepted:
relay
enabled
Preferred HTTP relay endpoint:
POST /api/v1/relay/set
Legacy root HTTP relay routes remain for compatibility:
GET /relay/relay_1/on
GET /relay/relay_1/off
GET /relay/relay_2/on
GET /relay/relay_2/off
Response Shape Standard
Success responses should include:
ok: true
Error responses should include:
ok: false
error: "error_code"
Status/config responses should preserve the generic data model used by /status.
Project Status
API/UART/USB parity status:
COMPLETE
Covered:
Status
Configuration
Relays
WiFi
BMS
Temperature Sensors
Save Config
Factory Reset
Future additions must be implemented on:
USB Serial
UART JSON
HTTP API
before parity is considered maintained.
- Temperature sensor config/status parity now includes the
weatherboolean flag for outside-air display selection.