Skip to content
Troubleshooting Matrix

Troubleshooting Matrix

⚠️ WARNING: Some troubleshooting steps involve working with 230V AC mains voltage (relay testing, pump wiring). Always disconnect power before working on the circuit. If unsure, hire a qualified electrician.

Troubleshooting Matrix

#SymptomCauseSolution
1-127 °C temperature readingDS18B20 not detected on OneWire busCheck 4.7 kΩ pull-up resistor between DATA and 3.3V; verify wiring (VCC, GND, DATA); check solder joints
285 °C temperature readingDS18B20 in parasitic power mode without sufficient powerConnect VCC pin to 3.3V (external power, not parasitic)
3HA finds no deviceMQTT Discovery payload not published or broker unreachableVerify MQTT broker settings (host, port, credentials) in the web UI; check broker connectivity with MQTT Explorer
4HA entities show “unavailable”MQTT connection lost or broker restartedCheck controller MQTT status in web UI; restart HA MQTT integration; reboot controller
5Relay behavior invertedActive-high relay module with firmware using active-low logic (hard-coded)The firmware drives relays with active-low logic (LOW = on). If your relay module expects active-high (i.e., HIGH = on), swap to an active-low module or add an external transistor inverter
6Relay clicks but pump doesn’t runIncorrect COM/NO wiring or pump fuse blownVerify COM → mains Live, NO → pump Live; check pump fuse; test pump independently
7Relay doesn’t clickGPIO pin damaged, relay module not powered, or optocoupler defectiveMeasure GPIO voltage (should toggle between ~0 V and ~3.3 V); verify relay VCC (5V) and GND; disconnect the IN wire from the ESP32 GPIO and apply 3.3 V (not 5 V) to the relay input pin to test the module
8Safe Mode activeBoot-loop detected: 3 consecutive boots < 5 minutes eachRead serial log for crash reason (panic, assert, exception); fix the root cause; reboot
9Random reboots every few hoursInsufficient power supply or heap exhaustionUse >1A power supply; check free_heap_space (should be >20 KB); monitor serial for crash output
10OTA update failsTLS handshake failure or insufficient flash spaceTry USB flash as fallback; free space by removing unused data; try smaller firmware binary
11OTA uploads but device won’t bootCorrupted or incompatible firmware binaryFlash known-good version via USB; verify firmware matches board type
12Web UI not loadingESP32 not connected to network or wrong IPCheck router DHCP list; verify WiFi connection status; try pool-controller.local (mDNS)
13Web UI password not acceptedPassword changed but browser has cached old sessionClear browser cookies and cache; use incognito/private browsing window
14MQTT connection refusedWrong broker credentials or broker not reachableVerify broker IP, port, username, and password in MQTT settings; check if broker allows anonymous connections
15Temperature readings fluctuatingLoose connection, interference, or long unshielded cableCheck sensor wiring; use shielded twisted-pair cable; verify pull-up resistor value (4.7 kΩ)
16Configuration lost after rebootNVS corruption or configuration not saved properlyRe-save configuration via web UI; if persistent, try factory reset and reconfigure
17ESP32 not entering AP modePrevious WiFi configuration still storedPerform factory reset via Web UI → System → Factory Reset to clear credentials; AP mode starts automatically when no SSID is configured
18WiFi scan finds no networksESP32 antenna issue, interference, or wrong regionMove device closer to router; check antenna connection; verify WiFi region settings
19mDNS not resolving (pool-controller.local)Network doesn’t support mDNS or reflector neededUse IP address directly; install mDNS reflector (avahi-daemon on Linux)
20Serial monitor shows gibberishWrong baud rate or serial portUse 115200 baud; verify correct serial port (/dev/ttyUSB0, COM3, etc.)
21DS18B20 works initially then failsIntermittent connection or cold solder jointRe-solder sensor connections; add strain relief on sensor cable; check for water ingress
22Both pumps running at same time unexpectedlyTimer or mode conflictCheck operation mode (should be Auto, not Manual); verify timer start/end times don’t overlap
23Pump runs when controller is offRelay welded/stuck closed or wiring bypasses relayDISCONNECT POWER IMMEDIATELY; replace relay module; verify wiring
24Home Assistant shows wrong temperature unitHA temperature unit configuration mismatchCheck HA → Settings → System → Units; restart HA
25Firmware version shows “unknown”Version string not compiled into firmwareRe-compile from clean build (pio run --target clean && pio run); verify version.h is correct

By Category

Sensors

#SymptomLikely CauseQuick Fix
1-127 °CNo sensor detectedCheck 4.7 kΩ pull-up
285 °CParasitic powerAdd VCC wire
15Fluctuating readingsInterferenceShielded cable
21Intermittent failureBad connectionRe-solder

MQTT / Home Assistant

#SymptomLikely CauseQuick Fix
3Not discoveredDiscovery not sentCheck broker settings
4UnavailableConnection lostReboot controller
14Connection refusedWrong credentialsVerify MQTT settings

Relays

#SymptomLikely CauseQuick Fix
5Inverted behaviorWrong polarityUse active-low module
6Clicks but no pumpWiring errorCheck COM/NO
7No clickNo power to relayCheck 5V supply
23Pump runs when offWelded relayReplace relay module

Boot / Stability

#SymptomLikely CauseQuick Fix
8Safe ModeBoot-loopCheck serial log
9Random rebootsLow power or heapBetter PSU
16Config lostNVS corruptionFactory reset

OTA / Firmware

#SymptomLikely CauseQuick Fix
10OTA failsTLS/SpaceUSB flash
11Won’t boot after OTABad firmwareReflash known-good
25Unknown versionBuild issueClean rebuild

Serial Log Quick Reference

Look for these keywords in the serial monitor output:

Log MessageMeaning
Safe Mode ACTIVEBoot-loop detected, relays forced OFF
WDT resetHardware watchdog triggered (30s timeout)
heap criticalFree heap below 8 KB, reboot imminent
DS18B20 read failedTemperature sensor communication error
MQTT connection failedBroker unreachable or credentials wrong
NTP sync failedTime server not reachable
Configuration CRC mismatchNVS config corrupted, using defaults
WiFi disconnectedNetwork connection lost
OTA update failedFirmware upload error

See Also

Last updated on