2.6 KiB
2.6 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 |
|---|---|---|---|---|
| Status | Yes | Yes | Yes | /status equals status_request |
| Config view | Yes | Yes | Yes | /config equals config_request |
| Relay control | Yes | Yes | Yes | Preferred HTTP endpoint is POST /relay/set |
| Device name config | Yes | Yes | Yes | devicename, config_device, /config/device |
| Relay config | Yes | Yes | Yes | relayname, config_relay, /config/relay |
| Temperature config | Yes | Yes | Yes | tempname, config_temp, /config/temp |
| BMS config | Yes | Yes | Yes | bmsname/bmsaddr, config_bms, /config/bms |
| Save config | Yes | Yes | Yes | save, save_config, /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 /relay/set
Legacy HTTP relay routes may 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.