Files
Max Gramser 2327d31261 One-window install: profile, wifi, USB flash and pairing hints (0.2.27)
"Nieuw scherm" used to span two dialogs plus a copy/download of the
installation YAML. It is now one dialog: board, name (node name derived,
editable), wifi only when secrets.yaml lacks it, the detected USB port,
and Installeren. The add-on writes the profile with unique API/OTA keys,
merges just the missing wifi lines into secrets.yaml (comments and other
secrets untouched, result re-parsed before writing), then builds and
flashes with the live ESPHome log and stage in the same dialog; a failed
build offers a retry without a second profile. The YAML download
endpoint is gone: the profile already lives in the ESPHome folder.

Pairing happens in Home Assistant itself, so the done view and a sidebar
card per not-yet-paired profile say so, with a button to Apparaten &
diensten, the API key to copy and the reminder to allow HA actions.
One profile per screen; the dialog says that too.

Tests: wifi merge cases, install pre-checks, pending list, profile
metadata; the date-anchored hourly forecast test now follows the clock.
Firmware 0.2.22 stays current.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-14 11:11:23 +02:00

3.5 KiB

Testresultaten app 0.2.27 (2026-09-14, firmware 0.2.22 blijft)

Alleen de app: "Nieuw scherm" is één venster van aansluiten tot flash, ontbrekende wifi gaat in secrets.yaml, en de koppeling in Home Assistant (buiten de add-on) is zichtbaar gemaakt met een knop en een kaart per nog niet gekoppeld profiel.

Geautomatiseerd

  • Python: 84 tests OK (.venv-portal, aiohttp 3.13.3, libyaml). Nieuw of aangepast:
    • test_wifi_reuse: ontbrekende wifi_ssid/wifi_password worden aangevuld met behoud van commentaar en andere secrets (ook een lege wifi_ssid: "" wordt vervangen, niet gedupliceerd; waarden met : , \ en " overleven de round-trip); een ongeldig secrets.yaml blijft onaangeraakt en er komt dan geen profiel; install() weigert een onbekende poort en een bezet bouwslot vóór er iets geschreven is; profile_names() herkent eigen profielen (screen) en levert de API-sleutel, een handmatig ESPHome-profiel niet.
    • test_portal: POST /api/firmware/profiles met een onbekende target geeft 400 zonder profiel; zonder target maakt het profiel en geeft api_key (32 bytes) zonder job; /api/inventory?light=1 toont het profiel in pending met installed: false; /api/firmware lekt de wifi-waarden niet.
    • test_updates: metadata-cache met de extra velden.
    • test_rich_cards.HourlySync was datumgebonden (vaste 13 september) en faalde sinds 14 september op main; de uurvoorspelling in de managertest volgt nu de echte klok.
  • py_compile van de add-on; node --check van app.js.

In de browser (in-app browser tegen de echte server, nep-CLI)

server.py in SCREEN_DEV-modus met een nep-esphome op het pad (schrijft compile-/uploadregels, faalt op een vlag) en een nep-USB-poort (Firmware.ports gepatcht). Doorlopen en per stap bekeken:

  • Nieuw venster: bordkeuze, naam → apparaatnaam (Keuken Guition → keuken-guition), wifi-velden zichtbaar zolang secrets.yaml ontbreekt; na de eerste installatie "Wifi komt uit je ESPHome secrets.yaml" en geen velden meer. secrets.yaml bevat daarna precies wifi_ssid/wifi_password (0600), het profiel het bordpakket.
  • Installeren via USB: fase "Firmware bouwen…" → "Firmware naar … schrijven…" (uit job.stage), log inklapbaar, daarna "Klaar." met API-sleutel, kopieerknop, de vier koppelstappen en de knop Open Apparaten & diensten; CYD-tekst noemt de kalibratie, Guition niet.
  • Mislukte build: "Installeren mislukt", log open met de foutregel, Opnieuw proberen herstart alleen de job (geen tweede profiel) en slaagt na het weghalen van de vlag.
  • Zonder poort: "Later · alleen het profiel bewaren", knop "Profiel bewaren", klaar-scherm met de vervolgroutes.
  • Zijbalk: per niet-gekoppeld profiel een kaart ("geïnstalleerd, maar nog niet in Home Assistant" voor een in deze sessie geflasht profiel, anders "nog niet in Home Assistant … Firmware & USB → bestand"), met Open Apparaten & diensten (navigeert het bovenste venster naar /config/integrations/dashboard; op de dev-server een 404, in HA de integratiepagina) en Kopieer API-sleutel.

Nog niet geverifieerd

  • De echte ESPHome-CLI en USB-detectie (/dev/serial/by-id) in de add-on-container op de Yellow, en de eerste echte flash via dit venster.
  • Of de knop Open Apparaten & diensten vanuit het HA-ingress-iframe naar de integratiepagina springt (zelfde origin, dus verwacht wel).
  • Of Home Assistant het scherm na de flash ontdekt en de kaart in de zijbalk verdwijnt zodra Tegelinstellingen in het register staat.