I have since moved homes but I had reliable success with the USR-TCP232-304 serial interface. Not sure if that’s an option for you to go hard wired?
Erased: see my final comments below
see below please
Well I tried almost every idea mentioned in these last 400+ post.
Using the Elfin11 which btw works great with my google download on my android by Mark from troublefreepool.
For fun tried to put in HA and have all the sensors but none of the switches working.
This in not a very active forum as it relates to Aqualogic so at this point since no replies to my posts I will give the project a rest and settle with the ability to monitor only.
@william13 - Yup. I’m where you are now with the same scenario. My guess, is that the total round trip of the wireless system is too long to get a message squeezed into the 40ms window after the keep-alive packet (even with a gap of 1ms). Not sure what the android version is doing, but obviously something smarter!
Saw this. Perhaps will work if we directly wire to.
Adin, I know I’m replying to an old thread, but I’ve read this entire thing, and your post seems to be exactly what I was hoping to do: use the Aqua Connect interface with HA! I’ve seen your code on GitHub, but I’m unsure what to do with it. Copy/paste into config.yaml ? Can you provide any more details? Is this still working well for you?
For those of you who are interested, I now have apps on three platforms (Android, iOS, Windows) plus HA working with the EW11. You can read about here:
I have this working well now with a wireless EW11. Keypresses are about 90-95%. I’m able to do anything in the menu with just an occasional missed key press.
The key was using Mark’s EW11 script from his mobile app version. This handles the keep_alive timing locally, so no network latency to worry about. Thanks Mark!
Here’s my forked version.
See the readme for information.
My issue was solved by Mark. See his post above.
I now have E11 wireless connection to Aqualogic control board and can control by iPhone, Android pad, and by my PC home assistant.
Amazing.
I have a P8
Still no luck getting switches to respond in HA.They report status OK. iOS app working fine.
I’m curious to hear about what the trick is here! I have a USR-TCP232-304 and I’m able to see and control my AquaLogic PL-4 (AQL-PL-4), but I can’t get reliable button press or emulate the screen on Home Assistant. This is crucial for me as my local display has been failing. Should I switch to an E11? Technically both uses RS485, so I’m curious why the python code wouldn’t work for my USR-TCP232-304.
Thank you!
The issue is key timing. The keys have to be sent right after the keep alive is sent. However, if there is too much latency in the software and the IP connection, it is unreliable. I found that to get any reasonable reliability, the key presses need to be sent directly from the RS485 device that is directly connected to the AquaLogic board. This eliminates nearly all of the latency.
The EW11 is perfect for that because it has a built in server that can run scripts (key press buffered until KA is received, then sent) but other devices may also work.
That make sense for the key press. What about replicating the LCD, the info is passed through the RS485 protocol independently of the device used to communicate to it right? I’m assuming it just wasn’t done for the USR-TCP232-304. If it should be getting it out-of-the-box, I’m curious on the configuration to use to show it. Seems like @J4yDubs is having a pretty awesome dashboard.
@J4yDubs would you mind sharing more on how that dashboard is configured?
Thanks!
If the USR-TCP232-304 has scripting, you might be able to do what Mark is doing for the EW11. He’s basically just intercepting the frame and then holding it until he sees a keepalive and then sending it. That’s the key to getting the keypresses to work most of the time. I don’t know if the USR-TCP232-304 has scripting though.
I added the code for display and buttons (menu, up, down, plus, minus, service). They all show up as entities in HA so you can just add them to a dashboard. I’m able to do everything that I can do from the real control panel with just an occasional key press miss. It doesn’t look like I can attach video, but I did record a quick one walking through and changing some settings. I added it to my repository on github. “HA Dashboard Video.mp4”
If you want to try it with your USR-TCP232-304, you could try using my fork and then uncomment out the keepalive and retry code in core.py. Look for comments “Disabled retries” and “Script on EW11 (thanks markinpt) handles this” and just uncomment out the code that I commented.
If I find some time I might try to make it a config option, so code changes aren’t needed, but I’m not sure when I’ll be able to get to that.
My dashboard YAML:
views:
- title: Pool
path: pool
type: sections
max_columns: 1
sections:
- type: grid
cards:
- graph: line
type: sensor
detail: 1
entity: sensor.aqualogic_pool_temperature
name: Water Temp
icon: mdi:pool-thermometer
- type: tile
entity: sensor.aqualogic_salt_level
name: Salt Level
icon: mdi:shaker-outline
- type: tile
entity: sensor.aqualogic_pool_chlorinator
name: Chlorinator
icon: ''
- type: tile
entity: switch.aqualogic_super_chlorinate
name: Super Chlorinate
icon: mdi:chemical-weapon
- type: tile
entity: sensor.aqualogic_super_chlorination_countdown
name: Super Chlorinate Time
- type: grid
cards:
- type: tile
entity: switch.aqualogic_filter
name: Filter
icon: mdi:air-filter
- type: tile
entity: switch.aqualogic_aux_1
name: Vacuum
icon: mdi:vacuum-outline
- type: tile
entity: switch.aqualogic_lights
name: Lights
icon: mdi:lightbulb-spot
- type: tile
entity: switch.aqualogic_service
vertical: false
name: Service
icon: mdi:account-wrench-outline
- type: grid
cards:
- type: entity
icon: mdi:alarm-panel-outline
entity: sensor.aqualogic_display
state_color: false
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.aqualogic_plus
name: +
show_state: false
icon: mdi:plus-circle-outline
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.aqualogic_left
name: <
icon: mdi:arrow-left-circle-outline
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.aqualogic_menu
icon: mdi:menu
name: Menu
show_state: false
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.aqualogic_right
name: '>'
icon: mdi:arrow-right-circle-outline
- show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.aqualogic_minus
name: '-'
icon: mdi:minus-circle-outline
cards: []
title: Mobile
John
Let me see if I understood this correctly. markinpt’s solution with the EW11 uses scripting to ensure the proper timing for the keypress. However, I should be able to get the display information, use the buttons, etc. just without the ability to ensure it’s consistency due to the delay.
EW11 seems pretty cheap so I decided to order one to see , I’ll still try to get the display to show up with my USR-TCP232-304!
Thanks!
That’s correct. Mark’s script is just for the key presses. In my code I just commented out the parts that the script now handles, so if you uncomment them it should work with the USR-TCP232-304 (but with the network latency) and you should have the display and buttons available.
If you get the EW11, you can also use Mark’s mobile app. It has the display and buttons also and might be a better mobile interface depending on your HA dashboard design.
Thank you
Looking at my current setup, I believe I am using the out-of-the-box Hayward AquaLogic integration, with my configuration.yaml looking like this
# Pool - AquaLogic
- platform: aqualogic
monitored_conditions:
- air_temp
- pool_temp
- pool_chlorinator
- salt_level
- pump_speed
- pump_power
- status
# Pool - AquaLogic
aqualogic:
host: 192.168.2.56
port: 4328
switch:
# Pool - AquaLogic
- platform: aqualogic
monitored_conditions:
- lights
- filter
In order to use the code from your repo, I would need to create an /aqualogic folder in config/custom_components/ right? Then add the files from yout /aqualogic folder on your repo? Something like :
config/
custom_components/
aqualogic/
__init__.py
cli.py
core.py
keys.py
sensor.py
states.py
switch.py
web.html
web.py
Thanks
Correct. There does seem to be some differences on where you put the aqualogic folder depending on your HA install mentioned on this thread, but all I needed to do was create /config/custom_components/aqualogic/ and put the files in there.
Your configuration.yaml should still be OK. I split them out into seperate files, but you don’t need to do that. If you look in the yaml directory on my repo you’ll see all the options for switches and sensors. Just add the ones you want to your configuration.yaml.
Thank you so much for the help!
I am now able to see the aqualogic screen on my dashboard! Amazing! What’s interesting is that last year, using the default code, triggering the light or pool pump worked relatively well. Now, not so much, in fact, I think 1 in 50 press works, maybe even less. I guess that’s what we are talking about when it comes to latency? The display data is updated consistently, but button press aren’t really functional. I guess my only option is to wait for my EW11 to arrive ?