GitHunt
WI

willsp/New_bestway_spa

Setup new bestway / saluspa / coleman / whatever connected inflatable spas with this home assistant custom integration.

Bestway Smart Spa (Custom Component)

This Home Assistant integration allows you to control your Bestway SmartHub-enabled spa via the Bestway cloud API.


Installation

  1. Copy the new_bestway_spa/ folder into custom_components/ in your Home Assistant configuration directory.
  2. Restart Home Assistant.
  3. Go to Settings > Devices & Services and click Add Integration.
  4. Search for Bestway Spa and click Add Entry.
  5. Generate a share code in the Bestway Connect app on your phone.
  • Open device in the app
  • Hit the three dots on the top right
  • Share the device
  • It's a QR code, use an appropriate app to translate it into text
  1. Get the region your profile is setup in from the Bestway Connect app.
  • Go back to the device list
  • Tap on your photo

API Notes

  • filter_state returns 2 when active, 0 when off — the integration handles this automatically.
  • select gives the possibility to choose the bubble/wave mode OFF/L1/L2 (not available from the official app)
  • To turn on any feature, the integration sends 1. To turn off, it sends 0.
  • All values are polled from /api/device/thing_shadow/

Features

  • Toggle spa power, filter, heater, and wave jets
  • Adjust water target temperature
  • View current water temperature
  • Monitor connection status, warnings, and error codes

Example Lovelace Card

image

type: vertical-stack
cards:
  - type: thermostat
    entity: climate.spa_thermostat
    name: Chauffage Spa
  - type: horizontal-stack
    cards:
      - type: button
        name: Chauffage ON
        icon: mdi:fire
        tap_action:
          action: call-service
          service: climate.set_hvac_mode
          target:
            entity_id: climate.spa_thermostat
          data:
            hvac_mode: heat
      - type: button
        name: Chauffage OFF
        icon: mdi:power
        tap_action:
          action: call-service
          service: climate.set_hvac_mode
          target:
            entity_id: climate.spa_thermostat
          data:
            hvac_mode: "off"
  - type: history-graph
    title: Historique Température Spa
    hours_to_show: 24
    refresh_interval: 60
    entities:
      - entity: sensor.spa_water_temperature
  - type: entities
    title: Commandes Spa
    show_header_toggle: false
    entities:
      - entity: switch.spa_spa_power
        name: Alimentation Spa
        icon: mdi:power
      - entity: switch.spa_filter
        name: Filtration
        icon: mdi:air-filter
      - entity: select.spa_bulles
        name: Bulles
        icon: mdi:chart-bubble

Disclaimer

This is a community-made integration. It is not affiliated with or endorsed by Bestway.
Use at your own risk — the code interacts with a private API which may change.

Languages

Python100.0%

Contributors

MIT License
Created January 2, 2026
Updated February 3, 2026