- Easily connect your Sugar Valley (NeoPool, Hidrolife, Aquascenic, Bionet...) or compatible pool controller to Home Assistant via Modbus TCP.
 - Full local control, real-time sensors, timers, relays, automation support, and more.
 
This integration is available via HACS and is recommended for most users.
Supported brands / devices:
Hidrolife • Aquascenic • Oxilife • Bionet • Hidroniser • UVScenic • Station • Brilix (Albixon) • Bayrol • Hay • Hayward • Aquarite • Kripsol KLX • Certikin • Poolstar • GrupAquadirect • Pentair • ProducPool • Pool Technologie
- Provides full local control of supported pool controllers over Modbus TCP.
 - Adds real-time sensors, numbers, switches, selects, and buttons for all available features.
 - Allows timer/relay/aux configuration, automation and Home Assistant UI integration.
 - Supports multiple pools or hubs, each as a separate integration.
 
If you find this integration useful, consider supporting its development:
- ⭐️ Give this repository a star!
 - 🛠️ Contribute code or report issues.
 - 💸 Become a GitHub Sponsor
 - ☕ Support me on Ko-fi
 
- Gateway: Any Modbus TCP gateway (e.g. USR-DR164)
 - Connector: Standard 2.54 mm 5-pin PCB female connector
 - Settings: 19200 baud, 1 stop bit, no parity
 - Protocol: Modbus RTU
 - See the Modbus Connection Guide for more info and images.
 
- 
RS485 port: Use the
WIFIorEXTERNALconnector (do not useDISPLAY, unless the internal LCD is disconnected). - 
Pinout (top to bottom):
___ 1 |* |– +12V (from internal power supply) 2 |* |– NC (not connected) 3 |* |– Modbus A+ 4 |* |– Modbus B- 5 |*__|– GND - 
The NeoPool device acts as a Modbus server (slave), this integration is a Modbus client (master).
 - 
Only one Modbus client can be connected to a Modbus connector with the same label. It is not possible to operate multiple clients on connectors that share the same name.
 - 
Modbus connectors with different labels represent independent physical interfaces. Data traffic on one connector is not visible on others.
 - 
The DISPLAY connector is present twice and is usually used by the built-in LCD. Do not use it for this integration if the LCD is connected!
 
- Reliable single Modbus TCP connection per device/hub (improves stability, avoids connection issues).
 - Multi-hub support: Add multiple VistaPool devices, each with a custom prefix (used in entity IDs).
 - Sensors: pH, Redox (ORP), Salt, Conductivity, Water Temperature, Ionization, Hydrolysis Intensity/Voltage, Device Time, Status/Alarm bits, Filtration speed (if supported).
 - Numbers: Setpoints for pH, Redox, Chlorine, Temperature, Hydrolysis production.
 - Switches: Manual filtration, relays (Light & AUX1–AUX4, can be enabled in Options), automatic time sync to Home Assistant (default: disabled).
 - Selects: Filtration mode (Manual, Auto, Heating, Smart, Intelligent), timers for automatic filtration, filtration speed (if supported), boost control (if Hydro/Electrolysis module is present), pH pump activation delay.
 - Buttons: Manual time sync, reset alarm/error states.
 
HACS (recommended)
- Open HACS in Home Assistant.
 - Go to Integrations and search for VistaPool Modbus Integration (no need to add a custom repository, this integration is included in the HACS default list).
 - Install VistaPool Modbus Integration.
 - Restart Home Assistant.
 
- Download or clone this repository.
 - Copy the 
custom_components/vistapoolfolder to your/config/custom_componentsdirectory. - Restart Home Assistant.
 
After installing the integration via HACS and restarting Home Assistant:
You can use the button below to start configuration:
Or add manually:
- Go to Settings → Devices & Services.
 - Click Add Integration.
 - Search for and select VistaPool Modbus Integration.
 
- Name: Custom identifier for your pool.
This will be used as a prefix in all entity IDs, with spaces replaced by underscores and converted to lowercase
(e.g., entering “Pool West” becomespool_west, and your entity will besensor.pool_west_measure_ph). - Host: IP address of your Modbus TCP gateway
 - Port: (default: 502)
 - Slave ID: (default: 1)
 - Scan interval: (default: 30s)
 
After initial setup, you can fine-tune the integration:
- Scan interval (default: 30s)
 - Timer resolution (default: 15m)
 - Enable/disable relays (Light and AUX1–AUX4 are default: disabled)
 - Enable/disable filtration timers (filtration1, filtration2, filtration3)
 - Unlock advanced features (see below)
 
Go to Settings → Devices & Services → VistaPool Modbus Integration → Configure
to adjust options at any time.
The “Backwash” filtration mode is hidden by default, as its remote use can be risky and is intended only for advanced users.
To enable it:
- Go to Settings → Devices & Services → VistaPool Modbus Integration → Configure.
 - In the options dialog, find the field Unlock advanced options.
 - Enter the code: 
<device_prefix><current_year> 
- Example: If your pool’s prefix is 
vistapooland the year is 2025, entervistapool2025. - The prefix is the same as in your entity IDs (e.g., 
switch.vistapool_light). 
- Submit the form. The advanced settings page will open, allowing you to enable “Backwash” mode.
 
⚠️ WARNING: Enabling “Backwash” exposes this function in filtration mode selection. Improper use may damage your filtration system! Only activate if you fully understand the risks.
Entities are lowercased and prefixed by your custom name, e.g. sensor.pool1_filt_mode:
- Sensors:
sensor.<name>_measure_ph,sensor.<name>_measure_temperature,sensor.<name>_filt_mode,sensor.<name>_filtration_speed(if supported) - Numbers:
number.<name>_hidro,number.<name>_ph1,number.<name>_heating_temp(if supported) - Switches:
switch.<name>_filt_manual_state,switch.<name>_time_auto_sync,switch.<name>_light,switch.<name>_aux1-switch.<name>_aux4(if enabled) - Selects:
select.<name>_filt_mode,select.<name>_filtration1_start,select.<name>_filtration1_stop,select.<name>_filtration_speed(if supported),select.<name>_cell_boost(if supported),select.<name>_relay_activation_delay - Buttons:
button.<name>_sync_time,button.<name>_escape 
- Only enabled timers and relays (per Options) are shown in Home Assistant.
 - Timer resolution: Can be set (in minutes) in integration Options.
 - Entities cache last value if there is a Modbus communication problem.
 - Backwash and advanced options: See above for details.
 - Reload on options change: Integration is reloaded automatically on option changes.
 - Filtration speed sensor/control: Only available for variable-speed pump models.
 - Boost control (select): Only if Hydro/Electrolysis module is present.
 - Reset Alarm button: Allows clearing of error and alarm states from HA.
 
This integration is provided "AS IS" and without any warranty or guarantee of any kind.
The author takes no responsibility for any damage, loss, or malfunction resulting from the use or misuse of this code. Use at your own risk.
This project is licensed under the Apache License 2.0, the same license used by Home Assistant.
This project is not affiliated with or endorsed by any pool controller manufacturer.