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>
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user