Files
homeassistant_espscreen/docs/TEST_RESULTS_0212.md
T

72 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Firmware 0.2.12 — switches
## Oorzaak en wijziging
ArduinoJson 7 leegt de uitvoerstring bij `serializeJson`. De oude code zette
`state` eerst in die string en serialiseerde daarna de attributen eroverheen.
Een simpele switch met gelijke attributen kreeg daardoor bij aan/uit dezelfde
revision. De firmware bleef zes seconden op een bevestiging wachten, ook als
de nieuwe status al ontvangen was.
Attributen worden nu apart geserialiseerd, waarna de status wordt toegevoegd.
Switches/input_boolean hebben 150 ms minimale feedback in plaats van één seconde;
zonder bevestiging blijft de bestaande begrensde wachttijd behouden. Overige
kaarten houden hun minimale feedback. De opdracht wordt meteen verzonden en de
tegel wordt direct ververst. Logs meten de tijd tot een gewijzigde HA-status;
dit is een statusbevestiging, geen bewijs van een fysiek relaiscontact.
Lang indrukken opent een native LVGL-switch, zonder HA-opdracht bij openen.
De bediening toont de door HA gemelde stand en blokkeert tijdens een lopende
opdracht of onbeschikbaarheid. Uitgeschakelde switchiconen zijn grijs; eigen
pastel tegelachtergronden blijven behouden. Beide borden gebruiken dezelfde code.
## Metingen en tests
- Voor de correctie: HA-events tijdens bediening door de eigenaar: printer-
stroomschakelaar 56 ms van servicecall tot statuswijziging; de instelling
voor stroomuitvalgeheugen 142–151 ms. De oude schermwachttijd is daarmee
niet gelijk aan de verwerkingstijd van de HA-switch.
- 51 Python-tests geslaagd.
- Alle negen C++-testprogramma's geslaagd. De feedbacktest controleert een
aan/uit-wijziging met identieke attributen, een onveranderde status, timeout,
input_boolean en de millis-overloop.
- Pakketgenerator gecontroleerd; protocol, opgeslagen tegels en preferences
ongewijzigd. App 0.2.11 blijft bruikbaar; dit is een firmware-update.
## Controle op de schermen
- Beide runtimefirmwares gebouwd met ESPHome 2026.6.2 en via OTA geïnstalleerd
op de vooraf geïdentificeerde Guition en CYD. Beide melden firmware 0.2.12.
- Op beide apparaten: tien paginacontroles en vijftig overlaycycli geslaagd,
inclusief bestaande controles voor tekst, sliders en pastelkleuren.
- Guition: echte korte tikken geven voor de printer statusbevestiging op het
scherm na 305 en 434 ms. De grote switch geeft 204 en 365 ms. De switch voor
stroomuitvalgeheugen geeft 531 en 667 ms. Dit zijn volledige terugmeldtijden
gemeten door de firmware, inclusief HA en de manager-synchronisatie.
- Interne LVGL-schermopname gecontroleerd: naam, HA-stand en grote schakelaar
zichtbaar. De eigenaar bevestigt snelle bediening, goed detailmenu en de
grijze uitstand: “yes, allemaal top!”.
- De actuele indelingen en instellingen voor beide schermen zijn na OTA exact
gelijk aan de momentopname vóór deze update. Geen appdata of sleutels gewijzigd.
De fysieke bevestiging betreft Guition. CYD is gebouwd, geflasht en met de
renderdiagnose getest; de nieuwe switchbediening is daar niet apart fysiek
bevestigd. Er is geen langdurige stabiliteitsproef uitgevoerd voor deze patch.
## Aanvullende indeling
Mini-sliders behouden hun domeinicoon in een compacte cirkel naast titel en
waarde. Daarvoor zijn afzonderlijke kleine MDI-fonts toegevoegd (18 px CYD,
26 px Guition), zonder schaling via extra renderbuffers. CYD centreert zowel
het tekstblok als de icooncirkel; met een slider gebeurt dat in de ruimte boven
de slider. De geometriecontrole test nu ook icoonbegrenzing en centrering.
De eerste uitgebreide Guition-test vond te brede tekst bij wisselen van een
watch/slider-tegel naar een gewone tegel in hetzelfde vak. LVGL gaf nog de oude
x-positie terug. De berekening gebruikt nu de gevraagde nieuwe positie. Na die
correctie slagen op beide apparaten opnieuw tien paginacontroles en vijftig
overlaycycli, inclusief icoonbegrenzing, tekstbreedte, centrering en sliderafstand.
Alle vier definitieve firmwareprofielen bouwen succesvol. Onder de zware
Guition-renderproef zijn er nog waarschuwingen voor lange renderbewerkingen;
die proef is geen bewijs van constante frame latency in alle situaties.