Pool iAqualink driver

Yeah the ParentChild version will auto add the devices that you have changed the Label on.

Yeah send me the debug logs. turn debug on for the child and parent.

Good afternoon,
I'm playing with this as well. My pool and devices are present, but I can't control any of them. Using the latest parent/child driver...

Are yall going into the child device to turn on and off, just want to make sure? I keep retesting mine and its working just to be sure. Can you turn on the debug for both the parent and child, and then send the logs?

Do we need the account info and serial in the child devices?

Just tried to switch on and off the fours devices I have conected... Here is a snapshot of the logs.

I have aux 5, 6 and 7 but nothing connected to them.
Aux 1-4 are my pool lights, spa lights and two lamp posts...

My pool and spa lights are colored and from the app require me to pick a color when turning them on...

I can get the lamp posts to turn off and on, but not the pool lights and with all four devices, i get the error shown here...

dev:382019-12-16 22:56:11.928 info1 off
dev:372019-12-16 22:56:11.922 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:382019-12-16 22:55:53.541 info off
dev:372019-12-16 22:55:53.534 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:392019-12-16 22:55:32.273 info2 off
dev:372019-12-16 22:55:32.255 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:392019-12-16 22:54:57.153 info off
dev:372019-12-16 22:54:57.145 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:412019-12-16 22:54:16.716 info off
dev:372019-12-16 22:54:16.705 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:412019-12-16 22:54:13.722 info4 off
dev:372019-12-16 22:54:13.707 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:412019-12-16 22:54:03.729 info4 on
dev:372019-12-16 22:54:03.722 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:402019-12-16 22:53:39.051 infoToggle Device ON iAquaLink Lamp Post 1
dev:402019-12-16 22:53:39.048 info off
dev:372019-12-16 22:53:39.040 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:402019-12-16 22:52:53.542 infoToggle Device OFF iAquaLink Lamp Post 1
dev:402019-12-16 22:52:53.538 info3 on
dev:372019-12-16 22:52:53.512 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)

Can you replace line 156 with this?

try {
    notifychild("8",devices.devices_screen[10].aux_EA[0].state, devices.devices_screen[10].aux_EA[1].label )
} catch (Exception e) {
    log.warn "aux_EA failed: ${e.message}"
}

Also would be good to see the response from the server on the GetDevices function, so I can see why aux_EA is not present .

Basically I make a call to the server to check the status of the switch to make sure it is on or off. Because you can only send a toggle not a command of on or off.

tried to paste that in and got this...

expecting EOF, found 'catch' @ line 157, column 3.

Where would I get the "server" logs for you?

Also, I entered the username, password and pool serial in all the child devices... Was that necessary?

I updated the github code to include the try catch's.

Not necessary to put info in the child device as only the parent connects to the server.

Would be the hubitat logs of the server calls.

Similar to this.

dev:3852019-12-13 10:04:26.071 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Kitchen Ligh|0|1|0|0|Stair Lights|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Kitchen Ligh}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=0}, {label=Stair Lights}, {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}]}]}

Made the change last night... Here some of the logs through this morning.

