Balboa Hot Tub WiFi Module Integration

They now provide cloud support so you can use more then one device. They have a new app as well:

I have not used it yet as my hot tub is 100kms away and the other app works fine. I modified the spa to also give low temperature alerts using a sonoff th16 and the metal temp probe

This makes me happy i firewall’d my balboa controller from the internet to prevent it from doing a firmware update and breaking the units functionality with the script

Has anyone attempted to extract the code from a Balboa 50350-06 wifi module and install it on one of the older 50350 modules that disconnect all the time?? Everything I read states there was a code change only so the module would reset every hour. This would at least help those that have connection issue with older modules .

So I created a basic SmartApp for my Stil7 spa after reverse-engineering the new Android app and wanted to share it with anyone who wants to connect their BWA-enabled spa to SmartThings. You’ll need to have a cloud connection already and then use your credentials to login after integrating with the github repository and installing/publishing the SmartApp. I’ve only had my account to test, so not sure how viable it is to everyone else. The repository is below:

BWA Spa Manager Free SmartThings integration for BWA-enabled spas

Please feel free to enhance or offer feedback, bug reports, questions, etc.

1 Like

WOW… :innocent: Kudo’s for documenting the new auth.

I developed a SmartApp/DTH that connected to our Bullfrog™ A6l Balboa 20 WiFi Spa in the past, but the SmartApp broke when they implemented the CloudControl 2™ userid/pass security. I was hoping someone out there would reverse engineer the new CloudControl 2™ APP so we, home owners, could access the CloudControl 2™ API for Home Automation. You have made my day. Thank you!

Your BwaSpaManager SmartApp/DTH works perfectly for my Bullfrog™ A6l, although we do not have all the items your DTH displays. There are so many different tub/pump/light/heater configurations for all the spa’s out there. I will use your DTH template and slightly configure for my Bullfrog model, giving me back the remote temperature control and Alexa integration I had which saved power when we lowered/raised the spa’s rest/ready temperature when in use or not in use.

Our Balboa (Rev1) WiFi module is a PITA :rage: for maintaining a reliable local/internet connection. The WiFi unit was under designed for basic open network reconnection logic.

As a result of the network instability, I have a WebCore routine that pings the WiFi’s module static local IP address from a raspberry Pi and when it goes offline, WebCore cuts the WiFi’s power using a MIMOLite for a few seconds and let’s the WiFi module reconnect as it reboots. The WiFi module goes offline about ~16-20 times a day randomly every 30-45 minutes. I have read that the newer versions of the WiFi unit (Rev6) have some better internal logic to detect offline and self correct it.

Does your WiFi module stay connected and if so, do you know your rev #?

Glad it works! I don’t have all the options on my spa either, but figured it was easier to have them all available and then refine it in a future update. There are another two calls that I’m aware of that I haven’t implemented yet which seem to indicate which pumps/lights/extras are available for the particular spa in use: “DeviceConfiguration” and “SystemInformation”.

As far as my WiFi module goes, it has stayed connected basically all the time. I think there have only been two times it’s disconnected since I got it at the end of October last year. It’s the exact model that you linked to and the stickers on mine indicate it is 50350-06 V2.20.

I made some changes to the UI and icons. I think it looks better now. I also added the “Switch” capability and a preference for default temperature when turned on. Now if I say, “Alexa, turn on hot tub”, it will automatically set the temperature to 102 and turn on pump 1 for me. You may need to customize as you see fit for your own spa!

1 Like

this looks amazing. im not a developer, how to i get this app into my smartthings application?

NOTE: You must use the SmartThings Classic app as the new app does not support Device Handlers

Step 1 - Install Using GitHub Integration

  1. Login to the SmartThings IDE at
  2. Click on “My Locations” at the top of the page
  3. Click on the name of the location that you want to install to
  4. Click on the “My Device Handlers” tab
  5. Click “Settings”
  6. Click “Add new repository” and use the following parameters:
    – Owner: natekspencer
    – Name: BwaSpaManager
    – Branch: master
  7. Click Save

Step 2 - Install Device Handlers
Once the GitHub repository is connected to your IDE, utilize the integration to install the current device handler version into your workspace. In the IDE:

  1. Click “Update from Repo” and select the BwaSpaManager repository you just added
  2. Select “bwa-spa.groovy”
  3. Select “Publish” (bottom right of screen near the “Cancel” button)
  4. Click “Execute Update”
  5. Verify that the device shows up in the list and is marked with Status “Published”. You may need to refresh the page

Step 3 - Install SmartApp
Once you have the Device Handler added and published in your IDE, it is time to add the SmartApps

  1. Click on the “My SmartApps” tab
  2. Click “Update from Repo” and select the BwaSpaManager repository you added earlier
  3. Select “bwa-spa-manager.groovy”
  4. Select Publish (bottom right of screen near the “Cancel” button)
  5. Click “Execute Update”
  6. Verify that the SmartApp shows up in the list and is marked with Status “Published”. You may need to refresh the page

Step 4 - Add a SmartApp on mobile device
Follow these steps for the SmartApp on your mobile device:

  1. Open the SmartThings app and select your Location
  2. Open the “Marketplace” tab
  3. Open the “SmartApps” tab
  4. Scroll down and select “My Apps” (at the bottom of the list)
  5. Find and open the “BWA Spa Manager” SmartApp
  6. Click on “Cloud Authorization”
  7. Enter your “User ID” and “Password”, then click “Next”
  8. If successful, you should now see a response that you were logged in and to click “Next”. Otherwise, go back and try again
  9. Now, select your “Spas” and then click “Save”. You may also choose a different “Polling Interval” and “Assign a name” to the SmartApp

You should now be able to go to your home’s “Things” and find the spa device that was just created. By opening preferences on the device, you can rename your device and set a default “On” temperature if you desire

1 Like

Hi, Does this work with the new ControlMySpa app?

Thanks just trying to work out the best option before I go ahead and by my tub :slight_smile:

The ControlMySpa app and controller uses a different authentication and api altogether, so this smart app, unfortunately, will not work with those.

I thought that might be the case.

I will have to find a different system then probably but thanks for confirming :slight_smile:


just an FYI, if your spa has the CMS app, you should be able to swap out the controlmySpa module for a wifi module and use the BWA app instead.

thanks so much for sorting this out, you’re a god send. My automation for my holiday house has been broken a few months.

I’m trying to use the device in WebCORE as I used to use a rPi to communicate with it before and used webcore json calls. Using your device type I cant figure out how to set the ready/rest portion or temp low/high…

During the week when no one is there, I have a webcore piston run at 10am looking to see if solar is generating, if it is, I turn on the pumps for 15 minutes to move the water and set to Ready and 39degree Celsius. At 4pm, I have it go into low temp and rest mode so it doesn’t use power at night when no sun is generating solar

On a Friday, I have the spa set to Ready and 39degree high temp so its ready for when we get there.

Any idea how I can simulate the ready/rest and temp low/high through your device?

Many thanks in advance

I did manage to hack the following together temporarily

Hey @icepicknz, I actually had built out additional features for my own setup and never got around to committing it to the github repository. That includes being able to toggle aux, temperature range, and heat modes. I just published it now, so you should be able to update your device handler and then you can trigger the command “toggleHeatMode” and “toggleTemperatureRange” to do what you are looking for!

1 Like

This worked perfectly. Thank you for your contribution and clear instructions.

Thank You.

Glad it worked!

Is there away to hardwire the balboa to smart things hub? Looking at the wifi module it seems a bit pricey!

As far as I know, there isn’t.