Files

35 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Abnahme an echten Lampen
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 |
|---|---|---|---|
| 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).