Files
homeassistant_espscreen/AGENTS.md
T
Max Gramser 437b8c55b4 Calendar analog clock with ticks and numerals; tiles without background
Firmware 0.2.16: the analog clock uses index strokes with 12/3/6/9
numerals on large cards and shows a calendar block (weekday, big day,
short month) beside the dial on single tiles; wide cards keep the digital
time and date. New palette key 'none' hides only the card fill and
border: geometry, padding and the pressed flash stay identical. Skeleton
frames and the render self-test honour the transparency.

App 0.2.15: 'Geen' in the background palette with a dashed mockup tile,
min_firmware 0.2.16 for such layouts, demo layout with the bare calendar
clock (--wide for the double-width clock). README and AGENTS note that
every push is a release and bumps the add-on version.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-13 09:52:33 +02:00

79 lines
4.8 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.
## Easy Setup en releases
De voorkeursroute voor nieuwe gebruikers is docs/EASY_SETUP.md: ESP Screen Manager
plus remote ESPHome-pakketten. Geen token of blueprint nodig. Tegels staan in de
permanente add-ondata; wifi/API/OTA blijven in de eigen ESPHome-YAML. Lees
docs/RELEASING.md voordat je updates publiceert. Main distribueert beide borden.
Elke push naar GitHub is een release: verhoog dan ook altijd de add-onversie in
screen_manager/config.yaml (met CHANGELOG-regel), anders ziet HA geen update.
Genereer packages met tools/generate_packages.py; bewerk ze niet handmatig.
Runtime-modus ondersteunt alle kaarten op alle twintig posities. De positiebeperkingen
hieronder gelden uitsluitend voor de oude handmatige profielen.
Behoud gegevensschema, protocolcompatibiliteit, unieke sleutels en CYD-preferences.
Test updates met bestaande gegevens. Publiceer geen onbekende opslagversie zonder
migratie. Productie-Ingress heeft geen long-lived token of publieke poort nodig.
## Guition-branch
De Guition 4848S040 heeft een apart profiel `guition-4848s040.yaml` met
480×480, ST7701S RGB en GT911. Lees docs/GUITION.md. Gebruik de eigen lokale
`guition-device.yaml`; neem geen CYD-layout of XPT2046-kalibratie over.
Controleer touch met tools/verify_gt911.py en houd de CYD-regressies groen.
Configureer geen wallbox-relais als onderdeel van displayondersteuning.
# Werkinstructies voor LLM's en developers
Dit project bedient een ESP32-2432S028 met ILI9341 + XPT2046 (320×240,
LVGL 90°). Lees README.md en docs/ voordat je installeert. De eigenaar kan
fysiek tikken; een agent kan dat niet vervangen door softwarecoördinaten.
## Een nieuw scherm installeren
1. Identificeer USB-poort en bordvariant. Gebruik ESPHome 2026.6.2 met Python
3.11–3.14. Controleer eerst of er lokale configuratie bestaat.
2. Maak in een verse kopie met `tools/new_device.py` een eigen `device.yaml`,
`calibration.yaml`, `secrets.yaml`. Overschrijf nooit een werkend profiel.
Laat de eigenaar wifi lokaal invullen. Toon geen sleutels in logs/chat.
3. Flash `device.yaml` met de CLI-substitutie `CALIBRATION_ON_BOOT=true`.
Het geïsoleerde scherm heeft vijf kruisjes en werkt zonder HA.
4. Volg docs/CALIBREREN.md: geleide USB-capture, fit, flash, nieuwe capture,
onafhankelijke verify. Vraag fysieke tikken per doel. Wacht op bevestiging
dat het meetscherm werkelijk zichtbaar is; een geslaagde build is geen flash.
5. Flash zonder die override. Koppel de eigen HA via de ESPHome-integratie.
Lees echte entity-ID's en ondersteunde attributen; verzin geen entiteiten.
6. Configureer alle gebruikte tegels volgens docs/TEGELS.md. De vacuumkaart
zit op positie 6. Posities 8/10 hebben geen volledige slider/climatebinding.
Test geen echte apparaat-acties zonder toestemming van de eigenaar.
7. Doorloop docs/ACCEPTATIE.md en rapporteer werkelijk uitgevoerde tests,
beperkingen en de geobserveerde stabiliteitsduur.
## Code en regressies
- Houd basishardware en UI in `home-like-2432s028.yaml`; eigen gegevens horen
in de genegeerde lokale profielen. `home-like.yaml` is een ander oud profiel.
- Behoud vaste pagina's, verborgen navigatie bij maximaal zes tegels en
minimaal 600 seconden standaard-standby. Geen vrij scrollen herintroduceren
zonder touch-/navigatieregressies fysiek te testen.
- Behoud touchfilter en eventguard vóór acties; kalibratie verwerkt gefilterde
fysieke ADC-waarden. Zet de affine correctie niet dubbel in driver en UI.
- Kalibratiewizard veronderstelt swap_xy=false, mirror_x=true, mirror_y=false
en LVGL 90°. Een gewijzigde oriëntatie vereist ook nieuwe projectie/tests.
- Run Python-tests, beide C++-tests en ESPHome-validatie/build bij codewijzigingen.
Firmwaretests en hardwareacceptatie zijn verschillende controles.
- `diagnostics/run_ui_test.py` rendert zonder HA-acties; raak tijdens die test
het scherm niet aan. Gebruik `--name` voor de verwachte apparaatidentiteit.
`diagnostics/send_layout.py` zet een demo-indeling met alle kaarttypen op een
scherm via de API-inbox (geen HA-acties); de manager herstelt de echte
indeling binnen ~25 s. Guition: `capture_ui.py` bewaart de LVGL-render als PNG.
- Deel via `tools/export_bundle.py` of Git. Stage geen secrets, metingen,
binaries, logs, buildcache of lokale apparaatprofielen.
- Geen automatische firmware-upload naar een willekeurige aangesloten poort.
Bij meerdere borden eerst de bedoelde poort vaststellen.
- Profielen met dezelfde `DEVICE_NAME` (Easy Setup en handmatig) delen
`.esphome/build/<naam>`. Compileer of upload ze nooit gelijktijdig; controleer
in het uploadlog het pad van `firmware.bin` en daarna de compileertijd via
`device_info`. Een verkeerd profiel haalt het scherm uit ESP Screen Manager.
Historische diagnose is achtergrond, geen bewijs dat een nieuw paneel goed
werkt. Maak tijdens onboarding geen claims over niet-uitgevoerde fysieke tests.