Open brianhanifin opened 5 years ago
Might be helpful : https://github.com/CCOSTAN/Home-AssistantConfig/issues/191
Thank you. Rob's video is what inspired me to consider this. I may never do this, but I like the idea.
https://github.com/segalion/raspipool - I dare you. :)
@CCOSTAN Wow! That's pretty serious. I stop paying for a pool guy with that setup.
Unfortunately, the wife would never allow that level of integration. There are too many flaky components of our home automation system to get her onboard with anything that critical. I'm going to have to work on that.
I just looked closer at Raspipool. While it looks promising, I have a fancy Intelliflo Variable Speed pump. I need a way to connect into the external controls port. This project appears to be controlling a dumb pump with relays. I'm just not motivated enough to mess with this right now. I'm going to close this.
Hey @CCOSTAN, I just came across this project on Thingiverse! This YAML code was included with the STL file for the case. This person did all of the hard work for us! :)
This looks like a good candidate for another Sonoff 4 Channel Pro like I used for my Irrigation Controller. I still don't plan on making this any time soon... but the barrier for entry just got a whole lot smaller now that I don't have reverse engineer anything, so... someday. 😁
This is a box for an ESP32 / ESPHome based pool pump controller.
Last year I bought a old ranch house that had an empty pool that was missing all of it's supporting equipment. I resurrected the pool and installed new equipment. Now I'm going down the deep end of home automation with ESPHome and Home-Assistant. As I'm thinking of projects, I remembered that my pool pump has an input connector for remote control via their super expensive control solution. A quick google of the pump manual resulted in the pinout of the connector that just takes 5v signal level inputs to command the pump. This is the result
The esp32 is connected to a relay board that then commands the pump. I also added a CT to monitor the power useage of the pump. I have solar panels installed that also report to Home-Assistant, so I will do some logic to slow the pump when the panels are not keeping up with the house.
Parts list: ESP32 - https://www.amazon.com/gp/product/B0811KLGDD Solder Breadboard - https://www.sparkfun.com/products/12070 CT Clamp - https://www.sparkfun.com/products/11005 Power Supply - https://www.amazon.com/gp/product/B005T6UJBU Antenna - https://www.amazon.com/gp/product/B06WD7FZV4 Pump Control Cable - https://www.amazon.com/gp/product/B01MCTHE53
Pool Pump Pentair Superflo VS - https://www.amazon.com/gp/product/B00PKHX2BM
This object was made in Tinkercad. Edit it online https://www.tinkercad.com/things/fnY93wt4LCN Pool Pump Pentair Superflo VS - https://www.amazon.com/gp/product/B00PKHX2BM
This object was made in Tinkercad. Edit it online https://www.tinkercad.com/things/fnY93wt4LCN
esphome:
name: pool
platform: ESP32
board: nodemcu-32s
wifi:
ssid: !secret wifissid
password: !secret wifipass
# Enable fallback hotspot (captive portal) in case wifi connection fails
#ap:
# ssid: "Pool Fallback Hotspot"
# password: "IQkNijFST3Ec"
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
password: !secret apipass
ota:
password: !secret otapass
switch:
- platform: gpio
name: "Pool Low Speed"
pin: GPIO32
id: lowspeed
inverted: true
interlock: [medspeed, highspeed, cleanspeed]
- platform: gpio
name: "Pool Medium Speed"
pin: GPIO33
id: medspeed
inverted: true
interlock: [lowspeed, highspeed, cleanspeed]
- platform: gpio
name: "Pool High Speed"
pin: GPIO25
id: highspeed
inverted: true
interlock: [lowspeed, medspeed, cleanspeed]
- platform: gpio
name: "Pool Cleaning Speed"
pin: GPIO26
id: cleanspeed
inverted: true
interlock: [lowspeed, medspeed, highspeed]
sensor:
- platform: ct_clamp
sensor: poolcurrent
name: "Pool Pump Current"
update_interval: 10s
id: poolamps
filters:
- calibrate_linear:
- 0.02 -> 0
- 0.34 -> 7.375
- platform: adc
pin: GPIO34
id: poolcurrent
attenuation: 11db
update_interval: 10s
- platform: template
name: "Pool Pump Watts"
id: poolwatts
lambda: return id(poolamps).state * 240;
accuracy_decimals: 0
unit_of_measurement: W
icon: "mdi:flash-circle"
update_interval: 60s
time:
- platform: sntp
on_time:
- seconds: 0
minutes: 0
hours: 8
then:
- switch.turn_on: highspeed
- seconds: 0
minutes: 0
hours: 10
then:
- switch.turn_on: medspeed
- seconds: 0
minutes: 0
hours: 18
then:
- switch.turn_on: lowspeed
- seconds: 0
minutes: 0
hours: 0
then:
- switch.turn_off: highspeed
- switch.turn_off: medspeed
- switch.turn_off: lowspeed
- switch.turn_off: cleanspeed
Pump Controller: smarten the schedule based on the season (less in winter)