Add Home Assistant controls over MQTT

Upgrade ArduinoHA from 1.3.0 to 2.1.0 and rewrite mqtt.ino for it.
The clock now shows up in Home Assistant (discovery prefix
"homeassistant") with:
- switches Tubes (blank the display, runtime only) and Auto dim
- numbers Day/Night brightness
- light Backlight (on/off, brightness, RGB mapped to the colour wheel)
- select LED effect, button Cathode protect
- sensors Light (LDR) and WiFi signal, plus the upstream sensors when
  the clock has them; master-clock subscriptions are kept

Settings changed from HA are saved to EEPROM 3 s after the last change.
Fixes the unbounded memcpy in the MQTT message handler.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mangavalkandClaude Opus 5.5 committed 2026-10-25 21:37:25 +01:00
1 parent 0d3e878051
commit 9a7061383c
108 files changed
+11482 -6567

No files matched your search

+5 -2
View File
@@ -90,5 +90,8 @@ GPIO0 to GND, tap RST to GND, then release GPIO0.
2. Skipped (the disassembly was enough): bit-stepping test sketch.
3. Done: 74HC595-multiplex driver (`nixie595.ino`) + CLOCK_90 in ESP_UniClock, ArduinoOTA,
EU DST fix. Runs on the clock.
4. Next: Home Assistant controls over MQTT (display on/off, brightness, LEDs; upstream MQTT
only publishes sensors), OTA password via `secrets.h`.
4. Done: Home Assistant over MQTT (broker 10.1.1.175, discovery prefix `homeassistant`).
`mqtt.ino` rewritten for ArduinoHA 2.1.0: switches Tubes/Auto dim, numbers Day/Night
brightness, light Backlight (on/off, brightness, RGB -> UniClock colour wheel), select LED
effect, button Cathode protect, sensors Light/WiFi signal. Broker settings are read at boot.
5. Open: OTA password via `secrets.h`; ArduinoOTA after the AP -> WiFi switch.