M-Spa spabath custom remote control using ESPHome

I made a custom spabath controller for my M-Spa (Premium Camaro P-CA069) spabath based on the blog post I found here: DIY Smart Home: Upgrade für MSPA Hot Tub (ESP32)

Prerequisites:
You need to be familiar in how to add, configure and update an ESP32 controller using the ESPHome integration in Home Assistant to use this.
You also need to get some hardware and do some soldering to connect the the ESP32 controller to the bath main unit.
I could be persuaded to provide some pictures if there is enough interest.

I used the article as a base and adapted the base code for my bath.
Also note that my bath is a bit old, and have some issues - like randomly just stopping due to “low water flow” (always false positives). So I wanted a way to remotely restart it should it just stop, especially during the winter.
I have also had issues where the main unit simply stop reporting temperature. I have added some error handling for this in that it will turn off the bath if that happens (no temp reported in 5 minutes), but its not very well tested. The only way I currently know to restore the temp reporting from the main unit is to unplug it from power for a couple of seconds. Perhaps I will add an external power plug to be able to power cycle it remotely as well.

There are some basic DIY hardware modification required as you will need to replace the original remote with the ESP32, otherwise their commands sent to the bath will just conflict with eachother. So the warranty will likely be void, but if you get a male JST XH 2.54mm 4 pin connector, you should be able to simply disassemble the remote (6 screws) and disconnect it and still keep the warranty without cutting any cables.
Also, depending on bath model, you might need to add a 5-3.3V level shifter as older baths (like mine) use 5V logic, and that can fry the logic pins of the ESP32. There are examples of level shifters you can get in the readme file in the repo.

Anways, please check the repository below for the ESPHome yaml integration file. The readme includes all required hardware listed as well.

Please be aware as its impossible for me to provide any support or insights for other spabaths then the M-Spa Super Camaro P-CA069 as that is the only spabath I have.

The source code can be improved, especially the error handling is a bit wonky, but the unit will stop itself and send a different code if there is an error, so you should be able to add a notification on the filter switch being changed from on to off, or if the reset switch is flipped.

The source code:

Wow, great work, thanks for sharing. I will look into this on my MSPA Camaro. I know others have replaced the remote with relays to control the heater and stuff, but this seems to be much better. Ideally the remote should still work at the same time, but as you mention, this may be conflicting everything and can be solved by a simple zigbee button to control the bubbles.

Even if I have removed the Circuit Breaker on my mspa (it is connectet directly to an outlet with ground now) the MSPA does not start heater or circulation after a power outage, this has been a frustration. It does not happen often, but always on a bad time. Also good to be able to preheat the spa and save energy when away.

does this solution work the same as this one?

What remote control is your program good for?