I currently have a pool controller which is completely disconnected, and with meanwhile heavy usage of HomeAssistant in our house and some ESPhome devices I wan’t to implement the pool also.
Features wanted
- Relay driver outputs:
- Pump
- Heating
- 3-Way solar valve
- Dosing system
- 1-Wire inputs for temperature probes (ds18b20)
- I2C available for
- Ph / Rx probes (Atlas-Scientific)
- Display
Hardware
The first idea was to create the complete hardware myself:
But I immediately realised this would take a lot of time… And swimming season is coming.
As such, this hardward project is currently on-hold.
Now, as there is a lot of common of the shelf hardware which can be flashed with ESPhome, I started with a Sonoff 4CH, which appears to be R3. When I opened the device, there is place to put some header ping, these can firstly be used to flash the device, but mor important they give me I/O.
So, next step was to develop a small daugtherboard which offers me 1-wire for some temperature sensors and I2C for extensions.
I’ve sent the board to production on 19/05, hopefully it will be fully functional.
Software
This is the most complex piece I think and I just started development.
The idea is that I can work with profiles:
- Filtering / pumping
- Off (Winter)
- Minimal
- Maximal
- Auto (based on temperature / sun)
- Heating (Heatpump)
- Off
- Maximal (when pump runs)
- Auto (based on excessive power from solar-panels)
- Solar absorbers (3-way valve)
- Off
- Auto (based on delta temperature water <-> sensor)
I could delevlop this completely in Homeassistant, or completely in ESPhome or a mix of both.
My idea was to do most in ESPhome, as such the controller could run if there is an issue with HomeAssistant.
But my first test allready identified an issue, if connection with HomeAssistanbt is lost for a couple of minutes, the clock on the ESP resets. As I will be doing a lot time-based, it means all automation would break.
So here, I might use some inspiration…