from aqualogic.core import AquaLogic
Can anyone point me to where I can find the most current version of the aqualogic.core source code?
I’ve searched through the development core repository, no joy, though maybe I’m looking in the wrong place.
First follow up:
My production install of Home Assistant is of HAOS in a VirtualBox virtual environment on my prod Linux host. The only access I’m aware of to the HA command line is the Terminal & SSH add-on, which is a restricted shell that provides no access to any of the core code, including Aqualogic.
The development repository contains some Aqualogic component files, but not the core.
So I ended up doing a throw-away installation of Home Assistant Supervised on a test Linux box, which brought in…more. I found what I assume will be the most current Aqualogic core.py in two locations, one being (in case you’re ever looking for it):
/var/lib/docker/overlay2/<GUID>/diff/usr/local/lib/python3.9/site-packages/aqualogic
While the component files were found under:
/var/lib/docker/overlay2/<GUID>/diff/usr/src/homeassistant/homeassistant/components/aqualogic
I’ve adopted the minor differences from this code into my custom_component installation of Aqualogic. Was hoping a one-or-two year newer version of the core might have fixes for some of the (common) issues I’m seeing, but no such luck:
- filter button toggles between High and Off, skips past the Low setting of my two-speed pump motor
- gas heater won’t turn off when in idle mode
Anybody develop custom solutions for these?
Second follow up:
Doh! Actually, I’d already known of the filter_low_speed switch, but had assumed it would act the same as the low speed switch on both my Hayward console and fob – i.e. even though there’s a physical button, it’s really just an indicator light. So I expected one should similarly press the filter button in HA to step the filter into low speed.
However, adding the filter_low_speed switch to the dashboard today didn’t do anything…until I modified this line in core.py from False to True:
self._multi_speed_pump = False
And now it actually does toggle the speed, will switch from Low to High by sending two pump commands – clever!
if state == States.FILTER_LOW_SPEED:
if not self._multi_speed_pump:
return False
# Send the FILTER key once.
# If the pump is in high speed, it will switch to low speed.
# If the pump is off the retry mechanism will send an additional
# FILTER key to switch into low speed.
# If the pump is in low speed then we pretend the pump is off;
# the retry mechanism will send an additional FILTER key
# to switch into high speed.
They say reading the documentation helps, but only if you actually understand the documentation! Funny, it seems shockingly clear now
Thanks.