docs: Abnahme an der G95 protokolliert

This commit is contained in:
Michael Sauer
2026-09-16 19:24:29 +02:00
parent 1026f427ca
commit edef034fb1
+31 -14
View File
@@ -1,17 +1,34 @@
# Abnahme an echten Lampen
Dev-HA `ha-klyqa-pet-dev` (HA 2026.9.0), Integration aus `~/workspace/ha-ninlight` gemountet.
Lampen: GU10 RGB 192.168.2.22 / .154 / .38, G95 CW 192.168.2.122 (IPs zum Testzeitpunkt).
Datum: 2026-09-16. Dev-HA `ha-klyqa-pet-dev` (HA 2026.9.0), Integration aus `~/workspace/ha-ninlight`
gemountet, Stand `1026f42`. Geprüft an der **G95 CW** (`ninlight-0a16`, 192.168.2.122, `wifi.source: compiled`).
Ausgangs-Firmware `0.3.8-36-gca9bb`. Sichtprüfungen durch Michael, alle Werte zusätzlich per
`GET device/state` / `system/info` direkt an der Lampe gegengeprüft.
| # | Schritt | Erwartung | Ergebnis | Datum |
|---|---|---|---|---|
| 1 | Alle vier Lampen per IP einrichten | Gerätename, Modell, Firmware korrekt | | |
| 2 | GU10 RGB: an/aus, Helligkeit inkl. kleinster Wert, Farbe, Farbtemperatur, Übergang | Lampe folgt sichtbar, Zustand in HA stimmt | | |
| 3 | G95 CW: an/aus, Helligkeit, 2000 K und 5000 K | kein Farbmodus angeboten, Grenzen stimmen | | |
| 4 | Jede Konfigurations-Entität schreiben | `GET device/state` zeigt den neuen Wert | | |
| 5 | Neustart-Taste | Entitäten kurz nicht verfügbar, dann zurück | | |
| 6 | Lampe stromlos, dann wieder an | nicht verfügbar, einmal geloggt; kommt zurück | | |
| 7 | Token an der Lampe ändern, dann aus HA schalten | Neuanmeldung erscheint; danach Token zurücksetzen | | |
| 8 | Nur Image **ohne** Zugangsdaten passenden Typs in den Ordner | **kein** Update angeboten, Reparaturhinweis | | |
| 9 | Image **mit** Zugangsdaten und höherer Version | Update läuft, neue Version in HA, Lampe weiter unter ihrer IP | | |
| 10 | Image eines anderen Gerätetyps in den Ordner | wird nicht angeboten | | |
| # | Schritt | Erwartung | Ergebnis |
|---|---|---|---|
| 1 | Lampe per IP einrichten | Gerätename, Modell, Firmware korrekt | ✅ „Klyqa G95 Vintage CW/WW 0a16“, `g95_cw`, `0.3.8-36-gca9bb`, MAC-Verknüpfung; Token-Feld vorbelegt; Reparaturhinweis `default_token` erscheint |
| 2 | GU10 RGB: Farbe, Farbtemperatur | Lampe folgt | ⏸ nicht geprüft – keine GU10 zur Hand; RGB-Pfad durch Tests abgedeckt |
| 3 | G95: an/aus, Helligkeit, 2000/5000 K, Übergang | kein Farbmodus, Grenzen stimmen | ✅ nur `color_temp`, 2000–5000 K; HA 1 → Lampe 1 % („leuchtet sehr schwach“); 2000 → 5000 K deutlich sichtbar; 5-s-Übergang weich mit ganz leichten Stufen (Fade-Engine der Firmware) |
| 4 | Jede Konfigurations-Entität schreiben | Lampe zeigt den Wert | ✅ fade_in, fade_out, transition_default, power_on_behaviour, wake_on_change geschrieben und zurückgesetzt; ein POST lief in einen Timeout und wurde als Fehler gemeldet (nicht verschluckt), Wiederholung erfolgreich |
| 5 | Neustart-Taste | Lampe startet neu, kommt zurück | ✅ uptime 22583 → 3; nach ~4 s zurück; in HA durchgehend verfügbar (Toleranz, siehe unten) |
| 6 | Lampe stromlos, dann wieder an | nicht verfügbar, kommt zurück | ✅ „nicht verfügbar“ nach 110 s (3 Abfragen), genau eine Fehlerzeile im Log; nach Strom an in 18 s zurück |
| 7 | Token an der Lampe ändern | Neuanmeldung erscheint | ✅ über Neustart-Taste ausgelöst (401 → „Die Lampe hat das Token abgelehnt“, kein Neustart); Flow weist falsches Token ab (`invalid_auth`), mit richtigem `reauth_successful`; Token zurückgesetzt |
| 8 | Nur Image **ohne** Zugangsdaten (`0.3.8-38-gd3cc9`) | **kein** Angebot, Hinweis | ✅ nicht angeboten; Hinweis `wifi_guard` mit version/device_type/ssid; verschwindet, wenn die Datei entfernt wird |
| 9 | Image **mit** Zugangsdaten `0.3.8-47-g71a57` | Update, Lampe bleibt im WLAN | ✅ nach Freigabe durch Michael installiert; 16 s bis zur neuen Version; gleiche IP, Einstellungen erhalten, schaltbar; Geräteregister aktualisiert; URL mit Port (`:8124`) von der Lampe akzeptiert |
| 10 | Neueres GU10-Image im Ordner | nicht angeboten | ✅ weder Angebot noch Hinweis |
## Befunde der Abnahme
1. **Ein einzelner Poll-Timeout machte die Lampe bis zu 30 s unbedienbar**, HA verwarf Schaltbefehle nur mit
Log-Warnung (REST 200). Behoben in `1026f42`: erst 3 Fehlschläge in Folge → nicht verfügbar; erfolgreiche
Schreibvorgänge machen sofort wieder verfügbar; fehlschlagende Schreibvorgänge melden einen Fehler.
2. **Spec §2 lag beim Auth-Verhalten falsch:** `device/state` (GET **und POST**) ist ohne `auth_all` offen
(gemessen, `nl_api.c:395-402`). Token verlangen nur `system/settings` und `system/command`. Das Token schützt also
vor Umkonfigurieren/Neustart/Umflashen, **nicht** vor Schalten. Reparaturhinweis-Text und README behaupten mehr →
Korrektur ausstehend.
3. **Übergänge** zeigen bei niedriger Helligkeit ganz leichte Stufen – Fade-Engine der Firmware, nicht die Integration.
4. **Testumgebung:** Docker Desktop leitete Port 8123 nach einem Container-Neustart nur noch über IPv6 (`localhost`)
weiter, nicht über `127.0.0.1` oder die LAN-IP. Für Schritt 9 lief eine Test-Weiterleitung `192.168.1.131:8124`.
Die Timeouts traten bei Lastmittel 300–550 auf dem Mac auf (auch bei einem Klyqa-Gerät zeitgleich).
5. `last_ota_error` ohne Fehler wird als „unbekannt“ angezeigt (Ruling: HA-üblich).