Jandy iAqualink Pool Integration

Just got my pool up and running. Pool company walking me through the app and controls next weekend and then I’ll give this a shot. I’ll give temporary access as I have the variable speed pump and the new color lights that can be 12 different colors and would love to have access through HA.

1 Like

I’ve now moved the API part of the code into its own repository (https://github.com/flz/iaqualink-py) and published it to PyPI (https://pypi.org/project/iaqualink/0.1.2/).

If you haven’t tested it yet, please switch over to the “api” branch as described a few posts above.

I will try to get the code in shape to submit a patch for official HA integration in the next few weeks but I need testing from people with dimmable and color lights.

Install wasn’t finished this week so walkthrough of everything is now next weekend. I’ll then provide access. Will this work for the polaris 9650iq sport cleaner as well? It can be controlled through the aqualink app.

Also if I am installing the api version from scratch what are the exact instructions? It’s not entirely clear to me. Do I still follow the original instructions from the first post?

Did you implement support for the color lights? At least the one I sent you the mapping for?

I have support for color lights done on the API side. I think I still need the glue on the HA side. That shouldn’t be too complicated.

1 Like

My first guess was that it should be fine and would be an auxiliary device like any other.

After looking it up, it looks like it would be a totally different system. Don’t think I’d have the time or interest to work on that since I don’t have one of them.

Let me know anyway and I’ll have a look.

Could you share your yaml config for the pool page as an example?

Ok. I’m using your new API component along with a stripped down version of my old one just for my lights… if you can make the color light work I can test and give you feedback… everything else works great… still needs to make the freeze protection a binary sensor vs standard sensor of temperature. All looks fantastic though.

Does anyone have a complete howto for this installation. I’m newbie and can’t figure out how to install the the python api using pip.

Yes please post instructions and example configuration and lovelace entries. I’ll be ready to test on Saturday.

Instructions haven’t changed, they’re in the github project description (git clone …). Using the API branch requires one more command, from within the code directory, listed in this thread (git checkout api).

There is no need to install anything with pip, dependencies get installed by Home Assistant at runtime.

The main reason I haven’t merged the api changes into the master branch yet is that I didn’t have support for dimmer lights. Given that the only person here with dimmers is changing them for color lights, I will most likely merge everything when I get a minute to check that everything works ok.

Hi All - Got an iAqualink turning up soon and very interested in installing this too. Quick question though - was thinking about hooking the electric pool cover to an Aux port on the pool controller. From what I can see (can’t fully check until I get the iAqualink) the vendor app supports Aux relays but I just wanted to check whether this HA component also supports the Aux ports/relay? It’s going to be running on a Jandy Aqualink RS pool controller.

Thanks in advance!

Maybe I’m missing something simple… I’m new to the hassio os still trying to figure out everything. I’m still having issues getting it running. Are you guys running hassio or some other Os… The other thing I noticed is that hassio doesn’t have python installed. I can’t find instructions on how to get python installed.

Steps below

core-ssh:/config/custom_components/aqualink# ls -ltr
total 48
-rw-r–r-- 1 root root 1515 May 3 05:34 LICENSE
-rw-r–r-- 1 root root 1905 May 3 05:35 switch.py
-rw-r–r-- 1 root root 1851 May 3 05:35 sensor.py
-rw-r–r-- 1 root root 49 May 3 05:35 requirements.txt
-rw-r–r-- 1 root root 47 May 3 05:35 pytest.ini
-rw-r–r-- 1 root root 2606 May 3 05:35 light.py
-rw-r–r-- 1 root root 4149 May 3 05:35 climate.py
-rw-r–r-- 1 root root 5290 May 3 05:35 init.py
-rw-r–r-- 1 root root 1093 May 3 05:35 README.md
drwxr-xr-x 2 root root 4096 May 3 05:38 pycache
core-ssh:/config/custom_components/aqualink# git checkout api
Already on ‘api’
Your branch is up to date with ‘origin/api’.

I’m running hassio as well.

This looks good. Just make sure the aqualink component is set up in configuration.yaml and restart homeassistant. Once that’s done, you should find the entities in the Unused Entities part of the UI.

After multiple reboot’s it started working.

1 Like

I’m up and running. Unfortunately the electrician forgot to run a low voltage wire from the truclear salt cholorinator to the panel so that isn’t in iaqualink just yet. Should be in a few days. I also don’t see the lights. I can grant access unless you want to wait until the salt is implemented.

pool2

Actually noticed you updated in github and they are now there…

pool3

Cool, let me know how it goes!

I’ve updated the master branch hass-aqualink repository to use the API. There should be some support for color lights now, although it is largely untested.

If you already have a checkout of the code, run “git pull” and “git checkout master”, then restart homeassistant.

The next batch of changes will include renaming the platform from “aqualink” to “iaqualink” to avoid any confusion and better reflect the fact that it uses the iaqualink cloud API. This will require renaming the custom_component directory and adjusting the configuration.yaml section. I will make sure to communicate when the work is pushed to github.

Changing lights doesn’t work. Gives an error of the following:

Sat May 04 2019 15:03:48 GMT-0400 (EDT)

‘devices_screen’
Traceback (most recent call last):
File “/usr/src/app/homeassistant/components/websocket_api/commands.py”, line 121, in handle_call_service
connection.context(msg))
File “/usr/src/app/homeassistant/core.py”, line 1138, in async_call
self._execute_service(handler, service_call))
File “/usr/src/app/homeassistant/core.py”, line 1160, in _execute_service
await handler.func(service_call)
File “/usr/src/app/homeassistant/components/light/init.py”, line 297, in async_handle_light_on_service
await light.async_turn_on(**pars)
File “/config/custom_components/aqualink/light.py”, line 63, in async_turn_on
await self.dev.set_effect(effect)
File “/config/deps/lib/python3.7/site-packages/iaqualink/device.py”, line 236, in set_effect
await self.system.set_light(data)
File “/config/deps/lib/python3.7/site-packages/iaqualink/system.py”, line 147, in set_light
await self._parse_devices_response®
File “/config/deps/lib/python3.7/site-packages/iaqualink/system.py”, line 111, in _parse_devices_response
if data[“devices_screen”][0][“status”] == “Offline”:
KeyError: ‘devices_screen’