Hello
Inspired by several post and Github projects I am trying to achieve my Poolex pool heatpump control via an ESP 32. Even if i am quitye a noob in serial communication i wanted to try to go as deep as i can in this topic ![]()
The hardware :
Heatpump controler
The UART parser/ESP32 setup
As you may notice in the picture, the Heatpump is comunicating with the remote controller thru 2 wires : Green & Yellow
I did connect a MAX485 module to sniff frames
Serial analysis
Thanks to glcem UART parser, i was able to analyse the frame structure, the conclusion is that my frames are 80 octets long, good start ![]()
I also did use Saleae Logic2 serial anaylser to extract frames and perform the analysis with excel
Even if it may look like MODUS communication protocol, it is not
Seems to be a traditionnal serial communication at 9600 baud, 8N1
Here is a look of green wire signal frames
The strange thing for me is about the yellow one, it’s coming with many many frames errors, i decided to ignore it for now
Frames structure
As we can see in the Logic extract, frames are starting with 0xD2, 30ms after 0xCC is coming and then 300ms after 0xDD is poping up
After many many extracts and excel analysis i was able to retreive some interesting informations :
- The 10 first octets of 0xD2 and 0xCC begining frames are ALWAYS the same :
| Octet1 | Octet2 | Octet3 | Octet4 | Octet5 | Octet6 | Octet7 | Octet8 | Octet9 | Octet10 | Octet11 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0xD2 | 0x5B | 0x00 | 0x01 | 0x01 | 0x2D | 0x08 | 0x23 | 0x1E | 0x34 | 0x05 |
| Octet1 | Octet2 | Octet3 | Octet4 | Octet5 | Octet6 | Octet7 | Octet8 | Octet9 | Octet10 | Octet11 |
| 0xCC | 0x5B | 0x00 | 0x01 | 0x01 | 0x2D | 0x08 | 0x23 | 0x1E | 0x34 | 0x05 |
-
Octet 12 is coding the target temperature in °C
-
Pressing a button on the headpump remote control make 0xCC begining frames swith to 0xCD with the same 10 first octets :
Octet1 Octet2 Octet3 Octet4 Octet5 Octet6 Octet7 Octet8 Octet9 Octet10 Octet11 0xCD 0x5B 0x00 0x01 0x01 0x2D 0x08 0x23 0x1E 0x34 0x05
I am quite happy but a little bit stuck at this point ![]()
How can i pursue the analysis ?
How can i test to send a serial sequence with the ESP32 to have a look and see if the heatpump is changing set temperature ?
Thanks for any advice and help ![]()





