sfeakes / AqualinkD

Daemon to control Jandy Aqualink RS pool equipment from any home automation hub (Alexa, Homekit & Siri, Home Assistant, smartthings, domoticz etc) or web browser.
Other
172 stars 47 forks source link

AqualinkD Preventing Aqualink from Setting Correct Light Color #236

Open maniscalcojohn opened 1 year ago

maniscalcojohn commented 1 year ago

I have AqualinkD set up with my Jandy LEDs using the Aqualink panel to set the color (lightMode = 0), however, Aqualink is unable to cycle to the correct color unless I shutdown the aqualinkd service. Watching the lights cycle through their colors, when AqualinkD is active, eventually one or more of the lights return to white part of the way through their cycle and then some of them are completely out of sync and the incorrect color.

sfeakes commented 1 year ago

lightmode=0 means AqualinkD will set the light color, not the control panel. Sounds like you want the control panel to set the light mode (I assume that's what you mean by Aqualink), in which case you should be using a light mode other than 0 in AqualinkD configuration.

But in either case, AqualinkD will not interfere with the control panel setting the light mode. So having to shutdown AqualinkD for the control panel to set the light mode, probably means something else is going on. Or I am understanding you problem incorrectly.

The reason you need to set lightmode correctly is so AqualinkD can program the light. It needs to know how the control panel has it configured. So that setting will ONLY effect AqualinkD setting the light, it has no effect (or interference) on how the control panel controls sets the light.

maniscalcojohn commented 1 year ago

Sorry, my mistake, I have it set to LightMode=2, not 0, and it is causing problems

sfeakes commented 1 year ago

If you configure AqualinkD to Debug log, and log to file. Then start AqualinkD, give it a minute or two to set itself with control panel. Then try to program the light from the control panel / iAqualink / keypad etc, stop AqualinkD and post the log. I can take a look and see if I can tell when the problem is.

maniscalcojohn commented 1 year ago

Thanks. Here's the log. Something is causing the lights to occasionally take too long to power cycle, which results in the lights resetting to white part of the way though the cycle.

aqualinkd.log

sfeakes commented 1 year ago

I went over the logs, and I can’t see anything where AqualinkD is interfering with the control panel programming the light, in-fact AqualinkD has not even seen the light change state in those logs. What device are you using the change the light state? Ie keypad / OneTouch / iAqualink etc?

maniscalcojohn commented 1 year ago

Same. I read through the log before I posted it looking for something regarding the lights but could not find anything.

I did this test with the Jandy iAqualink app, but fairly certain it did the same with AqualinkD.

Could it be related to MQTT?

sfeakes commented 1 year ago

Since AqualinkD did not see the light even chance, it’s not related to MQTT.

Just to confirm the below is what you are experiencing. AqualinkD not running, changing the light mode with iAqualink app, Light changes mode correctly. AqualinkD running, changing the light mode with iAqualink app, Light does not cycle mode correctly.

maniscalcojohn commented 1 year ago

Correct. At a point in the cycle, the lights will stay off for too long and reset to white.

maniscalcojohn commented 1 year ago

Here's the full Serial Debug log if that helps...

aqualinkd2.log

I also disabled MQTT and still having the same issue.

aqualinkd4.log - AqualinkD Web GUI w no MQTT

maniscalcojohn commented 1 year ago

And same problem using the web interface of Aqualinkd

aqualinkd3.log

sfeakes commented 1 year ago

I noticed on log 3 & 4 you used AqualinkD to set the light and not iAqualink. Both times it was set to “Disco Tech” and the control panel thought the light was already on “Disco Tech”, so it looked like it just turned it on rather than actually programming it.

I really can not see where AqualinkD is interfering with the light at any point, One thing to try would be to take AqualinkD out of extended programming, by commenting out or deleting this line in your config

“extra_device_id = 0x31”.

Make sure to restart aqualinkd once you take that line out. You should keep using the control panel to program the light and not AqualinkD, get that working first. Other things to try. 1) update AqualinkD to the latest version, you are a few behind. 2) If the above makes no change, it would be worth knowing if the control panel can program the light with serial logger running rather than aqualinkd.

Stop aqualinkd, run serial logger, use iAqualink to program the light.

maniscalcojohn commented 1 year ago

Finally got around to working on this again...

Updating to the latest version did not fix the issue--see log 6

Removing "extended_device_id=0x31" and "extended_device_id_programming = yes" fixed the problem--see log 7

Unfortunately, as your documentation points out, this prevents me from setting my pump rpm, which is pretty much the primary reason I set up AqualinkD...

aqualinkd6.log

aqualinkd7.log

maniscalcojohn commented 1 year ago

I am able to re-enable "extended_device_id=0x31" only and the lights cycle properly. Also have access to my pump RPMs, so this may work. Not sure what I am missing by not having extended_device_id_programming.

maniscalcojohn commented 1 year ago

Nvm. Its not working with extended_device_id enabled. Same problem.

maniscalcojohn commented 5 months ago

Hey @sfeakes anyone else report this behavior? Would love to have local control, but this issue is driving me crazy--except every once and a while I get some lights on different colors than others, which actually looks pretty cool...

sfeakes commented 5 months ago

Can you try upgrading to the latest version of AqualinkD, and adding the following in aqualinkd.conf rs485_frame_delay = 4. This will slow AqualinkD down a touch, just wondering if that may be causing an issue. I doubt that will work, but the latest version has some better debug capabilities that may help.