New Binding for iAquaLink internet connected pools (Jandy/Zodiac)

I have a new binding to control iAqualink connected pools system manufactured by Jandy/Zodiac. This binding uses the same API that the iAqualink mobile clients utilize. Feedback is most welcome.

2.5 addon Jar can be found at:

Readme

Screenshot of my pool control in Habpanel

3 Likes

I’m getting the following errors when starting openhab after installing:

2019-08-13 20:13:16.624 [ERROR] [org.openhab.binding.iaqualink       ] - FrameworkEvent ERROR - org.openhab.binding.iaqualink
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.iaqualink [221]
Unresolved requirement: Import-Package: com.google.gson; version="[2.8.0,3.0.0)"
at org.eclipse.osgi.container.Module.start(Module.java:444) ~[?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1634) ~[?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1614) ~[?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1585) ~[?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1528) ~[?:?]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) ~[?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]

2019-08-13 20:13:18.229 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.iaqualink-2.5.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.iaqualink [221]
  Unresolved requirement: Import-Package: com.google.gson; version="[2.8.0,3.0.0)"
	at org.eclipse.osgi.container.Module.start(Module.java:444) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [10:org.apache.felix.fileinstall:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [10:org.apache.felix.fileinstall:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1221) [10:org.apache.felix.fileinstall:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:515) [10:org.apache.felix.fileinstall:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [10:org.apache.felix.fileinstall:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [10:org.apache.felix.fileinstall:3.6.4]

I install the dependency manually on the karaf console:

bundle:install http://central.maven.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar 

This seemed to fix the loading issue.

Good to hear, let me know how it works for you!

I just updated the jar file in the top post with the latest version. If you have installed a previous one, you may need to delete the pool thing and create it again to recognize color lighting types.

Being a relatively new user to openhab, how do I install this binding as it doesn’t show natively in openhab2?

This is now available in the 2.5 releases if you install the latest milestone release or nightly builds

1 Like

How would you turn on the light (aux 1) to red in a rule?

Hi Eric, if you have a jandy light system, the aux code for red is “9”, if its a Pentair light, its “10” . See https://www.openhab.org/addons/bindings/iaqualink/#color-mood-auxiliary-channels for a list of channels values.

Assuming your item is called PoolAuxLight, you can turn it red like so:

rule "Turn Pool Light Red"
when
    Time cron "0 0 17 * * ?"   // Every day 5:00 pm 
then
   PoolAuxLight.sendCommand("9")
end
1 Like

I would like to thank you for this binding. It has proven to be stable addition to our home automation system.

Is there any chance to add control of the variable speed pool pumps to the binding?

Hi Dmld, glad its working for you. Can you control your pump speed with the mobile app (and not through the awful awful legacy web version) ? If you can , would you post a screen shot of that?

Unfortunately setting the pump speed requires opening the web version. I’m assuming that you only have access to the data revealed by the web application.

I can create a limited set of presets by using the OneTouch macros; but if I want to change pump speed independently of any other (valve/temperature/etc.) I need to go to the web interface.

Either way, you have enabled me to manage 99% of my daily pool related tasks through openHAB and that is greatly appreciated.

Unfortunately setting the pump speed requires opening the web version

I was afraid that is the case, the API is quite limited, but if they do ever add this feature to the API, i would be happy to add it to the binding.

Either way, you have enabled me to manage 99% of my daily pool related tasks through openHAB and that is greatly appreciated.

Thats excellent, glad its useful for you!