437e3a5046
Screens now report their ESPHome name and IP address, so the add-on can match each screen to its YAML profile and OTA address itself. The screen list shows an update badge with a Bijwerken button, an update-all action and a nightly checkbox; updates run one screen at a time, wait for the new version to report back and stop the round on the first failure. App 0.2.16, firmware 0.2.17. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
3.3 KiB
3.3 KiB
App 0.2.16 / firmware 0.2.17 — bijwerken met één knop en nachtelijke ronde
Wijzigingen
- Firmware: twee diagnostische text sensors per scherm,
Apparaatnaam(${DEVICE_NAME}, elke 60 s) enIP-adres(wifi_info). Verder ongewijzigd; geen preferences, protocol of layoutcode aangeraakt. - App (
screen_manager/app/updates.py):UpdatermetFIRMWARE_VERSIONals doelversie, profielkoppeling viaApparaatnaam→esphome.namein de ESPHome-map (Firmware.profile_names, leest YAML zonder!secretuit te voeren), terugval op één profiel met dezelfdefriendly_nameplus een handmatig adres. Eén ronde tegelijk:install(bestaandeFirmware.start), wachten opSchermfirmware >= doel(max 240 s), 60 s stabiliteit, 120 s pauze tot het volgende scherm; de eerste fout beëindigt de ronde. Nachtelijke ronde tussen 03:00 en 06:00 in de HA-tijdzone, één keer per dag, alleen met het vinkje aan; bij een fout eenpersistent_notificationin HA. - UI: schermkaart is nu een
divmet een selectieknop en een updaterij (badge Update x.y.z + Bijwerken, spinner met fase, resultaat een dag zichtbaar). Blok Firmware-updates met Alle schermen bijwerken (zichtbaar bij twee of meer bij te werken schermen) en het vinkje voor de nachtronde. Een open IP-formulier overleeft de periodieke verversing; polling versnelt naar 3 s zolang er een update loopt. - Opslag
/data/updates.json(version: 1), naastscreens.json.
Tests
.venv-portal/bin/python -m unittest discover -s tests: 62 tests OK, waaronder de nieuwetests/test_updates.py(versiebron gelijk in app en beide pakketten, discovery van naam en adres, profielen lezen zonder secrets, aanbod en handmatig adres, ronde stopt na fout en meldt alleen automatisch, scherm dat niet terugkomt faalt, nachtvenster en persistentie, HTTP-endpoints met CSRF).python3 tools/generate_packages.py --check: beide pakketten actueel.esphome compilevooreasy-cyd-device.yamleneasy-guition-device.yaml(lokale pakketten met dezelfde inhoud alspackages/*.yaml): geslaagd.- USB-flash na
esptool chip_idper poort (usbserial-130= ESP32/CYD,usbserial-210= ESP32-S3/Guition). Uploadlog toont.esphome/build/cyd-2432s028/…/firmware.binresp..esphome/build/guition-wallbox/…/firmware.bin. device_infovia de API: CYDcyd-2432s028project_version 0.2.17, Guitionguition-wallboxproject_version 0.2.17, beide gecompileerd 2026-09-13 10:03. Beide meldenSchermfirmware=0.2.17,Apparaatnaamgelijk aan de profielnaam enIP-adres192.168.146.134 resp. 192.168.146.136.- Lokale preview van de beheerpagina met een nep-HA en een trage nep-CLI:
badge en knop bij een scherm op 0.2.16, spinner met "Bouwen en installeren…",
daarna "Bijgewerkt naar firmware 0.2.17." bij het scherm; scherm zonder
gemeld IP vraagt eenmalig het adres en start daarna; scherm op 0.2.17 toont
geen aanbod; het vinkje bewaart
autoviaPUT /api/updates.
Nog te doen in productie
- Add-on bijwerken vanuit de HA-appwinkel (0.2.16) en beide schermen (nu al 0.2.17 via USB) moeten geen aanbod tonen. De eerste echte OTA-ronde volgt bij de volgende firmwareversie; controleer dan het log onder Firmware & USB, de spinnerfases en de melding bij een geforceerde fout.