BalBoa Wifi Connected Spas

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.

thank you
I planed to query it without library only to get the temperature. Maybe I will use your library.
It would be better if the library could work with Client base class with instance passed in begin()

Juraj:
It would be better if the library could work with Client base class with instance passed in begin()

The 'Client' base class is insufficient for this purpose. Spa discovery requires UDP broadcast, and those methods are not exposed in the Client base class.

After that a TCP client is needed to actually talk to the hot-tub. That probably could be a 'Client', but I'd need some motivation to make those kinds of changes. What problem is solved by passing a 'Client' object in?

there are many networking libraries