My Pool Automation Adventure

elmoco

Gold Supporter
LifeTime Supporter
Aug 22, 2011
68
El Paso, TX
Pool Size
16000
Surface
Plaster
Chlorine
Salt Water Generator
SWG Type
Pentair iChlor 30
Hi. First off, 1000 times “thanks” to all the feedback/answers I’ve received from this forum. While this may come across as a low-key brag, I’m offering my experience with my own pool automation results. I wired an ESP32-based Pool Controller, and using ESPHome and Home Assistant (HA), I exposed some functionality to the rest of the family. It’s a small project but the main features:
- Powering. I have a Shelly 1PM that controls overall mains power to a 24VAC transformer (powers the system’s 220v contactor and valve actuators) and 24VDC power supply (powers the Pool Controller and low-voltage relays). This Shelly is almost always On. The 220V mains coming into contactor is not automated - “controlled” via breakers at mains distribution.
- Pool System. Basically turning the pump on and off on a schedule (via contactor). This also powers the heater and an iChlor30 chlorine generator. Has Freeze protection by using using an air temperature sensor. I do need to separate the ichlor30 power to run the pump without it - work in progress.
- Handles Heater control. “Pool Mode” temperature (max 85F) and “Spa Mode” (max 95F). Both limits are adjustable. I tried imitating the controls on the MasterTemp heater.
- Measures filter pressure, system operating current/power/energy, air temperature, inlet water temp (pool/spa water), outlet water temp (after heater), enclosure temperature
- Manages Valve actuators (Pool to Spa {for strong waterfall feature}, Spa to Pool {sometimes I empty the spa into the pool}, Pool Only, Spa Only, and Normal (return goes to both Pool and Spa)
- Actuators that “flip” the vacuum port and pool drain valves. This comes in handy when I leave the vacuum connected overnight. After the pump is off, it automatically closes the vacuum port and opens the pool drain. This is useful because during the day, the dog tends to jump in and pull out the vacuum, and the spring latch then closes the vacuum port, causing the pump to run somewhat dry.

Separately I also automated:
- Spa “Bubbles” - blower control. This is handled separately from Pool Controller with another Shelly 1PM. But still integrated into HA and exposed to Home
- Pool Fill using a Shelly Uni controlling a 12v valve (USSolid).

Equipment/material:
- 2 Shelly 1PMs (1 for enclosure, 1 for spa blower)
- 1 Shelly UNI to control fill valve
- 12V valve (USSolid) for pool fill
- 24VAC transformer (powers actuators and contactor)
- 24DC power supply (powers the low voltage stuff)
- 40A 2 pole contactor w 24VAC coil for system powering
- ESP32 with external antenna
- 8-channel 5V relay board
- DS18B20 temperature probe for air temperature
- 2 NTC 10kohm temperature probes for water temperature
- 30A CT clamp for current monitoring
- 4 valve actuators
- large enclosure
- 3 LED buttons (main switch, pool mode for heater, spa mode for heater)
- Wires, DIN rail, DIN connects, miscellaneous hardware

The valve actuators were the most expensive part (4 actuators @ $100 each, not including the one I broke during testing). All else, I would estimate <$500 + time. A Pentair system runs >$1500 + installation and doesn’t include valve actuators.

Here’s the ESP32 code, HA screenshots…

Definitely a work-in-progress, but maybe this comes in handy to someone. I’m open to questions/comments/and “hire an electrician” complaints :).

Cheers!
 

Attachments

  • enclosure.jpg
    enclosure.jpg
    122.6 KB · Views: 15
  • HA screenshot 1.png
    HA screenshot 1.png
    23.4 KB · Views: 16
  • HA screenshot 2.png
    HA screenshot 2.png
    12 KB · Views: 14
  • HA screenshot 3.png
    HA screenshot 3.png
    21.7 KB · Views: 13
  • home screenshot.jpg
    home screenshot.jpg
    46.8 KB · Views: 14