[Release] Pentair Intellicenter Controller (BETA)

Pentair IntelliCenter for Hubitat

Local WebSocket integration for Pentair IntelliCenter pool controllers. No cloud, no API key — connects directly to your controller on your local network.


Requirements

  • Pentair IntelliCenter 1 (firmware 1.064 or later) or IntelliCenter 2 (firmware up to 3.004 only)
  • Controller connected to your local network
  • Hubitat Elevation hub (firmware 2.3.0 or later)
  • Controller and hub on the same network/subnet

What It Creates

Once connected, the integration automatically discovers and creates devices for:

Device Description
Pool / Spa Combined controller — on/off, current temp, set point, heater mode, heat source
Circuits Switch for each user circuit (Pool Light, Spa Light, Waterfall, etc.)
Features Switch for each feature relay (Air Blower, Motorized Valves, etc.)
VS Pump Variable speed pump — RPM and water temperature display, speed control
Air Sensor Air temperature
Solar Sensor Solar temperature (if equipped)
Salt Chlorinator Chlorinator on/off and salt level

Installation

Option A — Hubitat Package Manager

  1. Search Pentair under keywords.
  2. Install Pentair Intellicenter Controller
  3. Done
  4. Continue to Set Up AFTER Install below.
Manual Install

Option B — Manual Install

Install in this exact order — all drivers must exist before the app is set up.

Step 1 — Install the Body Driver

  1. Go to Drivers Code → New Driver
  2. Paste the contents of intellicenter-body-driver.groovy
  3. Click Save

Step 2 — Install the Pump Driver

  1. Go to Drivers Code → New Driver
  2. Paste the contents of intellicenter-pump-driver.groovy
  3. Click Save

Step 3 — Install the Bridge Driver

  1. Go to Drivers Code → New Driver
  2. Paste the contents of intellicenter-bridge-driver.groovy
  3. Click Save

Step 4 — Install the App

  1. Go to Apps Code → New App
  2. Paste the contents of intellicenter-app.groovy
  3. Click Save

Set up AFTER Install

Setup

  1. Go to Apps → Add User App → Pentair IntelliCenter
  2. Enter your IntelliCenter IP address (e.g. 192.168.1.218)
  3. Leave the port as 6680 (default)
  4. Click Done

The app will automatically:

  • Create a Bridge device in your device list
  • Connect to your IntelliCenter
  • Discover all equipment and create child devices

Allow 15–20 seconds for all devices to appear after clicking Done.


Finding Your IntelliCenter IP

Check your router's device list and look for a device named IntelliCenter or Pentair. You can also find it in the official Pentair IntelliCenter mobile app under Settings → Status → Network.


Pool and Spa Controller

The Pool and Spa devices are combined controllers that appear under the IntelliCenter Bridge in your device list. Each device has:

Current States (right side of device page):

  • Body Status — On / Off
  • Temperature — current water temperature
  • Heating Setpoint — active set point
  • Max Set Temp — upper temperature limit
  • Heater Mode — current heater mode (e.g. Heater, Solar Only)
  • Heat Source — active heat source
  • Heat Lock — locked / unlocked (prevents accidental heat activation)
  • A live visual tile on the device page showing current temp, target temp, and controls

Commands (left side of device page):

  • :arrow_forward: Start Pump Only — starts pump, no heat change
  • :stop_button: Stop Pump and Heat — stops everything
  • :fire: Heat and Start Pump — set target temp, activate heat source, start pump in one tap
  • :gear: Heat Off, Keep Pump On — turns heat off while leaving pump running
  • :gear: Set Heat Source — choose from Off, Heater, Solar Only, Solar Preferred, Heat Pump, Heat Pump Preferred
  • :gear: Enable / Disable Heat Lock — locks heat controls to prevent accidental changes
  • Refresh — request fresh data from the controller

