This custom integration allows you to monitor and control your pool equipment using the Violet Pool Controller in Home Assistant. It includes sensors, binary sensors, switches, climate controls, and cover entities to track various pool metrics and perform essential operations.
- Sensors: Monitor various parameters such as water temperature, pH levels, redox potential, chlorine levels, filter pressure, and more
- Binary Sensors: Track the status of critical systems like pumps, solar, heater, and system connectivity
- Switches: Control your pool equipment, such as the pump, lights, eco mode, dosing systems, and backwash function
- Climate Controls: Manage pool heating and solar absorber temperature
- Cover Controls: Operate your pool cover directly from Home Assistant
- Number Entities: Set target values for pH, redox, and chlorine levels
- Screenshots
- Installation
- Configuration
- Entities
- Services
- Common Problems and Solutions
- Getting Support
- Supporting this Integration
- Contributing
- About the Violet Pool Controller
- Changelog
- Credits
- Open HACS in your Home Assistant interface
- Click on the three dots in the top-right corner
- Select "Custom repositories"
- Add
https://github.com/Xerolux/violet-hass.git
as a custom Git repository - Choose "Integration" as the category
- Click "Add"
- Search for "Violet Pool Controller" in the HACS integrations and click "Download"
- Restart Home Assistant
- Copy the
violet_pool_controller
folder from this repository into your Home Assistant'scustom_components
directory - Restart Home Assistant
Configuration is done entirely through the Home Assistant UI. After installation:
-
Go to Settings > Devices & Services > Integrations
-
Click "+ Add Integration"
-
Search for "Violet Pool Controller" and select it
-
A configuration dialog will appear. Enter the following information:
- Host: The IP address or hostname of your Violet Pool Controller (e.g.,
192.168.1.100
). Do not includehttp://
orhttps://
- Username: Your Violet Pool Controller username (if authentication is enabled). Leave blank if not required
- Password: Your Violet Pool Controller password (if authentication is enabled). Leave blank if not required
- Use SSL: Check this box if your Violet Pool Controller uses HTTPS (SSL/TLS) for secure communication. Leave unchecked for HTTP
- Device ID: A unique numeric identifier for this controller (default: 1). Use different IDs if you have multiple Violet Pool Controllers
- Device Name: Give your Violet Pool Controller a descriptive name
- Polling Interval (seconds): How often Home Assistant should fetch data from the controller (default: 60 seconds). Adjust this based on your needs and network performance
- Timeout Duration (seconds): Maximum time to wait for API responses (default: 10 seconds)
- Retry Attempts: Number of times to retry connecting to the device on failure (default: 3)
- Host: The IP address or hostname of your Violet Pool Controller (e.g.,
-
Click "Submit". If the connection is successful, you'll proceed to the pool setup step
-
Configure your pool settings:
- Pool Size: Enter your pool volume in cubic meters
- Pool Type: Select your pool type (outdoor, indoor, whirlpool, natural, combination)
- Disinfection Method: Choose your disinfection method (chlorine, salt, bromine, active oxygen, UV, ozone)
-
Click "Submit" to proceed to the feature selection step
-
Select which features you want to enable for your pool controller
-
Click "Submit" to complete the setup. Your pool controller's entities will appear in Home Assistant
The integration dynamically creates entities depending on the available API data and your selected features.
- Water Temperature
- pH Level
- Redox Potential
- Chlorine Level
- Filter Pressure
- Water Level
- Additional sensors (if provided by the API)
- Pump
- Lighting
- Heating
- Dosing (Chlorine, pH+, pH-)
- Backwash
- PV Surplus
- Additional switches based on API data
- Heater
- Solar Absorber
- Pool Cover
- pH Target Value
- Redox Target Value
- Chlorine Target Values (Min/Max)
The integration provides the following custom services:
Set a Violet Pool Controller switch to AUTO mode.
Parameter | Type | Description |
---|---|---|
entity_id | string | Entity ID of the switch |
auto_delay | integer | Optional: Auto delay in seconds (0-3600) |
Enable PV surplus mode with a specific pump speed.
Parameter | Type | Description |
---|---|---|
entity_id | string | Entity ID of the PV surplus switch |
pump_speed | integer | Pump speed (1-3) |
Trigger manual dosing for a specified duration.
Parameter | Type | Description |
---|---|---|
entity_id | string | Entity ID of the dosing switch |
duration_seconds | integer | Duration in seconds (1-3600) |
Set the target temperature for heating or solar absorber.
Parameter | Type | Description |
---|---|---|
entity_id | string | Entity ID of the climate entity |
temperature | float | Target temperature (20-40°C) |
Set the pH target value for dosing.
Parameter | Type | Description |
---|---|---|
entity_id | string | Entity ID of the pH number entity |
target_value | float | Target pH value (6.8-7.8) |
Set the chlorine target value (as redox value) for dosing.
Parameter | Type | Description |
---|---|---|
entity_id | string | Entity ID of the chlorine number entity |
target_value | float | Target chlorine level (0.1-3.0 mg/l) |
Manually start a backwash process.
Parameter | Type | Description |
---|---|---|
entity_id | string | Entity ID of the backwash switch |
duration | integer | Optional: Duration in seconds (0-900) |
Initiate a water analysis process.
Parameter | Type | Description |
---|---|---|
entity_id | string | Optional: Entity ID to identify the device |
Enable or disable maintenance mode.
Parameter | Type | Description |
---|---|---|
entity_id | string | Optional: Entity ID to identify the device |
enable | boolean | Whether to enable (True) or disable (False) maintenance mode |
Data is retrieved via the Violet Pool Controller API using a coordinated update mechanism to avoid excessive API requests.
Comprehensive error handling with exponential backoff is implemented for improved reliability.
Entities are modular and dynamically created based on available data and selected features.
- Double-check the IP address/hostname, username, and password
- Ensure your Home Assistant instance can reach the Violet Pool Controller on your network. Try pinging the controller from the machine running Home Assistant
- Verify that the
use_ssl
setting is correct - Temporarily disable any firewalls on your Home Assistant machine or the Violet Pool Controller to rule out firewall issues
- Increase the timeout or retry attempts in the configuration options
- These usually indicate an issue with the API response from the Violet Pool Controller
- Ensure your controller's firmware is up-to-date. Check the PoolDigital website or forums for firmware updates
- Verify the IP address entered
- Check the Home Assistant logs (Settings > System > Logs) for any errors related to
violet_pool_controller
- Try restarting Home Assistant
- Ensure the polling interval is not set too low (a very low polling interval can overload the controller)
- Verify that your Data Update Coordinator is set up
- Check that you have enabled the relevant features in the integration settings
- Verify that your controller supports the features you're trying to use
- Check the Home Assistant logs for any errors related to entity initialization
If you encounter any problems or have questions, please:
- Check the Home Assistant Logs: Look for error messages related to
violet_pool_controller
. This often provides valuable clues - Consult this README: Review the troubleshooting steps above
- Create an Issue: If you can't resolve the issue, open an issue on the GitHub repository. Provide as much detail as possible, including:
- Home Assistant version
- Integration version (from
manifest.json
) - Relevant log entries (from Settings > System > Logs)
- Steps to reproduce the problem
- Screenshots, if applicable
- PoolDigital Forum: For questions specifically about the Violet Pool Controller hardware or firmware, the PoolDigital forum is a good resource
If you find this integration useful, consider supporting its development:
Contributions are welcome! If you want to contribute, please:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes
- Submit a pull request
Please follow the coding style and conventions used in the existing code.
VIOLET is a smart all-in-one pool control system from PoolDigital. It's designed to manage various aspects of pool operation, including:
- Filtration
- Heating/Solar Heating
- Lighting (ON/OFF and DMX)
- Backwashing
- Overflow Tank Control
- Water Level Regulation
- Pool Cover Control
- Additional Water Features
- Dosing
VIOLET provides notifications (email, push, HTTP request) for errors, and its browser-based interface allows access from any device. It also offers integrated statistics, log files, remote access, and a JSON API for integration with smart home systems.
- Shop: pooldigital.de shop
- Forum: pooldigital.de forum
A detailed changelog will be created when the project is officially published.
This project was generated using the integration blueprint from @Ludeeus. Thanks to the Home Assistant community for providing a great platform and resources for developers!