forked from NorthernMan54/esp32_balboa_spa
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting FAQ
github-actions[bot] edited this page May 19, 2026
·
1 revision
Short symptom → checks guide. For release-accurate API and flag lists, use the README.
Checks (in order):
- Wiring — Confirm RS485 A/B on the spa bus (ccutrer physical layer). Swap A/B if you see no frames.
-
Pins — M5 Atom + Atomic base:
TX485_Rx22,TX485_Tx19 inconfig.h. -
AUTO_TX— Prefertrueunless your module needs manual DE/RE. -
RS485 health — Open
/stateorGET /api/rs485. Look athealth, frame/CRC counters, and polarity hints. - Power / bench — USB-only bench power is OK; ensure the transceiver shares a valid ground reference with the bus.
Deeper (maintainer checklist in repo):
-
config.h— CorrectWIFI_SSIDandWIFI_PASSWORD(rebuild after edits). - Band — Use a 2.4 GHz SSID; ESP32 does not join 5 GHz-only networks.
-
/state— Shows Wi‑Fi status, RSSI, and IP when connected. -
GET /api/wifi— JSON mirror of station state (see README JSON APIs).
If the device stays offline long enough, firmware may self-restart (see WIFI_OFFLINE_RESTART_* comments in config-example.h).
-
Same broker — Home Assistant’s MQTT integration must use the same broker as
MQTT_SERVERinconfig.h. -
Discovery enabled — Default is on; to disable:
#define MQTT_HA_DISCOVERY 0inconfig.h. -
Discovery prefix — Default
homeassistant/; override withMQTT_DISCOVERY_PREFIXif your HA uses a custom prefix. -
Temperature unit — Default discovery uses °F. Celsius tubs: set
MQTT_HA_TEMP_UNITinconfig.h(see config-example.h). -
Wait for spa config — Core entities appear after MQTT connect; equipment switches/selects may appear only after the spa sends config/information frames (same as web
/status).
Canonical topic and entity list: README — MQTT and Home Assistant.
Walkthrough: Home Assistant setup.
- One action at a time — Avoid overlapping web, MQTT, and bridge tests.
- Confirm RS485 is healthy — See No spa data above.
-
Web vs LittleFS SPA — Firmware
/statuscontrols are wired to RS485; the bundledbalboa-spatab may differ — prefer/statuswhen debugging writes. - Bridge harness cooldown — If using TCP port 4257, wait between raw frame injections.
Deeper:
- Command-write debug log (maintainer ledger)
-
LAN — Computer and spa gateway on the same network; know hostname (
spa-….local) or IP. -
Env — Use
M5AtomLite-tub-otawithupload_protocol = espota. -
Auth — Shipped builds often have OTA auth off; if you enabled
ENABLE_OTA_AUTH, setOTA_PASSWORDinconfig.h. -
Recovery — USB flash with
M5AtomLite-tubif OTA is unreachable.
Full runbook: OTA_LOGGING_WORKFLOW.md.
The gateway hostname is spa- + MAC-derived suffix (e.g. spa-aabbccddeeff.local). Some networks block mDNS.
- Use the IP from
/state, serial log, or your router’s DHCP table. - For HA
configuration_url, use a DHCP reservation and local DNS if needed (see README).
Open a GitHub Issue with:
- Board / env (e.g.
M5AtomLite-tub) - Firmware version from
/stateor/api/version - Symptom,
/api/rs485snapshot (redact Wi‑Fi/MQTT secrets) - Optional: add a row on Hardware field notes