Component developped by using the amazing development template blueprint.
This custom component for Home Assistant can be used to automatically control a pool pump that is turned on/off by a switch that Home Assistant can control.
This component is based on the work of @exxamalte.
On top of the orignal version by @exxamalte, this version can be installed by HACS and you can use the blueprint feature to quickly fork this repo and have a working development environment in a container.
I will adapt it to my needs. At completion this plugin will compute the filtering schedule taking into account the pool water temperature.
- A switch supported in Home Assistant that can turn on/off power to your pool pump.
- Compute the totatl duration according to the pool water tempearture.
- Can control any switch (or other entity) that supports being turned on/off.
- Support for distinguishing three different switch modes:
- Auto: Turn switch on/off automatically based on rules and configuration.
- On: Turn switch on.
- Off: Turn switch off.
- Splits the total target duration into two runs arround the solar noon. 1/3 before ans 2/3 after to allow filtering during the hottest part of the day.
- You can add a customisable break between the two runs.
- Initialises an entity (
pool_pump.schedule
) that shows the current or next run of the pool pump. - Optional: Support for a water level sensor to specify an entity that indicates if the pool has reached a critical water level in which case the pool pump should not run at all.
- Click
install
. - Modify your
configuration.yaml
as explain below. - Restart Home Assistant.
Minimal content in your configuration.yaml
file is:
pool_pump:
switch_entity_id: switch.pool_pump_switch
pool_pump_mode_entity_id: input_select.pool_pump_mode
pool_temperature_entity_id: sensor.pool_water_temperature
# optional:
water_level_critical_entity_id: binary_sensor.pool_water_level_critical
schedule_break_in_hours: 1.0
All parameters are required except the two after # optional
comment.
You will need to set some automations and inputs (input_boolean, input_select and input_numbers) to use it. Please read README.md for additional documentation.