Home Assistant custom integration for monitoring and controlling Hayward-branded pool controllers, including:
- AquaRite
- Dagen
- Vistapool
- Sugar Valley
- Poolwatch
- Kripsol
The integration connects to the official Hayward cloud API and exposes your pool equipment as native Home Assistant entities.
- Secure cloud authentication using your existing Hayward account
- Automatic discovery of linked pool controllers
- Real-time data updates via cloud push (no polling)
- Background token refresh and health monitoring
- Reconfigure credentials without removing the integration
- Downloadable diagnostics for troubleshooting
- Configurable options (health check interval) via the integration's Configure menu
- Multi-language support (English, Dutch, Danish)
- Water temperature
- pH, ORP (Rx), chlorine (Cl), CD, UV module readings
- Electrolysis / hydrolysis production level
- Filtration intel time
- Wi-Fi signal strength (diagnostic, disabled by default)
- Pool location and name
- Switches: filtration on/off, electrolysis cover/boost, 4 auxiliary relays, heating climate toggle, smart mode freeze protection
- Number setpoints: pH low/max, Rx setpoint, electrolysis level, Intel/Heat/Smart mode temperatures
- Select: pump mode (Manual / Auto / Heat / Smart / Intel), pump speed, filtration timer speeds 1-3 (Slow / Medium / High)
- Time: filtration interval 1-3 start/end times — set your filtration schedule directly from Home Assistant
- Light: pool light on/off
- Button: LED pulse — advances the pool LED to its next color (requires LED hardware; mirrors the "Next" button in the Hayward app)
- Filtration, backwash, and heating status
- pH acid/base pump status, chlorine pump, Rx pump
- pH pump alarm, acid tank level, hydrolysis flow status
- Module presence (CD, CL, RX, pH, IO, hydrolysis)
- Electrolysis/hydrolysis low, connectivity
- Sync pool time: synchronize the pool controller's internal clock with Home Assistant's timezone
| Platform | Count | Description |
|---|---|---|
sensor |
7+ | Temperature, pH, Rx, Cl, CD, UV, electrolysis, intel time, RSSI, location |
binary_sensor |
13+ | Filtration/heating/backwash status, pump states, module presence, tank levels |
switch |
7+ | Filtration, electrolysis cover/boost, relays, heating climate, freeze protection |
number |
5+ | pH, Rx, electrolysis setpoints, mode temperatures |
select |
5 | Pump mode, pump speed, filtration timer speeds 1-3 |
time |
6 | Filtration interval 1-3 start/end times |
light |
1 | Pool light on/off |
button |
0-1 | LED color advance (only with LED hardware) |
device_tracker |
1 | Pool GPS location |
Entity counts vary based on installed modules (CD, CL, pH, RX, UV, hydrolysis) and enabled features (Heat, Smart mode).
- A supported Hayward-compatible pool controller
- A Wi-Fi module connected to the internet
- The controller must already be linked to your Hayward cloud account
- Home Assistant 2024.1.0 or later
You can install the integration using HACS (recommended) or manually.
- Open Home Assistant → HACS → Integrations
- Click the three dots menu (top right) → Custom repositories
- Add
https://github.com/fdebrus/hayward-hawith category Integration - Search for Aquarite and install
- Restart Home Assistant when prompted
- Download or clone this repository
- Copy the
custom_components/aquaritedirectory into your Home Assistantcustom_componentsfolder - Restart Home Assistant
- In Home Assistant, go to Settings → Devices & Services
- Click Add Integration
- Search for Aquarite
- Enter your Hayward cloud username and password
- Select the pool controller you want to add
All supported entities are created automatically once the integration is set up.
If you need to update your Hayward credentials:
- Go to Settings → Devices & Services
- Find the Aquarite integration
- Click the three dots menu → Reconfigure
- Enter your new credentials
After setup, you can adjust integration settings:
- Go to Settings → Devices & Services
- Find the Aquarite integration
- Click the three dots menu → Configure
- Adjust the health check interval (60–3600 seconds, default 300)
For troubleshooting, you can download diagnostics data (credentials and personal info are automatically redacted):
- Go to Settings → Devices & Services
- Click on the Aquarite device
- Click Download diagnostics
Example dashboard inspired by the excellent work from
https://github.com/alexdelprete/HA-NeoPool-MQTT
The integration exposes a service allowing you to synchronize the pool controller's internal clock with Home Assistant's timezone.
This is useful to ensure correct scheduling and reporting, especially after power outages or controller restarts.
| Problem | Solution |
|---|---|
| Entities show "Unavailable" | Check your internet connection and verify the controller is online in the Hayward app. The integration will automatically reconnect. |
| Reauth notification appears | Your credentials may have changed or expired. Click the notification to re-enter your username and password. |
| Entities not updating | The integration uses real-time cloud push. If updates stop, try reloading the integration from Settings → Devices & Services. |
| HACS can't find the integration | Make sure you added the custom repository URL first (see installation steps above). |
The integration includes a test suite that runs automatically via GitHub Actions on every push and pull request.
To run tests locally:
pip install pytest pytest-asyncio pytest-homeassistant-custom-component aioaquarite==0.1.0
python -m pytest tests/ -vRequires Python 3.12 or later.
Special thanks to:
- @djerik -- original work and early foundation of this integration
- @alexdelprete -- NeoPool MQTT integration, design ideas, and inspiration https://github.com/alexdelprete/HA-NeoPool-MQTT
- @curzon01 -- dashboard design and UX inspiration
For support, feature requests, and discussions, please use the Home Assistant community thread:
https://community.home-assistant.io/t/custom-component-hayward-aquarite/728136
Hayward is a trademark of Hayward Industries, Inc. This project is an independent community effort and is not affiliated with, endorsed by, or sponsored by Hayward Industries, Inc.
This project is provided for personal and other non-commercial use only. You may view, copy, modify, and share the code and documentation for non-commercial purposes. Commercial use of this software is not permitted without prior written permission from the maintainers. The software is provided "as is" without warranties of any kind.