Add persistent per-screen brightness, standby and clock settings

This commit is contained in:
Max Gramser
2026-09-12 13:31:18 +02:00
parent 747ec4cceb
commit 917b3d6d09
18 changed files with 634 additions and 240 deletions
+42
View File
@@ -162,3 +162,45 @@ een los openbaar portal.
Gebruikte HA-mechanismen: [Ingress](https://developers.home-assistant.io/docs/apps/presentation/),
[interne HA-API](https://developers.home-assistant.io/docs/apps/communication/) en
[ESPHome-pakketten](https://esphome.io/components/packages/).
## Scherminstellingen aanpassen (vanaf 0.1.2)
Update ESP Screen Manager naar 0.1.2 en installeer één keer de nieuwe firmware
via je **bestaande** ESPHome-apparaat → Install → Wirelessly. Behoud de eigen YAML
met wifi en sleutels. Open daarna het scherm in ESP Screen Manager en klap
**Scherminstellingen** open. Klik na aanpassen op **Opslaan & naar scherm**.
Hierna vragen wijzigingen aan deze instellingen geen nieuwe firmwareflash.
| Instelling | Mogelijkheden | Standaard |
|---|---|---|
| Automatisch standby | Aan/uit | Aan |
| Standby na | 1–1440 minuten na de laatste aanraking | 10 minuten |
| Helderheid normaal | 5–100% | 100% |
| Helderheid standby | 0–100%, maximaal normale helderheid | 20% |
| Nachtstand | Aan/uit; geldt tijdens standby | Aan |
| Begin/einde nacht | Uur en minuut, ook over middernacht | 22:00–07:00 |
| Helderheid nacht | 0–100%, maximaal normale helderheid | 10% |
| Klok tonen | Aan/uit | Aan |
| Tijdnotatie | 24 of 12 uur, zonder AM/PM | 24 uur |
| Terug naar pagina 1 | Bij standby; anders huidige pagina onthouden | Uit |
Nachturen gebruiken de tijdzone van het ESPHome-apparaat en de tijd uit HA.
Zonder geldige tijd gebruikt het scherm de gewone standbyhelderheid; gelijke
begin- en eindtijd schakelen het nachtvenster uit. Op 0% gaat alleen de
achtergrondverlichting uit: dit is geen deep sleep en geen schermbeveiliging.
De eerste tik wekt het scherm zonder een apparaat te bedienen.
De add-on bewaart alles per scherm in zijn permanente gegevens. Het scherm bewaart
de laatst ontvangen instellingen ook in preferences; ESPHome bundelt die
schrijfacties (normaal maximaal een minuut). Trek daarom niet direct na opslaan
de voeding los. Bestaande CYD-kalibratie, tegels, API- en OTA-sleutels blijven staan.
Een offline scherm krijgt wijzigingen zodra het terugkomt. Gewone HA-statusupdates
wekken het scherm niet en veranderen de standbytimer niet.
Bij oudere firmware toont de beheerpagina dat eerst een update nodig is.
De tegels blijven bruikbaar. Handmatige YAML-profielen blijven hun substitutions
gebruiken; voor beheer via deze app gebruik je het Easy Setup-pakket.
De gemelde Guition-paneelstrepen worden apart onderzocht. Deze instellingenupdate
wijzigt geen displaytimings of driver en is geen bewezen oplossing voor die strepen.
+14
View File
@@ -56,3 +56,17 @@ Een tijdelijke ontwikkelserver ondersteunt `SCREEN_DEV=1`, `HA_API` (eindigt op
`/api`), `HA_TOKEN_FILE` en `SCREEN_DATA`. Hij bindt alleen op localhost. Zet een
token nooit in broncode, URL's of Git. Productie gebruikt Supervisor en accepteert
alleen het Ingress-proxyadres; er is geen extra publieke poort.
### Instellingencompatibiliteit 0.1.2
`settings` is een optioneel object binnen een schermindeling en binnen het bestaande
`v: 1, op: layout`-bericht. Een ontbrekend object behoudt eerder gedrag. Oude
firmware negeert dit extra veld en blijft tegels ontvangen. De beheerpagina meldt
dat nieuwe firmware nodig is. Een oude browser die alleen tegels opslaat, wist
opgeslagen instellingen niet. Onbekende instellingen worden geweigerd.
Firmware gebruikt een afzonderlijke preferences-key `0x53435231` met een vaste
versie-1 structuur (elf int32-velden en een uint32-versie). Wijzig key, structuur
of versie niet zonder migratie. Alleen gewijzigde instellingen worden opgeslagen;
periodieke herhaling veroorzaakt geen flashwrites en geen nieuwe idle-timer.
+21
View File
@@ -0,0 +1,21 @@
# Scherminstellingen 0.1.2 — 12 september 2026
- 33 Python-tests geslaagd: invoergrenzen, oude indelingen, behoud van instellingen
bij herstart en opslaan vanuit een oudere UI, protocol en HTTP/CSRF.
- Zeven native C++-tests geslaagd, inclusief grenzen, nachttijden over middernacht,
ontbreken van tijdsync en ongeldige opgeslagen settings.
- Easy Setup-firmware voor CYD en Guition gebouwd met ESPHome 2026.6.2.
- Beide handmatige YAML-profielen gevalideerd en volledig gebouwd.
- Browser: standby 20 minuten opslaan en herladen; helderheid naar minimum zetten
verlaagt hogere dimniveaus mee; waarden blijven behouden na herladen.
- Guition via bestaande versleutelde OTA bijgewerkt naar 0.1.2.
- Op het echte scherm: 55% helderheid direct toegepast; eigenaar bevestigt fysiek
dimmen. Standby na 60 seconden ondanks herhaalde indelingsberichten. Ongeldige
helderheid 0 geweigerd zonder de geldige instellingen te veranderen.
- Guition herstart: 55%, 60 seconden en verborgen klok uit preferences teruggelezen.
Daarna oorspronkelijke instellingen teruggezet (100%, 600 seconden).
CYD was niet aangesloten; de fysieke instellingenacceptatie betreft alleen Guition.
Dit is geen lange stabiliteitstest en geen oplossing voor de bestaande paneelstrepen.
De RGB-driver is bytegelijk aan de oorspronkelijke ESPHome-driver; experimentele
wijzigingen aan timing, spiegeling en reset zijn niet onderdeel van deze release.