Put ESP Screens in English and keep layouts when entity IDs change (0.2.40)
Everything a user sees or reads is now English: both boards' labels, status replies and logs, the ESP Screens editor and Alerts cheatsheet, and the README and guides (docs/TILES.md, CALIBRATING.md, ACCEPTANCE.md and TROUBLESHOOTING.md replace the Dutch file names). Labels follow Home Assistant's own English names (Heat/Cool modes, Heating/Cooling actions, Away, Returning to dock, weather conditions), dates use English abbreviations and the top bar writes numbers the English way. Docs use HA 2026.9's menu names (Settings -> Apps, App store, Settings -> Tools). Unused legacy files (home-like.yaml, buttons.yaml, a.out) are removed. Firmware 0.2.34 names its entities in English. Home Assistant registers a renamed ESPHome entity under a new entity ID, so the inbox text.<screen>_tegelinstellingen becomes text.<screen>_tile_settings and the layout stored under the old ID would be lost. The manager now recognises the screen by its device, during a run or after a restart, and moves its layout and update history along; the Update button and the nightly round follow the screen through the rename. Screens that still run 0.2.33 or older keep working: both languages are matched. Main is the only release branch from now on. Tested on a Home Assistant Yellow (HA 2026.9.1) with both bench boards: see docs/TEST_RESULTS_0240.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+55
-55
@@ -1,68 +1,68 @@
|
||||
# Testresultaten ESP32-2432S028 — 12 september 2026
|
||||
# Test results — ESP32-2432S028 — September 12, 2026
|
||||
|
||||
Getest op de via USB aangesloten `cyd-2432s028`, ESP32 rev3.1, ESPHome
|
||||
2026.6.2 / ESP-IDF. De firmware meldt compilatietijd
|
||||
`2026-09-12 09:54:02 +0200` en is via USB geschreven en geverifieerd.
|
||||
Tested on the USB-connected `cyd-2432s028`, ESP32 rev3.1, ESPHome
|
||||
2026.6.2 / ESP-IDF. The firmware reports compile time
|
||||
`2026-09-12 09:54:02 +0200` and was written and verified over USB.
|
||||
|
||||
## Geslaagd
|
||||
## Passed
|
||||
|
||||
- C++-regressietests voor ruis, contactdender, verspringende aanrakingen,
|
||||
echte sleepbewegingen, temperatuurafronding en `millis()`-overflow.
|
||||
- Vijf indelings-/configuratietests voor schermgrenzen, overlap, modale
|
||||
lagen, voorwaardelijke paginering en guards vóór alle tegelhandlers.
|
||||
- ESPHome-validatie met `TILE_COUNT: 6`; navigatie is in de code aan
|
||||
`count > 6` gekoppeld en tegels boven het ingestelde aantal zijn verborgen.
|
||||
- Volledige ESP-IDF-build en USB-upload met verificatie van de geschreven data.
|
||||
- Verbinding met de bestaande Home Assistant-installatie en ontvangst van
|
||||
entiteitsstatussen.
|
||||
- **10 paginacontroles en 50 overlay-cycli op het echte apparaat.**
|
||||
Render-startteller steeg van 38 naar 101 tussen de eerste en
|
||||
laatste paginacontrole: de test controleert ook werkelijke tekenactiviteit.
|
||||
- Runtime-geometrie: tegelgebied `(0,40)–(319,203)`, knop Volgende
|
||||
`(211,206)–(310,237)`. De gebieden overlappen niet.
|
||||
- Vrije heap tijdens de tien testmetingen: 86,416–139,696 bytes
|
||||
volgens `esp_get_free_heap_size()`. Geen oplopend geheugenverlies of reset
|
||||
in deze korte tekenproef.
|
||||
- C++ regression tests for noise, contact bounce, jumping touches,
|
||||
real drag movements, temperature rounding, and `millis()` overflow.
|
||||
- Five layout/configuration tests for screen bounds, overlap, modal
|
||||
layers, conditional pagination, and guards ahead of all tile handlers.
|
||||
- ESPHome validation with `TILE_COUNT: 6`; navigation is tied in the code to
|
||||
`count > 6`, and tiles above the configured count stay hidden.
|
||||
- Full ESP-IDF build and USB upload with verification of the written data.
|
||||
- Connection to the existing Home Assistant installation and receipt of
|
||||
entity states.
|
||||
- **10 page checks and 50 overlay cycles on the real device.**
|
||||
The render-start counter rose from 38 to 101 between the first and
|
||||
last page check: the test also verifies actual draw activity.
|
||||
- Runtime geometry: tile area `(0,40)–(319,203)`, Next button
|
||||
`(211,206)–(310,237)`. The areas don't overlap.
|
||||
- Free heap during the ten test measurements: 86,416–139,696 bytes
|
||||
per `esp_get_free_heap_size()`. No growing memory loss or reset
|
||||
during this short render test.
|
||||
|
||||
## Fysieke touchdiagnose
|
||||
## Physical touch diagnostics
|
||||
|
||||
De gebruiker tikte herhaaldelijk de vier schermhoeken aan. De oorspronkelijke
|
||||
meting sprong linksboven soms meer dan honderd pixels weg. Na de driverfilter
|
||||
bleven de samples in herkenbare hoekgroepen. De overblijvende scheefstand is
|
||||
met een affine correctie op de hoekmedianen gecorrigeerd; de regressietest
|
||||
plaatst die medianen binnen vijf pixels van het doel. De bronwaarden en
|
||||
coëfficiënten staan in de configuratie, tests en CYD_STABILITY.md.
|
||||
The user repeatedly tapped the four screen corners. The raw
|
||||
measurement at top-left sometimes jumped more than a hundred pixels off. After the driver filter,
|
||||
the samples stayed within recognizable corner clusters. The remaining skew was
|
||||
corrected with an affine correction on the corner medians; the regression test
|
||||
places those medians within five pixels of the target. The source values and
|
||||
coefficients are in the configuration, tests, and CYD_STABILITY.md.
|
||||
|
||||
De gebruiker bevestigde na de laatste flash dat de juiste knoppen reageren
|
||||
en de bediening nu goed werkt.
|
||||
After the final flash, the user confirmed that the correct buttons respond
|
||||
and the controls now work well.
|
||||
|
||||
## Grenzen
|
||||
## Limitations
|
||||
|
||||
Dit is geen langdurige duurproef. Home Assistant-acties zijn niet automatisch
|
||||
uitgevoerd tijdens de schermtest. De gebruiker heeft de fysieke bediening na de laatste kalibratiecorrectie
|
||||
bevestigd: "Ja, dit werkt nu goed". De tien minuten
|
||||
standby zijn ingesteld; er is niet tien minuten gewacht om de volledige
|
||||
idle-timeout af te laten lopen.
|
||||
This is not a long-duration endurance test. Home Assistant actions were not automatically
|
||||
performed during the screen test. The user confirmed the physical controls after the final calibration correction
|
||||
with: "Yes, this works well now". The ten-minute
|
||||
standby is configured; nobody waited the full ten minutes to let the
|
||||
complete idle timeout run out.
|
||||
|
||||
Lokale ruwe logs staan in `diagnostics/acceptance-ui-test.log` en
|
||||
`diagnostics/acceptance-runtime.log` en worden niet in Git opgenomen.
|
||||
Local raw logs are in `diagnostics/acceptance-ui-test.log` and
|
||||
`diagnostics/acceptance-runtime.log` and are not included in Git.
|
||||
|
||||
## Overdraagbare installatie — aanvullende softwarecontrole
|
||||
## Portable installation — additional software check
|
||||
|
||||
Op 12 september 2026 is de nieuwe onboarding getest:
|
||||
On September 12, 2026, the new onboarding flow was tested:
|
||||
|
||||
- 17 Python-tests slagen: layout, kalibratie-fit, onafhankelijke verificatie,
|
||||
foutieve/ruisende metingen, unieke secrets, niet overschrijven en export.
|
||||
- Beide C++17-regressieprogramma's slagen (touchfilter en UI-guard).
|
||||
- Starter-ZIP uitgepakt in een verse tijdelijke map; nieuw profiel met eigen
|
||||
gegenereerde sleutels aangemaakt. Volledige ESPHome 2026.6.2 / ESP-IDF-build
|
||||
met kalibratie-opstartmodus geslaagd.
|
||||
- Gegenereerde C++ gecontroleerd op identiteitcorrectie voor het nieuwe bord.
|
||||
Het aparte lokale profiel behoudt de eerder gemeten zes correctiecoëfficiënten.
|
||||
- Git-index en bestaande historie gecontroleerd op de lokale credentials;
|
||||
geen overeenkomsten. Lokale profielen en secrets zijn uitgesloten.
|
||||
- 17 Python tests pass: layout, calibration fit, independent verification,
|
||||
faulty/noisy measurements, unique secrets, not overwriting, and export.
|
||||
- Both C++17 regression programs pass (touch filter and UI guard).
|
||||
- Starter ZIP unpacked into a fresh temporary folder; a new profile was created with its own
|
||||
generated keys. A full ESPHome 2026.6.2 / ESP-IDF build
|
||||
with calibration boot mode succeeded.
|
||||
- Generated C++ checked for identity correction on the new board.
|
||||
The separate local profile retains the six previously measured correction coefficients.
|
||||
- The Git index and existing history were checked for the local credentials;
|
||||
no matches. Local profiles and secrets are excluded.
|
||||
|
||||
De vijfpuntswizard is met synthetische meetgegevens getest. Hij is in deze
|
||||
ronde niet opnieuw fysiek uitgevoerd of naar het bestaande bord geflasht;
|
||||
voor ieder nieuw paneel blijft de fysieke acceptatie verplicht. De bovenstaande
|
||||
oudere hardwaretest betreft de eerder geïnstalleerde firmware.
|
||||
The five-point wizard was tested with synthetic measurement data. In this
|
||||
round it was not physically run again or flashed to the existing board;
|
||||
physical acceptance remains mandatory for every new panel. The hardware test
|
||||
above concerns the previously installed firmware.
|
||||
|
||||
Reference in New Issue
Block a user