For technology enthusiasts, DIY people and makers, consumer home automation — Google Home or Alexa — is often too limited. When you want total control, absolute data privacy and complex automations, one name stands out: Home Assistant (HA).
But how do you connect that conductor of home automation to the wet, electrical world of your pool plant room? A dive into MQTT, ESP8266/ESP32 boards and advanced automation.
🛠️ The hardware challenge: reading the pool water
Automating filtration is easy — a simple connected relay like a Shelly or a Sonoff will do. The real technical challenge is getting the water readings out:
- Hydrogen potential (pH)
- Oxidation-reduction potential (ORP / redox)
- Water temperature
Reading those values takes specific BNC probes, sitting in the pipework through saddle clamps and wired to analogue acquisition boards such as ADC modules.
Historically, the community has leaned heavily on microcontrollers such as the ESP8266 or the ESP32, flashed with firmware like ESPHome or Tasmota. These microcontrollers read the probe values, convert them digitally and send them over Wi-Fi to Home Assistant using the MQTT protocol (Message Queuing Telemetry Transport).
📡 MQTT: the nervous system of the connected pool
MQTT is the gold standard for the local Internet of Things. It is an extremely light, reliable messaging protocol.
In an automated installation:
- The pool's ESP32 publishes a message on the topic
piscine/capteurs/pHwith the value7.2. - The MQTT broker — often Mosquitto, installed on Home Assistant — receives the data.
- Home Assistant reads it and updates your dashboard.
This decoupled architecture is extremely robust. If Home Assistant restarts, the ESP32 keeps running and keeps regulating locally.
🖥️ The ultimate dashboard
Once the data is in Home Assistant, the visualisation options are endless. You can build a pool tab with:
- Circular gauges for pH and ORP with coloured zones (green = fine, red = alert).
- Historical graphs (Lovelace Mini-Graph-Card) to see how temperature drives the fall in chlorine.
- Virtual buttons to force the pump on, switch on the evening lighting or start the cleaning robot.
🤖 Automations
This is where Home Assistant shows its full power. Here are some advanced scenarios that closed commercial systems cannot do:
1. Smart proportional filtration
You can use a mathematical template in HA to work out the daily filtration time from the average water temperature. An automation then switches the pump on and off to meet that time, favouring off-peak hours or the hours when your solar panels are producing.
2. Managing treatment containers (low levels)
By adding an ultrasonic distance sensor — or simply by counting how long the dosing pumps have run — Home Assistant can estimate how much is left in your pH-minus or liquid chlorine containers. Action: send a Telegram notification: "⚠️ Careful, the pH-minus container is nearly empty (around 10% left)."
3. Automatic active wintering
In winter, if the outside temperature — from a weather station or from the internet — drops below 0 °C, Home Assistant forces the pool pump on to keep the water moving and stop ice forming in the pipes, saving your installation.
🚀 The PoolNexus approach: plug-and-play meets professional
Building your own ESP32 pool controller is a fascinating project, but it takes dozens of hours of soldering, C++ calibration and hunting down electrical bugs — galvanic isolation, for instance, to stop the pH and ORP probes interfering with each other.
PoolNexus came out of exactly that frustration. Our unit is built on the same open philosophy as the DIY projects, but with industrial-grade hardware: isolated signals, dual processor, sealed DIN enclosure.
Above all, PoolNexus speaks MQTT natively. You plug the unit in, enter your MQTT broker's IP address, and every entity — probes, relays, statuses — appears instantly in your Home Assistant thanks to MQTT auto-discovery.
You get the reliability of a ready-made commercial product without giving up the absolute control and deep integration that Home Assistant offers.