Integration for a spa, question about available entities

I am currently writing an integration for a Balboa Spa. Right now I’m writing the backend API library, but obviously the HA integration will come next. With that, I have some odd devices. I’m not sure how to categorize these into existing entities:

  1. The spa heater. It’s not quite a “climate” device, as really, it only has one temp, a set-temp and a current temp. There is no range. So maybe it fits under a water heater? Sorta?

  2. The pumps are tri-state. OFF, LOW, HIGH. What would be the best entity to represent these?

  3. There is a blower, which can be OFF, LOW, MEDIUM, HIGH. (it’s an optional component to make bubbles, so not quite a fan, but sorta?)

I guess for the pumps and blowers I’m wondering if homeassistant has a “multi-state” or “selector switch” style entity? Something where I say “you can pick N arbitrary modes, here is a list of them to choose from” Or should I build the entity inside my integration? If so, is there an example of another integration that does this?

Thank you!

For which Balboa system are you building integration? BWA or ControlMySpa?
If you target to get it HA working with Balboa ControlMySpa I will be super interested. I already have the SPA but it will be not set up for some time but when it finally will be installed I will be happy to test out what you have.

I’m another owner of a spa with the “ControlMySpa” system from Balboa.

I would say i’m very underwhlemed by the app and system in general, but it would be 300% more useful if we could get an interface working with HA.
Unfortunately it’s all through their cloud, but even cloud control better than no control.

the existing google integration is also a joke.

To the OP, there is a very long and interesting thread on smartthings regarding the BWA / wifi controller for balboa, and it looks like recently a smartthings handler has been created. I haven’t played with it yet (I have the CMA system, but probably going to swap in the wifi module instead), but might be worth a read.

Hi OP,
wondering if you have made any process?
I got a balboa wifi module to swap out instead of the “ControlMySpa” system. I didn’t think an app could get worse than “ControlMySpa”, but the wifi app is even worse… lol…

but on the upside, with wifi, this control library works:

sort of. The switching is a little janky, and the temp is stuck in my system temp of metric, despite wanting to control in F, but otherwise, i have basic control from HA.
Also… this library seems to stop getting updates approx every 30 minutes. I have to issue a command to it (like turn on LED light) or some other similar command) which re-establishes the connection, and values are updated again. So probably going to either just set a command to occur every 30 minutes, or monitor the time attribute and compare for old time = issue a command.

But if we get an integration which works a bit better, that would be great, so really interested to hear where you are at / if you have anything working. I do have some coding experience, so willing to help where able.
I dont know of any other switch ih HA which is tri-state. perhaps a button with an update call after the press, which is basically what the existing system does.

1 Like

If you’re still looking for updates to this, I forked a branch of what the OP had and expanded on it. I have a pull request open on the python library, and another for the HACS custom component, but if you have HACS installed already, you can just add a custom repository to my repo and try it out:

There is Google Assistant / Alexa integration available for Controlmyspa so there should be an API somewhere in the CMS backbone. Has anyone found documentation about that? HA would really be the best way to control the spa.