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>
27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
# ESP_UniClock for the NixieIN12v2 clock
|
|
|
|
Firmware for this clock, based on [ESP_UniClock](https://github.com/gpeter62/ESP_UniClock) by
|
|
Peter Gautier (GPL-3.0-or-later), vendored from upstream commit `1189810` (2026-09-07).
|
|
|
|
- `ESP32_UniClock2/`: the upstream sketch folder (all `.ino`/`.h` files and the web UI in `data/`).
|
|
It keeps the upstream layout, so it still opens in the Arduino IDE.
|
|
- `lib/`: the library versions bundled upstream (`libraries/*.zip`), only those the ESP8266 build
|
|
needs. The upstream manuals, datasheets, photos and ESP32-only libraries were left out.
|
|
Exception: `arduino-home-assistant` is v2.1.0 (upstream bundles 1.3.0, which has no light,
|
|
number, select or button entities); `mqtt.ino` was rewritten for it.
|
|
- `platformio.ini`: PlatformIO build for the ESP-12 (4 MB flash, 2 MB SPIFFS).
|
|
|
|
Local changes are separate commits on top of the import (`git log -- firmware/uniclock`).
|
|
|
|
## Build and flash
|
|
|
|
```sh
|
|
pio run # build
|
|
pio run -t upload # flash the firmware over COM7
|
|
pio run -t uploadfs # flash the web UI (data/) to SPIFFS
|
|
pio device monitor # serial log, 115200 Bd
|
|
```
|
|
|
|
The CH340C adapter has no auto-reset: before each upload, hold GPIO0 to GND, tap RST to GND, then
|
|
release GPIO0. See `CLAUDE.md` in the repo root for the wiring.
|