Hayward AquaLogic / ProLogic automation

I just tried this today, and man it’s great to have pulled in that info so easily. Great job @swilson!!! Eagerly waiting for the heater stuff. One question - what is the expected behavior with a two speed pump?

Thanks again!

First, @swilson thanks so much for working through this! @raerae1616 your earlier post and GIT at https://github.com/cajuncoding/HomeAssistant/wiki/Hayward-Aqualogic-Pool-Controller-Automation-with-Home-Assistant was exactly what I needed to get everything working great! I am using the same USR-TPT232-304 on my Hayward Aqualogic board.

Question: whenever I lose power or reboot the USR-TPT232-304 it no longer receives any commands from Home Assistant (HA) unless I reboot HA and then it all works fine again. Any idea why this is? Seems like as long as HA is up and running when the USR comes back online it should re-establish the connections. Why does HA have to be rebooted to complete the handshake?

1 Like

If you have HA 21.4 or later it has a new aqualogic library that should auto-reconnect.

1 Like

If you have a 2-speed pump there will be 2 switches, one for pump on/off and another for low/high speed.

1 Like

These work fine on my unit. Perhaps the text being sent by your control is different so the parser isn’t picking it up?

Got it - yup - working fine.

Thanks

WOW what a nice integration, thanks @swilson !

I just started my pool last week and installed the USR-TPT232-304 today and I have everything working so far. Thank you very much swilson for all that hard work!

Is there any update on adding the Heater1 control temp?
Thanks

@swilson thanks for your reply. I captured below the data flow from my unit. Any idea?
I can only read the salt level and the overall status

Thanks again

00000000 10 02 01 01 00 14 10 03 10 02 01 01 00 14 10 03 |…|
*
00000020 10 02 01 01 00 14 10 03 10 02 01 02 20 00 00 35 |… …5|
00000030 10 03 10 02 01 03 20 20 2b 20 30 2e 30 30 56 20 |… + 0.00V |
00000040 20 20 2b 30 2e 30 30 41 20 20 20 20 20 31 38 df | +0.00A 18.|
00000050 43 20 20 20 30 2e 30 20 67 2f 4c 20 20 20 00 00 |C 0.0 g/L …|
00000060 07 ba 10 03 10 02 01 01 00 14 10 03 10 02 01 01 |…|
00000070 00 14 10 03 10 02 01 01 00 14 10 03 10 02 01 01 |…|
*
000000b0 00 14 10 03 00 e0 18 00 e6 00 18 1e e0 1e 10 02 |…|
000000c0 0d 01 00 00 00 20 10 03 10 02 00 0d 00 30 07 10 |… …0…|
000000d0 00 07 00 00 6d 10 03 10 02 01 01 00 14 10 03 10 |…m…|
000000e0 02 01 01 00 14 10 03 10 02 01 01 00 14 10 03 10 |…|
*
00000120 02 01 01 00 14 10 03 10 02 01 02 20 00 00 35 10 |… …5.|
00000130 03 10 02 01 03 20 20 2b 20 30 2e 30 30 56 20 20 |… + 0.00V |
00000140 20 2b 30 2e 30 30 41 20 20 20 20 20 31 38 df 43 | +0.00A 18.C|
00000150 20 20 20 30 2e 30 20 67 2f 4c 20 20 20 00 00 07 | 0.0 g/L …|
00000160 ba 10 03 10 02 01 01 00 14 10 03 10 02 01 01 00 |…|
00000170 14 10 03 10 02 01 01 00 14 10 03 10 02 01 01 00 |…|
*
000001b0 14 10 03 00 e0 18 00 e6 00 18 1e e0 1e 10 02 0d |…|
000001c0 01 00 00 00 20 10 03 10 02 00 0d 00 30 07 10 00 |… …0…|
000001d0 07 00 00 6d 10 03 10 02 01 01 00 14 10 03 10 02 |…m…|
000001e0 01 01 00 14 10 03 10 02 01 01 00 14 10 03 10 02 |…|
*
00000220 01 01 00 14 10 03 10 02 01 02 20 00 00 35 10 03 |… …5…|
00000230 10 02 01 03 20 20 20 20 20 53 61 6c 74 20 4c 65 |… Salt Le|
00000240 76 65 6c 20 20 20 20 20 20 20 20 20 20 20 33 2e |vel 3.|
00000250 30 20 67 2f 4c 20 20 20 20 20 20 20 00 00 08 35 |0 g/L …5|
00000260 10 03 10 02 01 01 00 14 10 03 10 02 01 01 00 14 |…|