Dashboard Tile: Add the Pool or Spa device BODY as an Attribute tile in your Hubitat dashboard and select the tile attribute. This renders a compact status card showing:

  • Current water temperature vs target set point
  • Pump on/off status (green = on, red = off)
  • Heat source
  • Heat mode status (green = active, red = off)

Note: The dashboard tile is display-only. Use the device page or automations for controls.


Circuits and Features (Waterfall, Lights, Water Features, etc.)

Circuit and feature devices (Waterfall, Pool Light, Spa Light, Air Blower, etc.) were previously created as internal component devices, which hid them from the Hubitat dashboard device picker.

They are now created as standard devices and will appear in the dashboard picker. Add them as a Switch tile for a simple on/off toggle — no configuration needed.

Pump Device — New Dashboard Tile

The pump device now has a tile attribute with a dedicated display card showing:

  • Current RPM (large, center display)
  • ● Running / ● Off status indicator
  • Watts, GPM, and Water Temperature in a stats row

To add to your dashboard:

  1. Add the pump device as an Attribute tile
  2. Select tile from the attribute list
  3. Size approximately 2×2

If tile doesn't appear in the attribute list immediately, open the pump device page and tap Refresh to force the first render, then try again.

Water Temperature on Pump Tile

The pump tile shows the current water temperature sourced from the associated body>device (Pool or Spa). It updates automatically whenever the controller pushes a temperature change — no separate sensor device needed.


Dashboard Tile Quick Reference

What to add Device Tile type Attribute
Pool Display Pool body Attribute tile
Spa Display Spa body Attribute tile
Pump RPM + temp display Pump device Attribute tile
Waterfall / Lights / Features Circuit device Switch (default)
Air sensors Sensor device Attribute temperature

Pump

The main pump appears as a single device showing RPM and water temperature. To change pump speed:

  1. Open the pump device
  2. Use the setSpeed command and enter the target RPM (450–3450)
  3. The new speed is sent to the active pump program immediately

Dashboard Tile: Add the main pump (VS,VSF,ETC) as an Attribute tile and select the tile attribute. This renders a card showing running status, RPM, and water temperature.

Note: Watts and GPM are attributes in the driver but may not be reported by all pump models or firmware versions. RPM and water temperature are the most reliable values.


State Sync

The integration uses a two-layer approach to keep Hubitat in sync with the controller:

  1. Ping keepalive — sends a ping to the controller every 2 seconds and listens for push notifications (NotifyList) of state changes
  2. Fallback poll — re-requests all circuit, body, and pump states on a configurable interval (default: 300 seconds)

If you change something via the Pentair app or physical panel, Hubitat should reflect the change within the poll interval. You can reduce the State Poll Interval in the Bridge device preferences (e.g. to 30 seconds) for faster sync at the cost of slightly more traffic.


Troubleshooting

Troubleshooting

No devices appearing after setup

  • Confirm the IP address is correct and reachable from your hub
  • Check that your hub and IntelliCenter are on the same subnet
  • Open the Bridge device page and check the connectionStatus attribute — it should show Connected
  • Check Hubitat logs for any error messages from the Bridge device

Connection status shows Disconnected

  • Open the Bridge device and click Initialize to force a reconnect
  • Verify the IntelliCenter is powered on and reachable
  • Confirm no firewall rules are blocking port 6680

Pool or Spa device controls not working

  • Go to Apps → Pentair IntelliCenter → click Done to refresh the endpoint configuration
  • Open the Pool or Spa device → Preferences tab → confirm App Endpoint Base shows a URL like http://192.168.1.x/apps/api/123
  • If it is blank, click Done in the app again

A feature or circuit is missing

  • Enable Debug Logging in the Bridge device preferences
  • Click Initialize on the Bridge device and watch the logs
  • Look for the missing device's object name (e.g. FTR01, C0003) in the log output
  • If the object appears but is being skipped, note the OBJTYP and SUBTYP values and open a GitHub issue

Duplicate devices appeared

  • This can happen on first install if the app is initialized more than once
  • Manually delete any duplicate devices from the Devices page — they will not be recreated

