Skip to content

arska/controlmyspa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

57958cf · Jan 14, 2025
Nov 12, 2024
Dec 13, 2023
Sep 25, 2021
Sep 25, 2021
Dec 16, 2023
Sep 25, 2021
Nov 12, 2024
Dec 22, 2021
Jun 8, 2024
Jun 8, 2024
Sep 25, 2021
Sep 25, 2021
Jan 14, 2025
Sep 25, 2021
Jun 8, 2024
Nov 12, 2024

Repository files navigation

Balboa ControlMySpa™ cloud API for hot tub spa systems

Tests codecov PyPI version

Python API for ControlMySpa.com cloud-controlled of Balboa spa control systems for hot tubs.

2023-12-13: iot.controlmyspa.com missing intermediate certificate

Since approximately June 2023 iot.controlmyspa.com has a new TLS certificate. This certificate is signed by digicert, but the intermediate certificate chain is not served by iot.controlmyspa.com and is also missing in the python certifi trust store. Instead of disabling the TLS certificate validation, we download the intermediate certificate from digicert over a successfully verified TLS connection and add it to the local trust store on first run. This does, however, not work for read-only runtimes like Docker containers. See https://github.com/arska/controlmyspa-porssari/blob/main/Dockerfile and https://github.com/arska/controlmyspa-porssari/blob/main/get_certificate.py for an example how to download the certificate at Docker image build time instead.

Usage

see example.py for a runnable example

from controlmyspa import ControlMySpa

API = ControlMySpa("user@example.com", "myverysecretpassword")
pprint.pprint(API._info)

References

Based on the JavaScript library https://gitlab.com/VVlasy/controlmyspajs