3f6889f750
The name stays on the left; up to six items go on the right: the time, an analog clock, the date, or a Home Assistant entity with its icon, showing its state or how long ago it changed, always or only while active. The add-on formats entity text in Dutch and sends it as op: header right after the layout to firmware 0.2.32+; older firmware keeps the clock of show_clock, which now follows the clock item. The firmware draws every value in one font on the name's baseline, centres icons and the dial on the digit height and measures gaps between glyph ink, so the bar looks even; the editor's mockup uses Roboto and the same integer rules. tools/render_topbar.py renders the real LVGL code on a computer (ESPHome host + SDL2). The editor's section buttons are gone. Firmware 0.2.32 for both boards. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
4.2 KiB
4.2 KiB
Testresultaten app 0.2.38 / firmware 0.2.32 (2026-09-14)
Nieuw: de bovenbalk per scherm. Links de naam, rechts tot zes onderdelen: tijd, analoge klok, datum of een entiteit met icoon (status of "laatst gewijzigd", altijd of alleen als actief). Zie README "Bovenbalk" en RELEASING "Compatibiliteit 0.2.38".
Wat veranderde
- App:
core.validate_header(opslag),header_bar.py(Nederlandse opmaak met weergaveprecisie uit het entity-register, iconen per device class en stand, HA-kleuren, "alleen als actief", suggesties per ruimte),op: headerdirect na de indeling voor firmware 0.2.32+,POST /api/header-previewvoor de editor, bovenbalk-entiteiten tellen mee voor statuswijzigingen. - Editor: blok Bovenbalk (naam, kaartjes, slepen, sheet voor toevoegen en
instellen), de balk op elke pagina van het schermvoorbeeld als SVG met Roboto
(
bar-roboto-400/500.woff, gegenereerd doortools/generate_icons.py) en de plaatsingsregels van de firmware; knoppenbalk en Klok tonen weg. - Firmware:
header_bar.h(parsen, relatieve tijd, datum, afstanden, plaatsing) enruntime_tiles::draw_header(); beide profielen zetten de fonts en het tijdlabel als referentie;sublabel_bigkreeg extra glyphs.
Geautomatiseerd
- Python (
.venv-portal): 121 tests OK, waarvan 18 nieuw intest_header_bar.py(validatie, getallen en eenheden, waarden per domein, actief/kleur/icoon, glyphs gelijk aan beide profielen en pakketten, woorden en rekensommen gelijk in editor en firmware, profielkoppeling, manager: alleen 0.2.32+ krijgt de balk, geen herhaling bij gelijke balk, oude editor behoudt de balk, verdwenen entiteit geweigerd, preview-endpoint). - C++ (clang++ -std=c++17 -Wall -Wextra -Werror -I.): 13/13 PASS; nieuw
test_header_bar(soorten, kleuren, UTF-8, alle drempels van "geleden"/"over", datum, afstanden voor Guition en CYD, plaatsing met overloop en lege balk). generate_packages.py --checkengenerate_icons.py --checkgroen; bench-kopieën.esphome/easy-*-package.yamlopnieuw gegenereerd;node --check app.jsOK.- ESPHome 2026.6.2 compile:
easy-guition-device.yamlSUCCESS (RAM 32,4%, flash 18,6%; was 32,3% / 18,5%),easy-cyd-device.yamlSUCCESS (RAM 31,4%, flash 77,3%; was 31,3% / 76,8%). Eén bestaande waarschuwing (runtime_tiles.h:580, enum-conversie), niet uit deze wijziging. De eerste Guition-build faalde opstd::max(int, long)(int32_t is long op ESP32); opgelost met een cast. - Echte LVGL-render zonder scherm:
tools/render_topbar.pybouwt een ESPHome host-project met SDL2 en de fonts uit beide profielen en tekent zeven scenario's viadraw_header()(alleen klok, de mockup met "—" en "Gisteren", deur open + alarm, analoge klok + datum, aantal thuis + weer + verbruik, te vol met afgekorte naam, personen). Bekeken op 2x/3x: waarden op de basislijn van de naam, iconen op cijferhoogte, gelijke afstanden, overloop valt vooraan weg. - Editor in de browser (dev-server met een alleen-lezen momentopname van de echte HA):
toevoegen via suggesties en zoeken, instellen (status/laatst gewijzigd, icoon, tonen),
slepen, overloop- en verborgen markering, opslaan stuurt
layout,header, states naar een 0.2.32-scherm en geenheadernaar 0.2.31; CYD-maten en de firmwarehint op een CYD; telefoonbreedte zonder horizontaal scrollen.
Niet getest
- Geen scherm aan USB tijdens deze ronde: de bovenbalk is niet op glas gezien. De render gebruikt dezelfde LVGL 9.5-code en fonts, maar niet het paneel (kleuren, backlight).
- Studio 1 draait nog firmware 0.2.31 en app 0.2.37 tot de update.
Te controleren op Studio 1 na de update
- Add-on bijwerken naar 0.2.38, dan Bijwerken bij Studio 1 (firmware 0.2.32).
- Zonder bovenbalk-aanpassing: naam links, tijd rechts in de nieuwe waardeletter.
- Voeg temperatuur, een persoon met "Laatst gewijzigd", een deur of alarm (alleen als actief) en de analoge klok toe; kijk of alles op één lijn staat en even ver uit elkaar.
- "5 min geleden" telt per minuut door; een deur die opengaat verschijnt binnen enkele seconden in amber; een lange naam krijgt puntjes zoals in de editor.
- HA even loskoppelen: de entiteiten verdwijnen uit de balk, tijd en datum blijven.