Looking at the core.py file, I realise that my Aqualogic unit does not send the whole enchilada. I’m missing some keywords obviously. Will need to investigate further…

Looks like the data from the chlorinator diagnostic screen. Normally the unit should cycle the display through the settings (which is how core.py picks it up): https://photos.app.goo.gl/XtgKP6FB5gAjvnjm9

As mentioned above, the HA gatekeepers won’t allow any configuration additions to an integration until it is re-written to conform to the new config flow paradigm. I doubt I’ll have time for this any time soon.

I think I got the downgraded version! Mine got installed couple months ago and I don’t seem to get all the bells and whistles https://photos.app.goo.gl/PXKSpngsTuFWuv1b6. I’ll need to tune the core.py file to match the data flow I’m getting from my unit. Question, will HA pick up my instance of core.py if I have a local version of the file? I understand I can have an aqualogic directory at the same level as the configuration.yaml file. Or should it be located under customer_components? Thanks again for your support!

Note the AquaLogic/ProLogic is an automation system + chlorinator, while the AquaRite is just a chlorinator. Not sure anyone has tried this code with an AquaRite (though it obviously seems to have some similarities under the hood).

Simplest way to modify a library is to alter the source in lib/python3.x/site-packages. Not sure how well that survives HA upgrades though.

Ah, I was on core-2021.3.4. I’ll update to core-2021.5.1 today and check it out, thanks!

@maadhader, did you get yours to work with wifi?
I have the same setup. I can view states, but any switch change toggles back without change. The ew11 device status shows it sent data on the serial bus each time I click on a button, but no change. I’m monitoring the device via a test client and all the ascii frames make sense and pass crc, but I’m getting other repeating frames that don’t make sense. I’m not sure if it’s normal. I’ll post what I’m getting from my pc. Perhaps it’s exchanges with my variable speed pump which is on the bus too.

First column is the count over the period of time I monitored the device. The second column is CMD for those that follow the Hayward PDF, ASCII are those which send display updates and the UNKNOWN are those full frames I don’t understand.
I left out repeating ASCII instances of the time.

      5    CMD: 01 01
      1    CMD: 01 02 08 00 00 00 00 00 00 00
      1 ASCII:
      3 ASCII:        Monday               805P
    231 ASCII:      Gas Heater          Manual Off
    232 ASCII:      Salt Level           3400 PPM
    232 ASCII:     Filter Speed            Off
     55 ASCII:   Air Temp   86_F
    174 ASCII:   Air Temp   87_F
     11 ASCII:   Air Temp   88_F
     52 ASCII: 0120
     52 ASCII: 1}
    340 UNKNOWN_FRAME_1: 0x00 E0 00 E6 18 1E E0 01 02 01 01 00 14 10 03
    435 UNKNOWN_FRAME_2: 0x00 E0 00 E6 18 1E E0

@theixl We did get ours to work however we too are exhibiting the same behavior as yours on both WiFi and the original device. If you continue to toggle the state it will eventually go through which is somewhat unstable. We haven’t been able to further troubleshoot. We are basically running an automation where it sends the command continuous until it executes. I think I read somewhere that the communication gets dropped and it needs repeated attempts for it to go through possibly a buffer issue. Someone else can speak further on that issue. I’m not sure if there’s anything further that can be done.

Wow! Just noticed ‘sensor.aqualogic_pool_chlorinator’ is now exposed to HA and shows the Chlorinator % setting.

Is this value read only, or can HA be used to send a value and change the ‘sensor.aqualogic_pool_chlorinator’ value?

1 Like

The only way to modify values like chlorinator would be to programatically send key events to navigate through the menus. Non-trivial and not currently supported.

Was this system stable? Good ability to control pool settings? I am using an off the shelf wifi and it is very unstable looking to make some hardware changes.