Files
overland-controller/docs/PARITY_MATRIX.md
T
2026-06-07 10:31:41 -06:00

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 weather boolean flag for outside-air display selection.