dev:402019-12-18 08:32:44.662 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-18 07:32:41.418 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-18 06:32:38.038 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-18 05:32:35.194 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-18 04:32:31.855 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-18 03:32:28.919 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-18 02:32:25.667 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-18 01:32:22.503 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-18 00:32:19.358 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-17 23:32:16.376 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-17 22:32:13.065 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-17 21:32:08.870 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:402019-12-17 20:32:05.798 warnaux_EA failed: Cannot get property 'aux_EA' on null object
dev:372019-12-17 20:30:55.874 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 108 (initialize)
dev:372019-12-17 20:30:51.483 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 108 (updated)
dev:372019-12-17 20:30:49.583 infoupdated...
dev:402019-12-17 09:14:32.589 info3 off
dev:372019-12-17 09:14:32.553 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:402019-12-16 23:02:41.228 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 108 (updated)
dev:402019-12-16 23:02:39.418 infoupdated...
dev:382019-12-16 22:56:11.927 info1 off
dev:372019-12-16 22:56:11.920 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:382019-12-16 22:55:53.540 info off
dev:372019-12-16 22:55:53.520 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:392019-12-16 22:55:32.261 info2 off
dev:372019-12-16 22:55:32.253 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:392019-12-16 22:54:57.151 info off
dev:372019-12-16 22:54:57.142 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:412019-12-16 22:54:16.714 info off
dev:372019-12-16 22:54:16.702 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:412019-12-16 22:54:13.718 info4 off
dev:372019-12-16 22:54:13.685 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:412019-12-16 22:54:03.728 info4 on
dev:372019-12-16 22:54:03.719 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:402019-12-16 22:53:39.049 infoToggle Device ON iAquaLink Lamp Post 1
dev:402019-12-16 22:53:39.047 info off
dev:372019-12-16 22:53:39.037 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:402019-12-16 22:52:53.421 infoToggle Device OFF iAquaLink Lamp Post 1
dev:402019-12-16 22:52:53.404 info3 on
dev:372019-12-16 22:52:53.364 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (rundeviceupdate)
dev:402019-12-16 22:52:38.154 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 108 (updated)
dev:402019-12-16 22:52:38.018 info{message=, devices_screen=[{status=Online}, {response=AQU='72','7|1|2|3|4|5|6|7|0|7|2|4|Pool Lights|0|7|2|4|Spa Light|1|1|0|0|Lamp Post 1|1|1|0|0|Lamp Post 2|0|1|0|0|Aux5|0|1|0|0|Aux6|0|1|0|0|Aux7'}, {group=1}, {aux_1=[{state=0}, {label=Pool Lights}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_2=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_3=[{state=1}, {label=Lamp Post 1}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=1}, {label=Lamp Post 2}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_5=[{state=0}, {label=Aux5}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_6=[{state=0}, {label=Aux6}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=0}, {label=Aux7}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}
dev:402019-12-16 22:52:36.317 infoupdated...
app:352019-12-16 13:58:44.046 debugupdated()
dev:392019-12-16 13:39:52.797 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 156 (Update)
dev:392019-12-16 13:39:49.326 errorjava.lang.NullPointerException: Cannot get property 'aux_EA' on null object on line 108 (initialize)
app:342019-12-16 13:30:09.545 infoSkipping event subscriptions... Using event socket to send events to server.
dev:942019-12-16 13:30:07.702 infoSwitching connection to Server Hub to socket
app:342019-12-16 13:30:07.619 infoHubConnect Remote Client Initialized
app:342019-12-16 13:30:07.610 infoHubConnect Remote Client Updated
dev:62019-12-16 13:28:27.866 warndescription logging is: false
dev:62019-12-16 13:28:27.864 warndebug logging is: false
dev:62019-12-16 13:28:27.863 infoupdated...
dev:132019-12-16 13:28:14.380 warndescription logging is: false
dev:132019-12-16 13:28:14.378 warndebug logging is: false
dev:132019-12-16 13:28:14.376 infoupdated...
dev:82019-12-16 13:28:03.547 warndescription logging is: false
dev:82019-12-16 13:28:03.546 warndebug logging is: false
dev:82019-12-16 13:28:03.545 infoupdated...
dev:52019-12-16 13:27:52.891 warndescription logging is: false
dev:52019-12-16 13:27:52.890 warndebug logging is: false
dev:52019-12-16 13:27:52.888 infoupdated...
dev:72019-12-16 13:27:40.952 warndescription logging is: false
dev:72019-12-16 13:27:40.950 warndebug logging is: false
dev:72019-12-16 13:27:40.949 infoupdated...
dev:152019-12-16 13:27:29.676 warndescription logging is: false
dev:152019-12-16 13:27:29.674 warndebug logging is: false
dev:152019-12-16 13:27:29.672 infoupdated...
dev:122019-12-16 13:27:17.425 warndescription logging is: false
dev:122019-12-16 13:27:17.424 warndebug logging is: false
dev:122019-12-16 13:27:17.422 infoupdated...
dev:162019-12-16 13:27:06.860 warndescription logging is: false
dev:162019-12-16 13:27:06.859 warndebug logging is: false
dev:162019-12-16 13:27:06.857 infoupdated...
dev:112019-12-16 13:26:55.036 warndescription logging is: false
dev:112019-12-16 13:26:55.035 warndebug logging is: false
dev:112019-12-16 13:26:55.033 infoupdated...
dev:142019-12-16 13:26:43.638 warndescription logging is: false
dev:142019-12-16 13:26:43.637 warndebug logging is: false
dev:142019-12-16 13:26:43.636 infoupdated...
dev:92019-12-16 13:26:31.081 warndescription logging is: false
dev:92019-12-16 13:26:31.080 warndebug logging is: false
dev:92019-12-16 13:26:31.078 infoupdated...
dev:102019-12-16 13:26:13.793 warndescription logging is: false
dev:102019-12-16 13:26:13.791 warndebug logging is: false
dev:102019-12-16 13:26:13.789 infoupdated...

Do you have an older aqualink unit, just curious? Looks like you do not have the aux_EA port based on the information returned from aqualink.

I added a switch to enable/disable the EA port in the latest code. The default will be disabled.

My pool was installed about 3 years ago so yes, I probably have the older unit...

I'm trying your other driver and just adding the devices I want to control one at a time. Successfully added my lamp posts and have added the pool and spa lights, but haven't had a chance to try them yet... Again, they are colored and the iAquaLink app requires you chose a color when turning them on... Wondering if it will default to the last color selected or if it just won't work...

Let me know what you think... And thanks again for writing this!

So I used the original driver and added the four devices I want to control, individually. I found the driver works great for aux 3-4 which are the lap posts... I can toggle them off and on and they show correct status on the dashboard.

I also added the pool and spa lights as they are aux 1-2 using the same method...

I can't turn them off or on but when they are turned on via the iaqualinks app, the correct status shows on my Hubitat dashboard.... Either on or off... I just can't control them via Hubitat...

I will try to play with this a bit more myself... I am not by any means a programmer or even slightly qualified to make toast, but I'll try...

Thanks for your work on this.

Wrote a test driver for the color lights but I can not fully test it. you will need to toggle the color light option and put a color number in there that you want.
This will only go on for the one color set via preferences.

Mike,

Thank you, I think I was just not using the UI correctly. I was going into the Child Component, and trying to turn off/on. Then I finally tried staying at the parent:

  • picking device, save preferences

*then pushing off/on, SUCCESS!

About to try changing the color now, will post logs.

Fails followed by success logs (hope this truncates...):
dev:5572019-12-19 07:34:35.106 pm errorgroovyx.net.http.HttpResponseException: Unknown Reason on line 242 (on)

dev:5572019-12-19 07:34:34.707 pm infoToggle Device ON Rockfall

dev:5572019-12-19 07:34:34.705 pm info off

dev:5552019-12-19 07:34:34.697 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_3_0_w_Color_LEDs_579.rundeviceupdate() is applicable for argument types: () values: [] on line 199 (rundeviceupdate)

dev:7212019-12-19 07:34:26.267 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [1, FilterPump] on line 133 (parsechild)

dev:5572019-12-19 07:34:26.233 pm infopool pump status 1

dev:5572019-12-19 07:34:26.210 pm info{message=, home_screen=[{status=Online}, {response=AQU='70','0B 00 01 02 03 05 06 07 08 0E 0F 1A 01 01 00 00 00 5A 00 59 00 34 00 51 00 00 00'}, {system_type=0}, {temp_scale=F}, {spa_temp=}, {pool_temp=81}, {air_temp=52}, {spa_set_point=89}, {pool_set_point=90}, {cover_pool=}, {freeze_protection=0}, {spa_pump=0}, {pool_pump=1}, {spa_heater=0}, {pool_heater=1}, {solar_heater=}, {spa_salinity=}, {pool_salinity=}, {orp=}, {ph=}]}

dev:7202019-12-19 07:34:25.621 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [1, Stairs Light] on line 133 (parsechild)

dev:7192019-12-19 07:34:25.588 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Cook Light] on line 133 (parsechild)

dev:7182019-12-19 07:34:25.557 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Pool Light] on line 133 (parsechild)

dev:7172019-12-19 07:34:25.526 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Spa Light] on line 133 (parsechild)

dev:7162019-12-19 07:34:25.494 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Air Blower] on line 133 (parsechild)

