I have created a library to connect to spas that have a Balboa control pack + the Balboa WiFi add-on.
If you can use the ‘Balboa Worldwide App’ (bwa) to connect to your hot-tub, then this library should be able to as well.
Since I only have the one hot-tub here, I have necessarily only tested this code with my setup. However, there is only one WiFi add-on, so I have some confidence this will work with systems that use different control panels or control packs.
The code is located here:
GitHub - MHotchin/BalBoaSpa: Arduino comms library for Balboa Spas,
or in the Library Manager under ‘balboaspa’.
I have run this code on Uno, Mega 2560, Wemos D1 R1 (esp8266 based) and Wemos D1 R32 (esp32 based) boards.
The code’s general structure is that it provides ‘change notifications’. It tracks the current state of the hot-tub, and when something changes (temp, time whatever), the caller gets a notification, and can then process that data as needed. Right now there are 12 different types of notifications, so the caller can focus easily on what has changed.
The polling interval is user settable (defaults to 1 minute). Unless the polling interval is zero (continuous monitoring), the code will shut-down the network connection between checks, and re-establish it once the polling interval expires.