Jandy iAqualink Pool Integration

Hey mate

I have exo model but i cant get it to show up? You mentioned you have an Exo model, so wondering how you got it to work.

Below is the error im getting

Logger: iaqualink
Source: /usr/local/lib/python3.10/site-packages/iaqualink/system.py:65
First occurred: 9:25:48 am (1 occurrences)
Last logged: 9:25:48 am

exo is not a supported system type.
1 Like

Hi guys,
Anyone succeeded meanwhile with the exo support?
Any help would be very much appreciated!

Thank you for your support!!

2 Likes

There is another thread where someone has created a node red integration. I’m using that and it’s perfect!

1 Like

Thank you for your feedback!
Could you please provide a link?

Do you know if the OneTouch buttons can be seen by HA? Mine are not showing.

2 Likes

Ciao, it seems there’re some changes in the API to update settings. This command is not working anymore:

curl -X POST -H "Host:prod.zodiac-io.com" -H "accept:application/json" -H "authorization:"$Authorization"" -H "content-type:application/json; charset=UTF-8" -H "content-length:62" -H "accept-encoding:gzip" -H "user-agent:okhttp/3.12.0" -d '{"state":{"desired":{"equipment":{"swc_0":{"production":1}}}}}' "https://prod.zodiac-io.com/devices/v1/xxxxxxxx/shadow"

Has anyone suffered same issue and know how to invoke the API now?
Thanks

I am seeing HTTP 500 when trying to set any value (i.e. toggle the production switch).

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service
    await hass.services.async_call(
  File "/usr/local/lib/python3.9/dist-packages/homeassistant/core.py", line 1738, in async_call
    task.result()
  File "/usr/local/lib/python3.9/dist-packages/homeassistant/core.py", line 1775, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/local/lib/python3.9/dist-packages/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await service.entity_service_call(
  File "/usr/local/lib/python3.9/dist-packages/homeassistant/helpers/service.py", line 676, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/local/lib/python3.9/dist-packages/homeassistant/helpers/entity.py", line 931, in async_request_call
    await coro
  File "/usr/local/lib/python3.9/dist-packages/homeassistant/helpers/service.py", line 713, in _handle_entity_call
    await result
  File "/opt/homeassistant/custom_components/iaqualink/__init__.py", line 190, in wrapper
    await func(self, *args, **kwargs)
  File "/opt/homeassistant/custom_components/iaqualink/switch.py", line 50, in async_turn_on
    await self.dev.turn_on()
  File "/opt/homeassistant/deps/lib/python3.9/site-packages/iaqualink/device.py", line 318, in turn_on
    await self.system.set_production(1)
  File "/opt/homeassistant/deps/lib/python3.9/site-packages/iaqualink/system.py", line 276, in set_production
    r = await self.aqualink.send_shadow_desired(self.serial, {"equipment": {"swc_0": {"production": state}}})
  File "/opt/homeassistant/deps/lib/python3.9/site-packages/iaqualink/client.py", line 227, in send_shadow_desired
    r = await self._send_aws_request(
  File "/opt/homeassistant/deps/lib/python3.9/site-packages/iaqualink/client.py", line 212, in _send_aws_request
    return await self._send_request(url, headers={"authorization":self._IdToken}, **kwargs)
  File "/opt/homeassistant/deps/lib/python3.9/site-packages/iaqualink/client.py", line 123, in _send_request
    raise AqualinkServiceException(m)
iaqualink.exception.AqualinkServiceException: Unexpected response: 500 Internal Server Error

Yes, I’m pretty sure there’s some change required in the request because I read in another forum that one user emailed Fluidra to fix a bug that was allowing to change parameters with the API and a token even the device wasn’t associated to your account.
The problem to try to fix this is that I’m unable to set the sniffer in android phone anymore. Maybe you have more luck with the sniffer…

Likewise, I have been unable to sniff from Android for sometime! Infuriating.

@martinfrench have you seen these issues with the Zodiac Hydroxinator? Anything we can do to help rectify the problem?

did anyone else’s light entity stopped working after november update, mine is disabled and it says the integration is no longer reporting this entity

ajishab, unfortunately yes, you are not alone. I came here to find out the same thing. Yes, mine stopped working as well, after working perfectly forever.

1 Like

Mine too! My light stopped working after the latest update.

@flauran Do you have plans to support the OneTouch interface, since the Aqualink API doesn’t expose everything that is available in OneTouch? In particular, basic status info link pump speed and wattage would be great to have. I understand this requires an RS-485 adapter, but they seem cheap and readily available.

Hey, no plans. This side project has taken more of a life than I was initially planning for :slight_smile:

Github shows all of the issue reports for the lighting problem have been closed as being resolved by renaming a function. This resolution supposedly was submitted 11 days ago.

None of the recent release notes for 2022.11.x mention this fix. I’m wondering if anyone knows when this fix will make it into a released version of HA.

I just tested 2022.11.5 and the problem is still not fixed so I had to revert back to 2022.10.5 to get my lights back.

It’s still not working as of the latest version today.

The fix was merged into dev but I didn’t explicitly request the fix to be backported to 2022.11 so it will be in 2022.12.0 when it’s released. I think it should be next Wednesday unless the release schedule changed since last time I looked at it.

1 Like

Another issue has popped up with this integration that requires me to frequently reload it to regain control over my iAqualink entities. The iAqualink cloud service must have changed something around the time this issue started occurring on February 3rd.

There are two Github issues that have been posted about this new problem