Increasing the response time has been a big part of this update. The respons of input to output is now 1/3 of the time, close to direct respons. This has been important to be able to set/adjust the times under Time menu.
Added a interface display script, for home-assistant. This holds the same information as the SPA display but in a small and compact information display in Home-assistant. Copy (displayCode-HA.V1.0.txt) and paste the code in to the home assistant card code editor. Requires HACS installed and this extra cards
- horizontal-stack card
- Vertical-stack card
- card-mod
- Lovelace button-card
Update includes
- All the binary code for SPA display buttons are now identified and added.
- Faster respons time. (500 ms).
- Most of the BITS are now identified.
- Small interface display for home assistant, Changing icons and colour change depending on temperature and menu.
Features still being worked on.
- Hvac for fast setting temperature request.
- LED selector. (still working & testing this)
- Mode selector.
Known problems
- Set temp MQTT messages, seems to lose information sometimes, only showing part of the temp in home assistant.
Working project in it´s end of alpha face.
- fix set temperature interference that occurred after a couple of hours.
- fix water temperature interference.
Working project in it´s end of alpha face.
-
Possible to change temp, control pumps and lights.
-
Detect filters curculation, heater, standard mode and eco mode.
-
Defined different button for up/down with temp up/down.
-
Over The Air update now working http://unitsIPadress/update
Identifing bits are still ongoing. List of definition you will find in the Balboa_GS_Interface.h file
This is built on the the great work by MagnusPer project with GS510SZ and Shuraxxx, GS523DZ.
Could possibly work with the GS523DZ models as well, as its the same display, I have no ability to try this.
PIN | Description |
---|---|
PIN 1 | Functionality unclear! |
PIN 2 | Functionality unclear! |
PIN 3 | Button data |
PIN 4 | GND |
PIN 5 | Display data |
PIN 6 | Clock |
PIN 7 | 5 VDC |
PIN 8 | Floating output |
##PIN 6 (Yellow - clock), PIN 3 (Red - button data), PIN 5 (Green - display data)
- The clock is pulsing 7 times for each chunck of display data, totaly 71 bits and 4 times for button data. A complete cycle 75 pulses.
- Totaly of 6 display data chunks in each cycle
- Each cycle is repeted every 10 ms
- One total cycle duration 3.54 ms
- Bit duration for display data is 23.75 microseconds for display data
- Bit duration for button data is 71.5 microseconds
Display shows 29.5C - How does that translates into the bitstream? The first 4 chunks is coded in BCD to 7 segment LCD (see reference) but only with 7 bits sinse the LSB always is (0).
2 = 1101101(0) = (Chunk 4)
9 = 1110011(0) = (Chunk 3)
5 = 1011011(0) = (Chunk 2)
C = 1001110(0) = (Chunk 1)
Chunk 4 - bit(0-7) | Chunk 3 - bit(7-14) | Chunk 2 - bit(14-21) | Chunk 1 - bit(21-28) | Chunk 5 - bit(29-71) |
---|---|---|---|---|
LCD segment 1 | LCD segment 2 | LCD Segment 3 | LCD segment 4 | 29 - Button down/up |
59 - Standard mode | ||||
This uses the same PCB developed by MagnusPer work on gs510SZ
Dont forget to give space between PCB and ESP8266 for the USB cable connection
Be surent you are using a standard Patch cable and not a crossover cable, or you will destroy the panel unit.
GS510DZ J1 Port to PCB control system port
Display port to vl801D panel
Magnus PCB board files you will find here: PCB Balboa-GS510SZ
- https://github.com/NickB1/OpenSpa/blob/master/documents/Balboa/Balboa_Display_Measurements.pdf
- https://www.olivierhill.ca/archives/72-The-Internet-of-Spas.html
- https://create.arduino.cc/projecthub/meljr/7-segment-led-displays-102-using-a-shift-register-6b6976
- GL2000 Series https://github.com/netmindz/balboa_GL_ML_spa_control
- BP Series https://github.com/ccutrer/balboa_worldwide_app
- https://github.com/MagnusPer/Balboa-GS510SZ/
- https://github.com/Shuraxxx/-Balboa-GS523DZ-with-panel-VL801D-DeluxeSerie--MQTT?tab=readme-ov-file