After a little more trial and error, I re-visited the blog that this HA component was originally based on:
Don’t mind my crazy debugging code here, but it seems that this packet format worked perfectly for turning on and off my lights. I’ll need to require a custom version of the aqualogic dependency to support my device’s codes (since they differ from the ones implemented by Sean) in HASS. I’m using a PS-4 with the “Remote Display” pinouts as I previously posted.
Managed to crunch through these if you’re using the remote display port on a PS-4, still working on Pool/Spa buttons:
Filter: 0x10, 0x02, 0x00, 0x83, 0x01, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x96, 0x10, 0x03
Lights: 0x10, 0x02, 0x00, 0x83, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x98, 0x10, 0x03
Aux 1: 0x10, 0x02, 0x00, 0x83, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x9A, 0x10, 0x03
Aux 2: 0x10, 0x02, 0x00, 0x83, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x10, 0x03
Valve 3: 0x10, 0x02, 0x00, 0x83, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x98, 0x10, 0x03
Heater: 0x10, 0x02, 0x00, 0x83, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x9E, 0x10, 0x03
Pool/Spa/Spillover: 0x10, 0x02, 0x00, 0x83, 0x01, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x16, 0x10, 0x03
If someone could help me understand the checksum for the Filter code that would be awesome! I’m trying to figure that out since the Pool/Spa/Spillover button will use a similar calculation method for the 1-byte code. The others are linear and easy to follow, but I’m not following why we have: 01 96, when the sum should be 256 for the filter.
After further review, Sean’s checksum calculation was correct, it was just a matter of changing the keys.py to be 4 bytes to support the “wireless” protocol. Is there an easy way to force the HA integration to use the wireless protocol?
As an example, these were my modifications for testing:
POOL_SPA = 0x40000000
FILTER = 0x80000000