dev:7152019-12-19 07:34:25.463 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Rockfall] on line 133 (parsechild)

dev:7142019-12-19 07:34:25.432 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Waterfall] on line 133 (parsechild)

dev:5572019-12-19 07:34:25.362 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:7202019-12-19 07:34:07.365 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [1, Stairs Light] on line 133 (parsechild)

dev:7192019-12-19 07:34:07.332 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Cook Light] on line 133 (parsechild)

dev:7182019-12-19 07:34:07.302 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Pool Light] on line 133 (parsechild)

dev:7172019-12-19 07:34:07.266 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Spa Light] on line 133 (parsechild)

dev:7162019-12-19 07:34:07.229 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Air Blower] on line 133 (parsechild)

dev:7152019-12-19 07:34:07.193 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Rockfall] on line 133 (parsechild)

dev:7142019-12-19 07:34:07.155 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Waterfall] on line 133 (parsechild)

dev:5572019-12-19 07:34:07.104 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5572019-12-19 07:34:06.757 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:7212019-12-19 07:34:04.041 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [1, FilterPump] on line 133 (parsechild)

dev:5572019-12-19 07:34:04.002 pm infopool pump status 1

dev:5572019-12-19 07:34:03.993 pm info{message=, home_screen=[{status=Online}, {response=AQU='70','0B 00 01 02 03 05 06 07 08 0E 0F 1A 01 01 00 00 00 5A 00 59 00 34 00 51 00 00 00'}, {system_type=0}, {temp_scale=F}, {spa_temp=}, {pool_temp=81}, {air_temp=52}, {spa_set_point=89}, {pool_set_point=90}, {cover_pool=}, {freeze_protection=0}, {spa_pump=0}, {pool_pump=1}, {spa_heater=0}, {pool_heater=1}, {solar_heater=}, {spa_salinity=}, {pool_salinity=}, {orp=}, {ph=}]}