Devices not updating when changed via Pentair app or panel

  • The integration sends a ping every 2 seconds to keep push notifications flowing
  • If values appear stuck, reduce the State Poll Interval in the Bridge device preferences to 30 seconds
  • Click Refresh on the Bridge device to force an immediate full state update

Dashboard tile shows "Please Select an Attribute"

  • Go to the device page and tap Refresh to generate the tile value
  • Edit the dashboard tile, switch the attribute to something else, save, then switch back to tile and save again — this forces the dashboard to re-bind

Integration Removal

Removing the Integration

  1. Go to Devices and delete the IntelliCenter Bridge device and all child devices
  2. Go to Apps and remove the Pentair IntelliCenter app instance
  3. Go to Drivers Code and delete Pentair IntelliCenter Bridge
  4. Go to Drivers Code and delete Pentair IntelliCenter Body
  5. Go to Drivers Code and delete Pentair IntelliCenter Pump
  6. Go to Apps Code and delete Pentair IntelliCenter

Always delete devices before removing the app and driver code — Hubitat will not allow you to remove a driver that is still in use by a device.

Notes

Notes

  • The integration works entirely on your local network — no Pentair cloud account required
  • Compatible with IntelliCenter 1 (firmware 1.064+) and IntelliCenter 2 (up to firmware 3.004)
  • Password-protected IntelliCenter controllers are not currently supported
  • Pump GPM is only shown when the pump reports a non-zero GPM value
  • Pump wattage may not be reported correctly by all firmware versions due to a known controller packet format issue
  • Feature relays (blowers, motorized valves) are supported and appear as switch devices
  • Currently in active development — not yet released to Hubitat Package Manager

License

This integration is provided as-is for personal use. Not affiliated with or endorsed by Pentair.


Install Links

Install Links

Step 1 — Body Driver (install first): https://raw.githubusercontent.com/jdthomas24/Hubitat-Apps-Drivers/refs/heads/main/Pentair%20Intellicenter%20Control/Body%20Driver.groovy

Step 2 — Pump Driver: https://raw.githubusercontent.com/jdthomas24/Hubitat-Apps-Drivers/refs/heads/main/Pentair%20Intellicenter%20Control/Pump%20Speed%20Driver.groovy

Step 3 — Bridge Driver: https://raw.githubusercontent.com/jdthomas24/Hubitat-Apps-Drivers/refs/heads/main/Pentair%20Intellicenter%20Control/Bridge%20Device%20Driver.groovy

Step 4 — Parent App (install last): https://raw.githubusercontent.com/jdthomas24/Hubitat-Apps-Drivers/refs/heads/main/Pentair%20Intellicenter%20Control/Parent%20App.groovy

4 Likes

RAW Links updated

Can't thank you enough for releasing this interface. I'm in no hurry so will wait until production release but looking forward to adding my pool controller to Hubitat.

Needing more BETA testers. Wanna load this up and join in? :slight_smile:

Release wont be till we get most of the bugs worked out.

Well since you made me offer I can't refuse :slight_smile:

I'll install it on Saturday when I have more time to run it through its paces.

1 Like

Pentair IntelliCenter for Hubitat

Release Date: April 3, 2026
Status: Beta
Version 1.5.0
Body Driver
Bridge Device Driver
Parent App
Pump Speed Driver


What's New in 1.5.0

Pool / Spa Device — Completely Redesigned UI

Dashboard Tile

The tile has been rebuilt from scratch for clarity and display purposes only.

  • STEP 1 — Set target temperature with large / + buttons (no typing required)
  • STEP 2 — Choose heat source by tapping a chip (Heater, Solar Only, Solar Preferred, Heat Pump, Heat Pump Preferred)
  • STEP 3 — Tap :fire: Heat & Start Pump — sets the temperature, activates the heat source, and starts the pump in one action

Device Page Commands

The Commands tab now matches the tile — same labels, same actions, no confusion between the two:

