cribskip / esp8266_spa

Control for a Balboa BP2100G0 spa controller using the esp8266
47 stars 20 forks source link

Defective RS485 Module #29

Closed cribskip closed 2 years ago

cribskip commented 2 years ago

So, after using the same RS485 module for over 2 years now, it gave up on me.

I'm using something like this, so the simplest possible interface: image

Artefact has been, the communication to the SPA was impossible.

I've enabled character-level tracing and got something like this to my surprise:

Spa/node/msg 7e 30 66 00 00 b0 00 eb 00 7f 10 8f ff 00 00 80 00 fe 18 64 ff 3f 00 ec 00 18 11 ff 3f 00 00 ff 00 1f fc 
Spa/node/msg 7e 18 66 00 00 40 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 00 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 00 00 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 00 00 00 ff 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 00 00 00 ff 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 00 00 00 ff 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 00 00 00 ff 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 00 00 00 ff 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 00 00 00 ff 00 
Spa/node/msg 7e 18 66 00 00 40 fe 00 18 11 ff 00 00 ec ff 00 1d fc 8b ff 00 00 a8 00 fe 18 fd 8b ff 00 00 00 ff 00 7e 

Matching with the great docs over at https://github.com/ccutrer/balboa_worldwide_app/blob/main/doc/protocol.md this did not make any sense.

I powered off the SPA over night because of fear of having water in there which may have caused corrosion.

Today, I've dismanteled the SPA and checked everything. Dry as it should be.

The RS485 did not light its power LED so I've checked power supply. Fine but the module showed increased power consumption.

Another module at hand, I've swapped it out and all went good again.

cribskip commented 2 years ago

Just to let anybody know if seeing corrupt messages. Also, along the way, I've seen the program does not check CRCs, so there's room for improvment :-)