dev:5572019-12-19 07:33:58.784 pm warndebug logging is: true

dev:7202019-12-19 07:33:58.781 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [1, Stairs Light] on line 133 (parsechild)

dev:7192019-12-19 07:33:58.745 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Cook Light] on line 133 (parsechild)

dev:7182019-12-19 07:33:58.707 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Pool Light] on line 133 (parsechild)

dev:7172019-12-19 07:33:58.671 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Spa Light] on line 133 (parsechild)

dev:7162019-12-19 07:33:58.632 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Air Blower] on line 133 (parsechild)

dev:7152019-12-19 07:33:58.552 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Rockfall] on line 133 (parsechild)

dev:7142019-12-19 07:33:58.462 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_578.parsechild() is applicable for argument types: (java.lang.String, java.lang.String) values: [0, Waterfall] on line 133 (parsechild)

dev:5572019-12-19 07:33:58.362 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:7212019-12-19 07:33:57.289 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 160 (installed)

dev:7212019-12-19 07:33:56.966 pm warn...

dev:7202019-12-19 07:33:56.790 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 160 (installed)

dev:7202019-12-19 07:33:56.447 pm warn...

dev:7192019-12-19 07:33:56.313 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 160 (installed)

dev:7192019-12-19 07:33:55.953 pm warn...

dev:7182019-12-19 07:33:55.804 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 160 (installed)

dev:7182019-12-19 07:33:55.387 pm warn...

dev:7172019-12-19 07:33:54.998 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 160 (installed)

dev:7172019-12-19 07:33:54.645 pm warn...

dev:7162019-12-19 07:33:54.515 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 160 (installed)

dev:7162019-12-19 07:33:54.180 pm warn...

dev:7152019-12-19 07:33:54.055 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 160 (installed)

dev:7152019-12-19 07:33:53.719 pm warn...

dev:7142019-12-19 07:33:53.587 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 160 (installed)

dev:7142019-12-19 07:33:53.199 pm warn...

dev:5572019-12-19 07:33:50.893 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5572019-12-19 07:33:49.460 pm infoupdated...

dev:5552019-12-19 07:33:27.946 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5552019-12-19 07:33:26.344 pm infoToggle Device OFF 1

dev:5552019-12-19 07:33:21.734 pm warndebug logging is: true

dev:5552019-12-19 07:33:20.671 pm infoupdated...

