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

@@ -141,6 +141,8 @@ byte tubePixels[] = {0, 0, 1, 1, 2, 2, 3, 3}; //8 WS2812, two per tube (strip
#define AP_NAME "UNICLOCK"
#define AP_PASSWORD ""
#define WEBNAME "IN-12 Nixie Clock"
#define USE_MQTT //Home Assistant: broker address/user/password on the web page, then reboot
#define MQTT_PREFIX "homeassistant" //Home Assistant's default discovery prefix
#define FIRMWARE_SERVER "" //no web-triggered HTTP update; use ArduinoOTA
#define USE_ARDUINO_OTA
#define OTA_HOSTNAME "nixie-in12"