Pool iAqualink driver

Should look like

image

Thanks, I think I just can't get it to log me in. Is the serial case sensitive? Did you use dashes?

no dashes in mine. also, mine is uppercase letters...

Am I doing something wrong?

make sure you are not modifying the driver code... Input the code then save the driver... you will then add a "virtual" device under devices... when that is complete, the device will have field for you to add your credentials...

Wow, I'm an idiot, thanks @SuperDupe got it working now! Thanks!

1 Like

Love the app, Mike. For the life of me, I cannot get my Air Temp, Pool Temp and Spa Temps to show up as child devices. What do you recommend? I have an RS-6 Combo unit and these fields show up in my iAqualink but aren't pulling in here.

@stemarie Do you have the "pool aqualink child temps" driver installed?

Yes, even reinstalled everything today...

@stemarie Can you turn on debuging and click initialize then update then update aqualink status. Then post the logs.

dev:972020-07-21 02:38:15.288 pm infopool pump temp 90

dev:972020-07-21 02:38:15.286 pm infopool pump status 1

dev:972020-07-21 02:38:15.263 pm info{message=, home_screen=[{status=Online}, {response=AQU='70','0A 00 01 02 03 05 06 07 08 0E 0F 01 00 00 00 00 3D 00 64 00 5F 00 5A 00 00'}, {system_type=0}, {temp_scale=F}, {spa_temp=}, {pool_temp=90}, {air_temp=95}, {spa_set_point=100}, {pool_set_point=61}, {cover_pool=}, {freeze_protection=}, {spa_pump=0}, {pool_pump=1}, {spa_heater=0}, {pool_heater=0}, {solar_heater=}, {spa_salinity=}, {pool_salinity=}, {orp=}, {ph=}]}

dev:972020-07-21 02:38:14.550 pm warnaux_EA failed: Cannot get property 'aux_EA' on null object

dev:972020-07-21 02:38:14.548 pm warnaux_7 failed: Cannot get property 'aux_7' on null object

dev:972020-07-21 02:38:14.546 pm warnaux_6 failed: Cannot invoke method getAt() on null object

dev:972020-07-21 02:38:14.288 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','6|1|2|3|4|5|32|0|1|0|0|CLEANER|0|1|0|0|Spa Jets|0|7|2|4|Pool Lights|0|1|0|0|Fence Lights|0|1|0|0|AUX5|0|1|0|0|EXTRA AUX'}, {group=1}, {aux_1=[{state=0}, {label=CLEANER}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Spa Jets}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Pool Lights}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_4=[{state=0}, {label=Fence Lights}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_5=[{state=0}, {label=AUX5}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=EXTRA AUX}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:972020-07-21 02:38:13.946 pm errorjava.lang.NullPointerException: Cannot invoke method getAt() on null object on line 158 (initialize)

dev:972020-07-21 02:38:13.922 pm infoUnit is 4 DeviceType is 0

dev:972020-07-21 02:38:13.877 pm infoUnit is 3 DeviceType is 2

dev:972020-07-21 02:38:13.827 pm infoUnit is 2 DeviceType is 0

dev:972020-07-21 02:38:13.790 pm infoUnit is 1 DeviceType is 0

dev:972020-07-21 02:38:13.730 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','6|1|2|3|4|5|32|0|1|0|0|CLEANER|0|1|0|0|Spa Jets|0|7|2|4|Pool Lights|0|1|0|0|Fence Lights|0|1|0|0|AUX5|0|1|0|0|EXTRA AUX'}, {group=1}, {aux_1=[{state=0}, {label=CLEANER}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Spa Jets}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Pool Lights}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_4=[{state=0}, {label=Fence Lights}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_5=[{state=0}, {label=AUX5}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=EXTRA AUX}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

@stemarie Try turning off aux_EA port. Save changes and click initialize

That didn't fix it.

Are you still getting this error in the log?

Yep.

dev:972020-07-21 02:46:04.971 pm errorjava.lang.NullPointerException: Cannot invoke method getAt() on null object on line 158 (initialize)

Can you update the parent driver and try again?

Deleted all the devices and reinstalled from scratch and it works now. Somehow it must have gotten corrupted ... sorry to send you on a wild goose chase trying to help me.

Thanks again!

@stemarie Your system has a few less aux ports than I have seen, I am catching the error now so that it can run the commands after those aux ports.

@mike10 -

You're driver works well for me overall, thank you! Having said that as with @stemarie I have fewer aux ports. In fact I only have three.

Capture

As a result, the code in your parent driver, unless I comment out the lines for CreateChild("4") and CreateChild("5") specifically, causes problems. I think putting a try/catch around all those other CreateChild function calls would probably fix it for me and presumably others who have fewer aux ports.

CreateChild("4", devices.devices_screen[6].aux_4[1].label, devices.devices_screen[6].aux_4[3].type )
CreateChild("5", devices.devices_screen[7].aux_5[1].label, devices.devices_screen[7].aux_5[3].type )
try { CreateChild("6", devices.devices_screen[8].aux_6[1].label, devices.devices_screen[8].aux_6[3].type ) } catch (Exception e) { log.warn "CreateChild 6 failed: ${e.message}" }
try { CreateChild("7", devices.devices_screen[9].aux_7[1].label, devices.devices_screen[9].aux_7[3].type ) } catch (Exception e) { log.warn "CreateChild 7 failed: ${e.message}" }

@mike10 Deleting and reinstalling all the drivers worked for me. Not sure what the error was in my code. I have a RS-6 Combo unit (all I need given my Pool and Spa are on the same pump and spa overflows into the poo)l.