Command What it does
🔥 Heat and Start Pump Sets target temp, activates heat, starts pump
▶ Start Pump Only Starts pump only — no heat change
⏹ Stop Pump and Heat Stops pump and heater completely
❄ Heat Off (tile only) Heater off, pump keeps running
refresh Requests fresh state from controller

Advanced commands (for automations and Rules, prefixed with ):

  • ⚙ Set Heat Source — change heat source without starting pump
  • ⚙ Enable Heat Lock — locks heat controls to prevent accidental activation
  • ⚙ Disable Heat Lock — removes the heat lock
  • ⚙ Heat Off Keep Pump Running — stops heater, pump continues

Heat Lock

A new Heat Lock feature prevents heat source changes without stopping the pump — useful for summer when you want circulation without heating. When locked, the tile shows a bold :lock: HEAT LOCK IS ON banner and all heat source controls are disabled.

Sync Between HE and the Pentair Controller

Tile Updates in Real Time

The dashboard tile now re-renders automatically within a few seconds of any state change pushed from the controller — including changes made from the physical Pentair panel or the Pentair mobile app. Previously the tile would only update when a command was issued from HE.

Pool ↔ Spa Mutual Exclusion

Turning on Spa while Pool is running (or vice versa) now works correctly. The IntelliCenter controller handles the switch automatically — Pool turns off and Spa turns on, exactly as the physical panel behaves. The HE tile reflects the updated state within seconds.

Heat State Sync

When heat is turned off from the Pentair app or physical panel, the HE tile and device state now correctly update to reflect that heating is inactive — including clearing the heat source indicator. Previously the tile could remain stuck showing "Heating Active" after an external heat-off event.


Controller Communication

WriteParamList Support

The controller sends full state confirmations as WriteParamList messages after processing commands. These are now parsed and used to update device state, meaning HE reflects the controller's actual confirmed state after each action rather than only optimistic local updates.

Set Point Updates Without Typing

Temperature set point can be adjusted directly from the dashboard tile using / + buttons. No need to open the device page and type a number. Each tap sends the new set point to the controller immediately.


Debug Logging — Auto-Disable

Debug logging now automatically turns itself off after 60 minutes on all three drivers (Bridge, Body, Pump). When you enable debug logging you'll see a log entry confirming the timer is running. This prevents log spam after a debugging session.


Improved Discovery

Circuit Groups

Circuit groups are now discovered using a condition-based query (OBJTYP=CIRCGRP) instead of hardcoded names (GRP01–GRP05). Installations with more than five circuit groups will now see all of them.

Heater Objects

Heater objects (OBJTYP=HEATER) are now queried during discovery. Their names are stored and used as a fallback when resolving heat source IDs — making heat source commands more reliable across different controller configurations.

Spa / Pool Circuit Deduplication

A three-layer filter prevents Pool and Spa from appearing as both a body device and a separate switch device. The filter now works correctly even when circuit updates arrive before body updates during initial discovery.


IntelliCenter 2 Compatibility Notes (Beta)

This release includes initial groundwork for IntelliCenter 2 (firmware up to 3.004):

  • Port hint in Bridge preferences: "IC1 = 6680 / IC2 try 6681"
  • WriteParamList response handling (IC2 sends these more frequently than IC1)

Known Limitations

  • Password-protected IntelliCenter controllers are not supported
  • The official Pentair mobile app does not refresh in real time — close and reopen it to see changes made from HE (this is a Pentair app limitation, not a Hubitat integration issue)
  • IntelliCenter 2 Heat control with firmware above 3.004.

Feedback

Please report issues and observations via DM. When reporting a problem, include:

  • Which controller you have (IntelliCenter 1 or 2) and firmware version
  • The relevant log entries from the Bridge device logs (not just the Pool/Spa device logs)
    (What you expected vs what happened)

Just before you released v1.5.0, I successfully installed the 3 drivers and app. I then copied all of the v1.5.0 on top of the existing ones. The install was simple, easy and quick. I also successfully connected HE to my Intellicenter controller.

