Anyone had luck getting Coleman (BestWay)spa with WiFi working with Hubitat

I have a C7 that works great. Wondering if anyone has had any luck getting the Coleman spa with WiFi operating inside of the Hubitat Environment

What kind of integration options with outside systems does it offer?

I'd like to implement that as well. The Spa has a ios/andriod app, so it can communicate with the outside world.

There is a github project (/cdpuk/ha-bestway) that allows HA integration with Bestway hot tub controllers. Is there anyone prepared to port that over to Hubitat?

Mark, The Bestway/Coleman spa pump/heater unit has wifi that communicates with an android/IOS app via a Cloud account. Someone has written an HA app that communicates with the cloud, and I am hoping there is someone out there that is interested in porting it across to Hubitat. I can help with testing etc, but I'm afraid I am not familiar with either Python or Groovy... Lawrence

I would be happy to test as well...Completely unskilled in the coding world unfortunately.

It does sound like it could be possible, if thereโ€™s a cloud API that someone figured out how to access for a home assistant integration.

So, here's what I know so far:

  1. LOGIN
    Send a POST command to https://usapi.gizwits.com/app/login
    with the following included in the header :
    X-Gizwits-Application-Id = 98754e684ec045528b073876c34c7348
    and the following JSON payload in the body:
    {
    "username": "xxx@yyy.zzz", (the email address used when registering on the Bestway app)
    "password": "*******", (the app password)
    "lang": "en"
    }

You should receive back the following information:
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"uid": "yyyyyyyyyyyyyyyyyyyyyyyyyyyy",
"expire_at": 1751294553

  1. GET BINDINGS INFO:
    Send a GET command to https://usapi.gizwits.com/app/bindings?limit=20&skip=0
    with the following included in the header :
    X-Gizwits-Application-Id = 98754e684ec045528b073876c34c7348
    X-Gizwits-User-token= *the token received in the login step1

You should get back a few lines of information about your hot tub. Note the "did" value for the next step.

  1. GET DEVICE INFO
    Send a GET command to https://usapi.gizwits.com/app/devdata/*did*/latest
    with the following included in the header :
    X-Gizwits-Application-Id = 98754e684ec045528b073876c34c7348

You should get back a list of all the current settings and attributes from the hot tub.

I am not sure what they all are, but here are some important ones:
"power" - 0 for off, 1 for on
"Tnow" - the current water temperature in whichever unit the spa is reporting (see next attr)
"Tunit" - Temperature units, 0 for F, 1 for C
"heat" - Heater : 0 for off, 3 for on
"filter" - Pump : 0 for off, 2 for on
"wave" - Bubbles : 0 for off, 52 for low, 100 for high

  1. CONTROL

To control the hot tub, you can now send commands to the API:
Send a POST command to https://usapi.gizwits.com/app/control/*did*
with the following included in the header :
X-Gizwits-Application-Id = 98754e684ec045528b073876c34c7348
and the following JSON payload in the body:
{
"attrs": {
"*attr": value
}
}

For instance, the following body will turn the spa heater ON:
{
"attrs": {
"heat": 1
}
}

There does not seem to be feedback from the API for a successful command, but running the Device Info GET command will show the updated values. Also, you will see the setting change in the app when you send a valid command.

I'm not sure how often the Login and bindings commands need to be run.

Hope this helps and inspires one of the Community to assist with some groovy scripting!!!

Best wishes for the new year......

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.