Control your Pentair IntelliCenter pool system directly from Home Assistant with real-time local updates.
This integration connects your Pentair IntelliCenter pool control system to Home Assistant using a 100% local connection. No cloud services, no internet dependency - just direct communication with your IntelliCenter over your local network.
- Monitor Everything: Pool/spa temperature, pump status, chemistry levels, heater activity
- Control Your Pool: Turn on lights, adjust heater setpoints, activate circuits, run light shows
- Create Automations: Schedule spa warmups, trigger party lighting, get freeze protection alerts
- Real-time Updates: Push-based notifications for instant state changes (no polling)
- Local Connection: Direct communication on port 6681 - no cloud required, no authentication needed
- Flexible Transport: Choose between TCP or WebSocket connections based on your network setup
- Automatic Discovery: Zeroconf/mDNS discovers your IntelliCenter automatically
- Real-time Updates: Push-based notifications for instant state changes
- Reliable Connection: Automatic reconnection with exponential backoff and circuit breaker
- Highly Responsive: Optimized async architecture with intelligent request queuing
- Comprehensive Support: Pools, spas, lights, pumps, heaters, chemistry, schedules, covers
- Multi-Language: User interface available in 12 languages
- Easy Reconfiguration: Change connection settings without removing the integration
This release adds hybrid heater support and improves setup reliability:
- HCOMBO Multi-Mode Heaters: UltraTemp ETi Hybrid (HCOMBO) heaters now expose Gas Only, Heat Pump Only, Hybrid, and Dual operation modes. The last-used operation is remembered and restored on turn-on, and bodies that combine an HCOMBO with a standard heater are fully supported.
- Resilient Setup: Transient connection failures during startup now trigger Home Assistant's automatic retry with backoff instead of a permanent setup error, so the integration recovers on its own when the IntelliCenter is briefly unreachable.
This integration is built on two separate packages:
| Package | Description |
|---|---|
| pyintellicenter | Standalone Python library for IntelliCenter protocol (PyPI) |
| intellicenter | Home Assistant integration (this repository) |
The protocol layer was extracted to pyintellicenter v0.1.0+ to enable:
- Independent development and testing of the protocol library
- Reuse in other projects outside Home Assistant
- Cleaner separation of concerns
Before installing this integration, you need:
| Requirement | Details |
|---|---|
| Home Assistant | Version 2025.11 or newer |
| IntelliCenter | i5P, i7P, i9P, or i10P panel |
| Network | Local network access to IntelliCenter (TCP port 6681) |
See INSTALL.md for the complete guide.
Quick version (HACS): add this repository as a custom repository in HACS, install Pentair IntelliCenter, restart Home Assistant, then add the integration from Settings → Devices & Services.
Your IntelliCenter should be discovered automatically:
- Navigate to Settings → Devices & Services
- Look for "Pentair IntelliCenter" under Discovered
- Click Configure and confirm
If discovery doesn't work:
- Navigate to Settings → Devices & Services
- Click Add Integration (bottom right)
- Search for "Pentair IntelliCenter"
- Enter your IntelliCenter's IP address
- Select transport type (TCP recommended, WebSocket available as alternative)
Finding your IP address:
- Router's DHCP client list (look for "Pentair")
- Pentair mobile app: Settings → System Information
- IntelliCenter display panel
Tip: Assign a static IP or DHCP reservation to prevent address changes.
To change the IP address or transport type after setup:
- Navigate to Settings → Devices & Services
- Find the IntelliCenter integration
- Click the three dots (⋮) → Reconfigure
- Update the IP address and/or transport type
- The integration will reconnect with the new settings
After setup, configure connection settings:
- Settings → Devices & Services → IntelliCenter → Configure
- Available options:
- Keepalive Interval (30-300s, default 90): Connection health check frequency
- Reconnect Delay (10-120s, default 30): Initial retry delay after disconnect
| Category | Entity Type | Features |
|---|---|---|
| Pool/Spa | Switch, Sensors, Water Heater | On/off, temperature, heater control (incl. HCOMBO hybrid modes) |
| Lights | Light | On/off, color effects (IntelliBrite, MagicStream) |
| Light Shows | Light | Coordinated multi-light effects |
| Circuits | Switch | All "Featured" circuits (cleaner, blower, etc.) |
| Pumps | Binary Sensor, Sensors | Running status, power (W), speed (RPM), flow (GPM) |
| Chemistry | Sensors, Number | pH, ORP, tank levels, setpoints (IntelliChem) |
| Heat Pumps | Climate | UltraTemp heating/cooling with presets |
| Heaters | Binary Sensor, Water Heater | Running status; HCOMBO (UltraTemp ETi Hybrid) Gas/Heat Pump/Hybrid/Dual modes |
| Schedules | Binary Sensor | Active status (disabled by default) |
| System | Switch, Binary Sensor, Sensors | Vacation mode, freeze protection, temperatures |
| Covers | Cover | Pool cover open/close control |
automation:
- alias: "Evening Spa"
trigger:
- platform: sun
event: sunset
offset: "-00:30:00"
action:
- service: switch.turn_on
target:
entity_id: switch.spa
- service: water_heater.set_temperature
target:
entity_id: water_heater.spa
data:
temperature: 102automation:
- alias: "Pool Party Mode"
trigger:
- platform: state
entity_id: input_boolean.party_mode
to: "on"
action:
- service: light.turn_on
target:
entity_id: light.pool_light
data:
effect: "Party"automation:
- alias: "Freeze Protection Alert"
trigger:
- platform: state
entity_id: binary_sensor.freeze_protection
to: "on"
action:
- service: notify.mobile_app
data:
title: "Pool Alert"
message: "Freeze protection activated!"If your IntelliCenter is not automatically discovered:
-
Verify network connectivity
- Home Assistant and IntelliCenter must be on the same network/VLAN
- Check that mDNS/multicast traffic is not blocked by your router or firewall
- Some managed switches block multicast by default
-
Check IntelliCenter network settings
- Verify the IntelliCenter has a valid IP address
- Ensure the network cable is securely connected
- Check the IntelliCenter display for network status
-
Use manual setup
- Go to Settings → Devices & Services → Add Integration
- Search for "Pentair IntelliCenter"
- Enter the IP address manually
If the integration fails to connect:
-
Verify the IP address
- Confirm the IP address is correct in your router's DHCP client list
- Check the Pentair mobile app under Settings → System Information
-
Test network connectivity
telnet <intellicenter-ip> 6681
- If connection fails, check firewall rules
- Verify no other device is using port 6681
-
Check IntelliCenter status
- Ensure the IntelliCenter is powered on
- Verify the network cable is connected
- Check for any error indicators on the panel
-
Power cycle the IntelliCenter
- Turn off power to the IntelliCenter for 30 seconds
- Turn power back on and wait for it to fully boot
- Retry the connection
If entities show as unavailable after initial setup:
-
Check connection status
- Go to Settings → Devices & Services
- Look for the IntelliCenter integration status
- A red indicator means the connection is down
-
Review Home Assistant logs
- Go to Settings → System → Logs
- Filter for "intellicenter" to see relevant messages
- Look for connection errors or timeouts
-
Reload the integration
- Go to Settings → Devices & Services
- Click the three dots (⋮) next to IntelliCenter
- Select Reload
-
Automatic recovery
- The integration automatically reconnects with exponential backoff
- Wait a few minutes for automatic recovery
- Check the circuit breaker hasn't opened (5 consecutive failures)
-
Reload after configuration changes
- After changing pool equipment in IntelliCenter, reload the integration
- New equipment may not appear until reload
-
Unit mismatch
- If you change metric/imperial units on IntelliCenter, reload the integration
- Temperature values may be incorrect until reload
-
Equipment not supported
- Some equipment types may have limited support
- Check the Supported Equipment section above
- Open an issue on GitHub for unsupported equipment
For detailed troubleshooting, enable debug logging by adding to configuration.yaml:
logger:
default: warning
logs:
custom_components.intellicenter: debug
pyintellicenter: debugAfter adding this configuration:
- Restart Home Assistant
- Reproduce the issue
- Check logs at Settings → System → Logs
- Download full logs for bug reports
If you're still having issues:
- Check existing issues: GitHub Issues
- Open a new issue: Include debug logs and your IntelliCenter model
- Community support: GitHub Discussions
- Equipment Coverage: Tested primarily with standard configurations. Some equipment may have limited testing.
- Unit Changes: Reload integration after changing metric/imperial on IntelliCenter.
- Configuration Changes: Reload integration after significant pool configuration changes.
# Clone repositories
git clone https://github.com/joyfulhouse/intellicenter.git
git clone https://github.com/joyfulhouse/pyintellicenter.git
# Install dependencies
cd intellicenter
uv sync
# Install pyintellicenter in dev mode
uv pip install -e ../pyintellicenter
# Run tests
uv run pytest
# Lint and format
uv run ruff check --fix && uv run ruff formatSee docs/ for architecture documentation and development guidelines.
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Issues
- Discussions: GitHub Discussions
This integration is built and maintained in my spare time, with real hardware and tooling costs behind every release. If it's useful to you, consider sponsoring the project or leaving a tip to help offset development and testing — it's genuinely appreciated and helps keep the project moving.
GNU GENERAL PUBLIC LICENSE v3.0 - see LICENSE file for details.
This integration meets the Platinum tier quality standards for Home Assistant integrations - the highest level achievable.
Platinum Requirements:
- Fully async architecture with optimized performance
- Comprehensive type annotations (mypy strict mode)
- Detailed code documentation throughout
- Production hardening with circuit breaker and health monitoring
Gold Requirements:
- Full translation support (12 languages)
- Easy reconfiguration through the UI
- Comprehensive automated testing (257 tests)
- Extensive user-friendly documentation
- Automatic Zeroconf discovery
Plus all Silver and Bronze tier requirements met.
This integration builds upon the excellent work of:
- @jlvaillant - Original intellicenter integration that pioneered Home Assistant support for Pentair IntelliCenter
- @dwradcliffe - Enhanced fork with connection fixes and improvements
We extend our sincere gratitude for their foundational work that made this integration possible.