Context
The firmware has moved from UDP telemetry to MQTT publish using PubSubClient. Local builds pass for both esp32_a and esp32_b, but the MQTT path still needs validation on real ESP32 + W5500 hardware against Mosquitto.
Scope
Verify that telemetry is published to repacss/devices/<mac>/telemetry.
Suggested validation
- Start a broker subscriber:
mosquitto_sub -h localhost -p 1883 -t 'repacss/#' -v
- Flash one controller and confirm MQTT connection logs appear on serial.
- Confirm telemetry payloads arrive every
TELEMETRY_SEND_MS from Controller A.
- Confirm Controller B stays quiet while A is healthy.
- Confirm Controller B publishes after heartbeat failover.
Acceptance criteria
- Telemetry appears on
repacss/devices/<mac>/telemetry.
- Payload JSON includes the ESP32 MAC and expected heartbeat/sensor/failover fields.
- A/B failover behavior still prevents duplicate telemetry streams during normal operation.
Context
The firmware has moved from UDP telemetry to MQTT publish using PubSubClient. Local builds pass for both esp32_a and esp32_b, but the MQTT path still needs validation on real ESP32 + W5500 hardware against Mosquitto.
Scope
Verify that telemetry is published to
repacss/devices/<mac>/telemetry.Suggested validation
mosquitto_sub -h localhost -p 1883 -t 'repacss/#' -vTELEMETRY_SEND_MSfrom Controller A.Acceptance criteria
repacss/devices/<mac>/telemetry.