The original integration stopped working due to a breaking change in Home Assistant's light platform, which now requires supported_color_modes to be declared on all light entities. This fork fixes that issue and also converts the pump programs from light entities to proper switch entities, which is more appropriate and works correctly with HomeKit Bridge and other HA automations. The underlying Pentair cloud API communication is unchanged - your credentials and device setup work exactly as before.
A pull request with these changes has been submitted to the original repository. If you are on Home Assistant 2024 or later and your entities are not showing up, install from this fork instead using the HACS instructions below, substituting https://github.com/ZubairAnwar/pentair_cloud for the original repository URL.
Homeassistant Pentair cloud custom integration. Supports the Pentair IntelliFlo 3 VS Pump with the Wifi module. This integration creates a switch for each of the programs you have configured in your Pentair Home App, plus a set of sensors for live pump telemetry. You can use this to:
- Start/Stop a program
- Know when a program is running
- Monitor live power, speed, flow and pressure
- React to pump alarms and connectivity loss
Data is pulled from the Pentair Web service used by the Pentair Home App. Note: This project is not associated with or endorsed by Pentair.
Example Scenario: I have a Program in my Pentair Home App for when I want to run my pool cleaner. My pool cleaner is connected to a sonoff relay. Using this integration, I can detect when the pump is running the "cleaner program" and turn on the pool cleaner.
For every compatible pump (IF31 / IntelliFlo3 VSF) the integration creates:
Switches — one per configured program: start/stop the program and see whether it is currently running.
Sensors — live telemetry, refreshed on each poll (~60s):
| Entity | Unit | Source field | Notes |
|---|---|---|---|
| Power | W | s18 |
Current power draw (feeds the Energy dashboard) |
| Speed | % | s19 |
Current motor speed (of max RPM) |
| Flow | gal/min | s26 |
Current estimated flow (GPM) |
| Pressure | psi | s17 |
Current pressure |
| Alarm code | — | s20 |
Numeric fault bitfield (0 = no fault), diagnostic |
Binary sensors:
| Entity | Device class | Source | Notes |
|---|---|---|---|
| Alarm | problem | alarm flag / s20 |
On when the pump reports an alarm; alarm_code is exposed as an attribute |
| Connectivity | connectivity | online flag |
On when the pump is reachable, diagnostic |
Note: the Pentair cloud API only exposes the current alarm state — there is no alert-history endpoint. To keep a history, use the Home Assistant logbook/history of the Alarm sensor.
The simplest way to install this integration is with the Home Assistant Community Store (HACS). This is not (yet) part of the default store and will need to be added as a custom repository.
Setting up a custom repository is done by:
- Go into HACS from the side bar.
- Click into Integrations.
- Click the 3-dot menu in the top right and select
Custom repositories - In the UI that opens, copy and paste the url for this github repo into the
Add custom repository URLfield. - Set the category to
Integration. - Click the
Addbutton. Further configuration is done within the Integrations configuration in Home Assistant. You may need to restart home assistant and clear your browser cache before it appears, try ctrl+shift+r if you don't see it in the configuration list.
If you don't want to use HACS or just prefer manual installs, you can install this like any other custom component. Just merge the custom_components folder with the one in your Home Assistant config folder and you may need to manually install the pycognito and requests-aws4auth library.