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

4.8 KiB
Raw Blame History

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.