dev:5552019-12-19 07:33:17.514 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|1|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=1}, {label=Waterfall}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5552019-12-19 07:33:16.221 pm infoToggle Device OFF 1

dev:5552019-12-19 07:33:08.494 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|1|1|0|0|Waterfall|1|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=1}, {label=Waterfall}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=1}, {label=Rockfall}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5552019-12-19 07:33:07.628 pm infoToggle Device ON 0

dev:5552019-12-19 07:33:07.627 pm info 0

dev:5552019-12-19 07:33:02.547 pm warndebug logging is: true

dev:5552019-12-19 07:33:01.550 pm infoupdated...

dev:5552019-12-19 07:32:57.293 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|1|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=1}, {label=Waterfall}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5552019-12-19 07:32:56.479 pm infoToggle Device ON 0

dev:5552019-12-19 07:32:56.477 pm info 0

dev:5552019-12-19 07:32:23.595 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|1|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|0|7|2|4|Spa Light|0|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=1}, {label=Waterfall}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=0}, {label=Spa Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=0}, {label=Pool Light}, {icon=aux_7_0.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5552019-12-19 07:32:22.590 pm infoToggle Device ON 0

dev:5552019-12-19 07:32:22.588 pm info 0

dev:5552019-12-19 07:32:07.714 pm warndebug logging is: true

dev:5552019-12-19 07:32:06.177 pm infoupdated...

dev:5552019-12-19 07:31:46.680 pm warndebug logging is: true

dev:5552019-12-19 07:31:45.126 pm infoupdated...

dev:5552019-12-19 07:31:29.458 pm info{message=, devices_screen=[{status=Offline}, {response=Error}, {group=1}]}

dev:5552019-12-19 07:31:19.530 pm infoToggle Device ON 0

dev:5552019-12-19 07:31:19.527 pm info 0

dev:5592019-12-19 07:29:37.168 pm infopool pump status 1

dev:5592019-12-19 07:29:37.160 pm info{message=, home_screen=[{status=Online}, {response=AQU='70','0B 00 01 02 03 05 06 07 08 0E 0F 1A 01 01 00 00 00 5A 00 59 00 34 00 51 00 00 00'}, {system_type=0}, {temp_scale=F}, {spa_temp=}, {pool_temp=81}, {air_temp=52}, {spa_set_point=89}, {pool_set_point=90}, {cover_pool=}, {freeze_protection=0}, {spa_pump=0}, {pool_pump=1}, {spa_heater=0}, {pool_heater=1}, {solar_heater=}, {spa_salinity=}, {pool_salinity=}, {orp=}, {ph=}]}

dev:5592019-12-19 07:29:36.547 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|1|7|2|4|Spa Light|1|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=1}, {label=Spa Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=1}, {label=Pool Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5592019-12-19 07:29:34.639 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|1|7|2|4|Spa Light|1|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=1}, {label=Spa Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=1}, {label=Pool Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5592019-12-19 07:29:34.250 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|1|7|2|4|Spa Light|1|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=1}, {label=Spa Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=1}, {label=Pool Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5592019-12-19 07:29:32.600 pm infopool pump status 1

dev:5592019-12-19 07:29:32.589 pm info{message=, home_screen=[{status=Online}, {response=AQU='70','0B 00 01 02 03 05 06 07 08 0E 0F 1A 01 01 00 00 00 5A 00 59 00 34 00 51 00 00 00'}, {system_type=0}, {temp_scale=F}, {spa_temp=}, {pool_temp=81}, {air_temp=52}, {spa_set_point=89}, {pool_set_point=90}, {cover_pool=}, {freeze_protection=0}, {spa_pump=0}, {pool_pump=1}, {spa_heater=0}, {pool_heater=1}, {solar_heater=}, {spa_salinity=}, {pool_salinity=}, {orp=}, {ph=}]}

dev:6102019-12-19 07:28:27.741 pm errorgroovyx.net.http.HttpResponseException: Unknown Reason on line 242 (on)

dev:6102019-12-19 07:28:27.443 pm infoToggle Device ON Rockfall

dev:6102019-12-19 07:28:27.441 pm info off

dev:5592019-12-19 07:28:27.210 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|1|7|2|4|Spa Light|1|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=1}, {label=Spa Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=1}, {label=Pool Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:6102019-12-19 07:28:23.612 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 168 (Update)

dev:6132019-12-19 07:28:11.739 pm errorgroovyx.net.http.HttpResponseException: Unknown Reason on line 242 (off)

dev:6132019-12-19 07:28:11.430 pm infoToggle Device OFF Pool Light

dev:6132019-12-19 07:28:11.428 pm info5 on

dev:5592019-12-19 07:28:11.193 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|1|7|2|4|Spa Light|1|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=1}, {label=Spa Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=1}, {label=Pool Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:6132019-12-19 07:28:06.105 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 168 (UpdateAqualinkStatus)

dev:6132019-12-19 07:28:01.931 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 168 (Update)

dev:6152019-12-19 07:27:50.088 pm errorgroovyx.net.http.HttpResponseException: Unauthorized on line 168 (Update)

dev:6152019-12-19 07:27:28.557 pm errorgroovyx.net.http.HttpResponseException: Unknown Reason on line 242 (off)

dev:6152019-12-19 07:27:28.228 pm infoToggle Device OFF Stairs Light

dev:6152019-12-19 07:27:28.227 pm info7 on

dev:5592019-12-19 07:27:27.890 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|1|7|2|4|Spa Light|1|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=1}, {label=Spa Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=1}, {label=Pool Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:6132019-12-19 07:27:20.030 pm errorgroovyx.net.http.HttpResponseException: Unknown Reason on line 242 (off)

dev:6132019-12-19 07:27:19.676 pm infoToggle Device OFF Pool Light

dev:6132019-12-19 07:27:19.674 pm info5 on

dev:5592019-12-19 07:27:19.341 pm info{message=, devices_screen=[{status=Online}, {response=AQU='72','8|1|2|3|4|5|6|7|32|0|1|0|0|Waterfall|0|1|0|0|Rockfall|0|1|0|0|Air Blower|1|7|2|4|Spa Light|1|7|2|4|Pool Light|0|1|0|0|Cook Light|1|1|0|0|Stairs Light|0|1|0|0|Extra Aux'}, {group=1}, {aux_1=[{state=0}, {label=Waterfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_2=[{state=0}, {label=Rockfall}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_3=[{state=0}, {label=Air Blower}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_4=[{state=1}, {label=Spa Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_5=[{state=1}, {label=Pool Light}, {icon=aux_7_1.png}, {type=2}, {subtype=4}]}, {aux_6=[{state=0}, {label=Cook Light}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}, {aux_7=[{state=1}, {label=Stairs Light}, {icon=aux_1_1.png}, {type=0}, {subtype=0}]}, {aux_EA=[{state=0}, {label=Extra Aux}, {icon=aux_1_0.png}, {type=0}, {subtype=0}]}]}

dev:5592019-12-19 07:27:03.238 pm infoDevice Already OFF Spa Light

dev:5592019-12-19 07:27:03.236 pm info4 off

dev:5552019-12-19 07:27:03.228 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_aqualink_Pool_Aqualink_3_0_w_Color_LEDs_579.rundeviceupdate() is applicable for argument types: () values: [] on line 218 (rundeviceupdate)

Geez, it did NOT truncate...any suggestions?

I can toggle the colors by turning it off, changing color #, saving prefs, and then toggling on.

Thank you sir!!!

I think I found all of the issues with the parent-child driver. I also added a feature to check if it is of the type that is the colored lights and automatically uses that method to turn on and off the lights. Currently you have to specify the color you want in the preferences settings.

Thanks Mike for working on this... I'm gonna do some testing as well, but I might not be able to report back for a day or two...

Hey Mike,

I had a chance to test the color option in your single color enabled driver and it works perfect. Thank you again for doing this... :slight_smile:

Thank you as well, Mike!! I have the latest running (changed 12 colors to 14, but left all else unchanged) - and it's working perfectly! Definitely seems to operate differently than the previous, as they don't show up as parent with multiple component children.

I don't care either way, just made different virtual devices with all of the aux #s, and it's working amazingly! I'm going to look back at the original reverse engineer doc you shared to see if I can't get Temp Set included myself.

Added an additional driver for the temperatures for pool and spa.

1 Like