Refine large-value tiles and fade Guition backlight in hardware

Large-value (watch) tiles show a small domain icon next to the title, centre
title and value vertically, use a dedicated larger digit font, truncate long
values with dots and keep the unit in its own label. The geometry self-test
checks the unit label too.

The Guition backlight now dims through the LEDC hardware fader (1.5 s to
standby, 80 ms wake) so full LVGL redraws no longer make the transition
stutter; ESPHome's light state is synced after each fade. Firmware 0.2.13;
app 0.2.11 stays compatible. Document the shared build directory pitfall.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Max Gramser
2026-09-13 01:14:39 +02:00
parent c316d99fd7
commit 53bf1bc228
14 changed files with 342 additions and 29 deletions
+4
View File
@@ -44,6 +44,10 @@ vier pagina’s; tot zes verdwijnt de navigatie. De huidige interface heeft een
lichtgrijze achtergrond, witte kaarten en gekleurde domeiniconen. Vanaf 0.2.10 kun
je per tegel een pastel achtergrond kiezen met donkere tekst. Standby begint
standaard na tien minuten zonder aanraking en is instelbaar in de beheerpagina.
Vanaf 0.2.13 dimt de backlight via de LEDC-hardwarefader (`backlight_fade.h`,
1,5 s naar standby, 80 ms wakker): de volledige LVGL-herteken bij standby
onderbreekt de overgang dan niet meer. ESPHome's lichtstatus wordt na de fade
gesynchroniseerd, zodat de entity in HA en latere overgangen kloppen.
De bestaande tegelacties, climatebediening en vacuumkaart zijn behouden.
Alle kaarttypen zijn beschikbaar op alle twintig runtime-posities. Alleen in
+3 -1
View File
@@ -23,7 +23,9 @@
`python3 tools/generate_packages.py`; bewerk `packages/*.yaml` nooit rechtstreeks.
2. Draai alle Python-tests met aiohttp geïnstalleerd, alle `tests/*.cpp`, de
generator met `--check`, en compileer beide Easy Setup-profielen plus de
bestaande handmatige profielen. Controleer dat er geen secrets in Git staan.
bestaande handmatige profielen. Doe dat na elkaar: profielen met dezelfde
`DEVICE_NAME` delen één build-map, en een parallelle build laat een upload
het verkeerde `firmware.bin` kiezen. Controleer dat er geen secrets in Git staan.
3. Test appstart, opslaan, opnieuw starten/updaten met bestaande indelingen,
opnieuw verbinden met HA en een ESP-herstart. Test een nieuwe kaart op echte
hardware. Een goede build vervangt fysieke touchacceptatie niet.
+46
View File
@@ -0,0 +1,46 @@
# Firmware 0.2.13 — grote waarde en Guition-backlightfade
## Wijzigingen
- **Grote waarde** (`display: watch`): een klein domeinicoon in een cirkel
(18 px Guition, 12 px CYD) naast de titel; titel en waarde staan als groep
verticaal gecentreerd. Het getal gebruikt een eigen groter font
(Roboto 500, 38 px Guition / 22 px CYD). Een te lange waarde wordt met
puntjes afgekapt; de eenheid staat als apart label rechts onderaan de regel
en blijft altijd zichtbaar. De geometriecontrole test ook het eenheidslabel.
- **Guition-backlight**: `components/smart_display/backlight_fade.h` laat de
LEDC-hardwarefader de duty stappen. ESPHome's software-overgang loopt op de
hoofdloop, en de volledige LVGL-herteken bij standby onderbrak die zichtbaar.
Standby dimt nu in 1,5 s, wakker worden duurt 80 ms. Eén script
(`set_backlight`) is eigenaar van het niveau; een nieuwe aanroep onderbreekt
de lopende fade vanaf de huidige duty en synchroniseert daarna ESPHome's
lichtstatus (entity in HA, latere overgangen). Zonder fader (klassieke ESP32)
valt het script terug op de ESPHome-overgang; de CYD gebruikt dit niet.
- Protocol, opslagversie, preferences en app 0.2.11 zijn ongewijzigd.
## Tests
- 51 Python-tests en alle negen C++-testprogramma's geslaagd.
- `tools/generate_packages.py --check` geslaagd; beide Easy Setup-profielen en
beide handmatige profielen compileren met ESPHome 2026.6.2.
- USB-flash op de vooraf via `esptool chip_id` geïdentificeerde poorten
(ESP32 = CYD, ESP32-S3 = Guition). Beide melden daarna firmware 0.2.13 met
de verwachte compileertijd via `device_info`.
- Renderdiagnose op beide apparaten: tien paginacontroles en vijftig
overlaycycli geslaagd, inclusief tekst-, icoon-, eenheid- en sliderbegrenzing.
Guition heap ~6,49 MB, CYD ~57 kB vrij tijdens de proef.
- De eigenaar bevestigt de nieuwe grote waarde en het rustige uitfaden op de
Guition: "super ik ben helemaal blij". Er is geen langdurige stabiliteitsproef
uitgevoerd.
## Incident tijdens het flashen
De eerste Guition-flash schreef per ongeluk het handmatige profiel
(`guition-device.yaml`, vaste tegels) in plaats van de Easy Setup-firmware.
Beide profielen heten `guition-wallbox` en delen daardoor
`.esphome/build/guition-wallbox`; een gelijktijdig gestarte regressiebuild van
het handmatige profiel liet de upload het verkeerde bestand kiezen. De Guition
verdween daardoor tijdelijk uit ESP Screen Manager. Herstel: sequentieel opnieuw
bouwen, uploadlog op het pad van `firmware.bin` controleren en de compileertijd
via `device_info` vergelijken. Bewaarde tegels, instellingen en sleutels waren
niet geraakt. Zie de nieuwe regel in AGENTS.md en docs/RELEASING.md.