Custom Component: Hayward Aquarite

THanks as always @fdebrus !!!

New release 0.5.0 is out

Summary

This release improves the overall robustness, usability, and consistency of the Aquarite integration.

Configuration flow enhancements

The config flow now provides a guided setup experience, covering credential entry, pool selection, and reauthentication. User access is validated against the Aquarite cloud API at each step.

Improved integration initialization

The setup process has been refined to authenticate and initialize the API and coordinator more cleanly, start token refresh in the background, and ensure the pool time-synchronization service is registered only once.

Coordinator reliability improvements

The coordinator now includes periodic polling and health checks, more resilient subscription management, and a dedicated helper to keep the pool controller’s clock aligned with Home Assistant’s timezone.

Shared entity base class

Introduced a common entity base to standardize device information, entity naming, and unique ID generation across all platforms.

@fdebrus I’m not getting any prompts to login after installing from HACS is there a way I can force this?

Could you detail how you installed ?

Normal procress for any custom integration is

  • Download from HACS
  • Restart HA
  • Add the download custom integration from Settings - Device and Services - Add Integration (here aquarite)

let me know

Ahh I had missed a step.
I didn’t add integration to Device and Services. That got the prompt to login and is now working.

It did not appear in HACS, so I had to add the github as a custom repository.
Feel abit stupid for not reading instructions properly. Thanks for your help!

Hello

is there anyu problmes with the clouds of the integration HA , i can’t connect to my aquarite account in HA ?

Something is wrong since 4hrs I do not receive updates anymore. Will check.

Token no longer refresh, will investigate

Traceback (most recent call last):
File “/config/custom_components/aquarite/coordinator.py”, line 83, in poll_state
client = await self.auth.get_client()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/config/custom_components/aquarite/application_credentials.py”, line 104, in get_client
await self.refresh_token()
File “/config/custom_components/aquarite/application_credentials.py”, line 82, in refresh_token
raise UnauthorizedException(“Failed to refresh token.”)
custom_components.aquarite.application_credentials.UnauthorizedException: Failed to refresh token.

Thanks for your help

New release is out, maybe other changes have been introduced that I do not know about yet. Please post anything you find here. thanks. Also I need to wait expiration time of the token to see if the refresh is resolved, more fixes might be needed.

It works thanks for all

More work needed, the refresh token is not ok.

2026-02-08 17:00:13.214 DEBUG (MainThread) [custom_components.aquarite.application_credentials] Token expired, refreshing…
2026-02-08 17:00:13.408 DEBUG (MainThread) [custom_components.aquarite.application_credentials] Token refreshed successfully; token expiry updated.

Fixed, new release available 0.5.2

The integration has been optimized, user interface now react before the cloud confirm the command success, if failure the UI will revert.

I’ve also removed the pooling from the backend, which was a safety net but also raising API calls numbers, there is a increased focus on the backend from the supplier…

Let’s me know might something not behave as expected.

Today, I noticed that it is no longer possible to control the AUX relays via HA. However, the relays can still be controlled via the app, the web interface or the device itself without any issues. The status of the relays is displayed correctly in HA. Everything else can be controlled via HA without any problems.
Does anyone know what might be causing this?
The integration version is 0.6.1 and the Home Assistant version is 2026.3.4.

Thanks, Roland

from time to time, hayward will change the API. thanks for catching, updated and new release available 0.6.2

Just updated to 0.6.2 and everything is back to normal. Thank you very much for your quick support!

Aquarite v1.0.0 PRE-Released — Standalone API Library

Hi everyone,

Version 1.0.0 of the Aquarite integration is now available as PRE release via HACS.

What’s changed

The API client has been extracted into a standalone Python library (aioaquarite), following Home Assistant’s integration quality guidelines. This is a structural change no features were added or removed, and no configuration changes are needed on your side.

What this means for you

  • Existing setups will continue to work as before after updating
  • All sensors, switches, lights, numbers, and selects remain unchanged
  • The integration now installs aioaquarite as a dependency automatically

Why this matters

Separating the API client is a requirement for integrations aiming for Home Assistant core inclusion quality scale. It also makes the codebase easier to maintain and test going forward.

If you run into any issues after updating, please post here and I’ll help troubleshoot. You can also open an issue on GitHub.

Thanks to everyone using the integration your feedback continues to shape it.

No issue on my end with version 1.0.0, so releasing it. enjoy :wink:

Hi,

first of all, I just want to say that I’m really happy with the integration — great work! Everything is running smoothly on my side so far :+1:

The only thing I’m currently missing is the ability to change the light color. In the original app, this works fine. From what I can tell, it’s basically just turning the light off and immediately back on again.

It would be great if this functionality could be added as well.

Thanks a lot!