Welcome to the balboa_GL_ML_spa_control wiki!
Best to use the new automatic RX/TX RS485 adapters rather than the older MAX485 RE/DE ones
As the controller board has multiple top panel connectors, we use our own. Do not try and use Y splitter
Technically we should NOT connect pins 2, 4 or 5 directly to the ESP, but it appears to be 5v tolerant. Previous use of a bi-directional level shifter causes too much of a delay, so was only suitable for read-only access
NOTE: do NOT use the RX/TX pins on the ESP to connect to the RS485 adapter
Install the "sensor" app from this repo. Note you will need to create wifi_secrets.h following the example content but with your own WiFi details
// *************************************************************************
#define SECRET_SSID "my-network"; /* Enter your SSID */
#define SECRET_PSK "my-wifi-passwords"; /* Enter your WPA2 passphrase */
// *************************************************************************
Watch the serial console to check the ESP boots correctly, look for the ip address the device has selected to use.
Then goto that address in the status page and see if any info about the spa status is shown, e.g temp, mode, status
Enter your MQTT connection detail into the code and deploy to the esp.
Define correct BROKER_ADDR also BROKER_USERNAME and BROKER_PASSWORD if your MQTT server uses authentication
You can use an app like MQTT Dash to confirm the messages from the spa.
Then go to Home Assistant, integration, MQTT then add device
See: https://github.com/netmindz/balboa_GL_ML_spa_control/discussions/3
Pin 5 goes low one port on the controller at a time, when it's time for that specific topside control panel to communicate. You can read data into a buffer, then process the message and send your reply.
The control unit will send out it's status three times - once for each port on the control board.
The top panel then replies with a FB message.
example: fa 14 33 35 30 43 00 10 69 00 00 00 80 02 ff ff 5f 00 00 00 00 00 c4 ... etc
{prefix:4}{temp:6}{tempUnit:2}{pump:1}{heater:1}{light?:1} ?? ?? ?? {status:2}
When the FA message is sent for the port of the top panel, it will reply with an FB message. This may contain commands
fb0603450e0000ff74
or
fb060343060000ffce
To toggle the light, it would send
fb0603450e0009f6f6
fb06034 (50e|306) {command:4}{checksum:4}
commands:
The control unit also sends this message 3 times - once for each port
ae0d000000000000000000000000002d
fb0603450e0000ff74
Assuming main panel on port1
FAFB,FA,FA,AEFB,AE,AE
There are 3 different types of ports of interest to us on the main control board
There are 3 ports, pin5 selects which is active on the shared RS485 bus at any given time
These are only 6 pin and can only be used for dedicated feature buttons. One of the pins is 9.7V but function of others unknown as no activity while idle and I have no buttons to test with
e.g https://www.hottubdiy.co.uk/ax10-al.html
This port connects to the ADCM Hub, which then allows for collecting an additional main top panel or the wireless adapter to use with the hand-held controller or software via adapter for a PC
https://www.manualsdir.com/manuals/582230/balboa-water-group-adcmhub.html
Welcome to the balboa_GL_ML_spa_control wiki!