Frequently Asked Questions (FAQ)
This FAQ covers common issues and their solutions for the Smart Swimming Pool Controller. If your problem isn’t listed here, check the Discussions or open a new issue on GitHub.
๐จ Safety & Warnings
โ ๏ธ Is this project safe for beginners?
No. This project involves 230V AC mains voltage, which can be deadly if mishandled.
- Only proceed if you have basic electronics knowledge (e.g., understanding of voltage, current, and safety precautions).
- Always use a Residual Current Device (RCD/FI circuit breaker) for the pump circuit.
- Disconnect power before working on the circuit.
- If in doubt, consult a qualified electrician.
- This project is NOT certified (no CE/UL mark). For personal use only!
โ ๏ธ What safety precautions should I take?
- Use an RCD (FI circuit breaker) for the pump circuit.
- Keep low-voltage (sensor) wiring separate from mains wiring.
- Use insulated tools and wear safety glasses.
- Never work on live circuits.
- Test connections with a multimeter before powering on.
๐ Hardware Issues
๐น My DS18B20 sensor is not detected (shows -127ยฐC or “Sensor error”)
Possible Causes & Solutions
| Cause | Solution | How to Test |
|---|---|---|
| Missing 4.7kฮฉ pull-up resistor | Add a 4.7kฮฉ resistor between the DATA line and 3.3V. | Measure resistance between DATA and 3.3V (should be ~4.7kฮฉ). |
| Wrong GPIO pin | Check PIN_DS_SOLAR (GPIO32) and PIN_DS_POOL (GPIO33) in src/Config.hpp. | Verify wiring matches the firmware configuration. |
| Sensor not connected to 3.3V | Ensure VDD (red wire) is connected to 3.3V (not 5V!). | Measure voltage between VDD and GND (should be ~3.3V). |
| Sensor not connected to GND | Ensure GND (black wire) is connected to GND. | Measure continuity between sensor GND and ESP32 GND. |
Debugging Steps
- Check the serial monitor (115200 baud) for sensor initialization messages.
- Test with a single sensor (disconnect one and test the other).
๐น My relay module doesn’t work
Possible Causes & Solutions
| Cause | Solution | How to Test |
|---|---|---|
| Relay module not powered | Ensure VCC is connected to 5V and GND to GND. | Measure voltage between VCC and GND (should be ~5V). |
| Wrong logic level (active-low) | Ensure the relay module is active-low trigger compatible (firmware output is active-low). | Check whether the relay clicks/energizes when GPIO goes LOW (LED behavior can vary by module). |
| Incorrect GPIO pin | Verify PIN_RELAY_POOL (GPIO25) and PIN_RELAY_SOLAR (GPIO26). | Check wiring matches firmware configuration. |
๐ป Software & Firmware Issues
๐น How do I update the firmware?
Option A: Web Interface (OTA)
- Open Web Dashboard (
http://<controller-ip>/). - Go to Security & Update > OTA Firmware Update.
- Select the
.binfile and click Update.
Option B: PlatformIO
- Open the
pool-controllerfolder in VS Code with PlatformIO. - Select the
esp32devenvironment. - Run
pio run -e esp32dev -t upload.
๐น My controller doesn’t connect to WiFi
Debugging Steps
LED Status Codes:
- Rapid blink (5 Hz): AP mode (no WiFi configured).
- Slow blink (1 Hz): WiFi connecting.
- Solid on: Fully connected.
Reconnect via AP Mode:
- Connect to
Pool-Controller-Setup(open network). - Open
http://192.168.4.1and reconfigure WiFi.
- Connect to
๐น My controller doesn’t connect to MQTT
Debugging Steps
Verify MQTT Host/IP and Port in Web Dashboard.
Test MQTT manually:
mosquitto_sub -h <broker-ip> -t "#" -v
๐น Home Assistant doesn’t discover my controller
Solution
Upgrade to v3.3.0+ (Homie support removed).
Clear retained MQTT messages:
mosquitto_pub -h <broker> -t "homeassistant" -n -rEnable MQTT Discovery in Home Assistant.
๐ Integration Guides
๐น How do I set up Mosquitto on Raspberry Pi?
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install mosquitto mosquitto-clients
sudo systemctl start mosquitto
sudo systemctl enable mosquitto๐น How do I integrate with Node-RED?
Install Node-RED:
npm install -g node-red node-redInstall MQTT nodes:
- Menu > Manage palette > Install > node-red-node-mqtt
๐ Operation & Usage
๐น How do I change the operation mode?
Via Web Dashboard
- Go to Configuration tab.
- Select Auto, Manual, Timer, or Boost.
Via MQTT
mosquitto_pub -h <broker-ip> -t "homeassistant/select/pool-controller/mode/set" -m "auto"๐ Additional Resources
๐ค Still Need Help?
- Search Discussions.
- Open a new issue.
๐ License
This FAQ is part of the Smart Swimming Pool project, licensed under the MIT License.
Last updated on