I am able to turn On/Off all of my lights but the main issue I'm experiencing is with pumps. On my dashboard, it does show one of my schedules running but none of the pumps are being displayed (see attached pic). Any suggestions on how to get them to display correctly?

I need logs. Turn on debugging. Send commands. Then send me snapshots of the logs please.
What controller ?

Does spa and pool device control what you need ? I can check on the title ID set up

I enabled logging and attached are a screenshot. I have an Intellicenter which was installed about a year ago. Starting out, my desire is to have HE show what is on and if it's a pump, the speed as well as water temp for pool & spa. The Pentair Intellicenter iPhone app does a better job of showing the features versus physical devices than the dashboard so most likely will still use it to make changes.

Forgot to mention... earlier when the schedule ran to turn on the pool lights, those lights were not shown on the dashboard as being on. But when I click on the dashboard tile, it will turn On/Off the lights and show they are On on the dashboard.

Intellicenter 1 or 2 ? I need to check on tile at up. Never thought of that part.

I believe it is a 2... is there a way I can confirm?

What is the firmware on it ?

v3.004

That is IC#2

Pentair IntelliCenter for Hubitat — Release 1.5.1

Release Date: April 4, 2026
Status: Beta
Version: 1.5.1
Body Driver
Bridge Device Driver
Parent App
Pump Speed Driver


What's New in 1.5.1

This is a focused update building on 1.5.0. No breaking changes — existing devices do not need to be recreated.


Dashboard Tiles — All Devices Now Accessible

Circuits and Features (Waterfall, Lights, Water Features, etc.)

Circuit and feature devices (Waterfall, Pool Light, Spa Light, Air Blower, etc.) were previously created as internal component devices, which hid them from the Hubitat dashboard device picker.

They are now created as standard devices and will appear in the dashboard picker. Add them as a Switch tile for a simple on/off toggle — no configuration needed.

Note for existing installations: Devices already created before this update will still be hidden. To fix them, either:

  • Delete the existing circuit/feature devices and click Initialize on the Bridge device to recreate them, or
  • Open each device in Hubitat → Device Info tab → uncheck "Is component" → Save

New installations will work correctly without any extra steps.

Pump Device — New Dashboard Tile

The pump device now has a tile attribute with a dedicated display card showing:

  • Current RPM (large, center display)
  • ● Running / ● Off status indicator
  • Watts, GPM, and Water Temperature in a stats row

To add to your dashboard:

  1. Add the pump device as an Attribute tile
  2. Select tile from the attribute list
  3. Size approximately 2×2

If tile doesn't appear in the attribute list immediately, open the pump device page and tap Refresh to force the first render, then try again.

Water Temperature on Pump Tile

The pump tile shows the current water temperature sourced from the associated body device (Pool or Spa). It updates automatically whenever the controller pushes a temperature change — no separate sensor device needed.


Dashboard Tile Quick Reference

What to add Device Tile type Attribute
Pool Display Pool body Attribute tile
Spa Display Spa body Attribute tile
Pump RPM + temp display Pump device Attribute tile
Waterfall / Lights / Features Circuit device Switch (default)
Air sensors Sensor device Attribute temperature

Ok I pasted all of the new files but don't understand the instructions on updating devices. When I open any of them, click on Device Info near the bottom right I see Component with true to the right but not able to change it. Also in the same Devices section, when I click on IntelliCenter Bridge, I do not see a button to "Initialize". What am I doing wrong?

hang on, didn't know other were still up!! I'm changing one of the fields because i don't like the look of it. LOL

Initialize is on the Intellicenter Bridge Device - the main one that yields the child devices under it.

Oh I'm a night owl :slight_smile:
I found the Initialize button so I deleted all of my devices and had them recreated. Forgot to mention in previous post, I use the EzDashboard. After adding all devices back into the dashboard, no change in how the tiles are displayed.

I also noticed the icon for the pumps in the Devices section are shown with a question mark.