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 brings significant performance and usability improvements:
- Transport Selection: Choose between TCP (default) or WebSocket connections during setup or reconfiguration - useful for networks where one protocol works better than the other
- Reconfiguration Support: Change your IntelliCenter's IP address or transport type through the UI without removing and re-adding the integration
- Modernized Codebase: Updated to use current asyncio patterns, removing all deprecated function calls for better compatibility with Python 3.13+
- Request Queue Optimization: Intelligent request queuing prevents overwhelming the IntelliCenter, resulting in faster and more reliable command execution
- Improved Responsiveness: Optimized async operations throughout the integration for snappier control response times
- Protocol Library Extraction: Core protocol handling extracted to standalone pyintellicenter library for better maintainability
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) |
- Open HACS → Integrations
- Search for "Pentair IntelliCenter"
- Click Install
- Restart Home Assistant
Note: If you don't find the integration, you can add it as a custom repository: HACS → ⋮ → Custom repositories → Add
https://github.com/joyfulhouse/intellicenteras Integration
cd /config/custom_components
git clone https://github.com/joyfulhouse/intellicenter.git intellicenterRestart Home Assistant after installation.
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 |
| 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) |
| Heaters | Binary Sensor | Running status |
| 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
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 (175+ 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.