diff --git a/README.md b/README.md index b6bae16..811cc0e 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,21 @@ angeboten. Alternativ „Integration hinzufügen → ninlight" und IP-Adresse od `ninlight-xxxx.local` eingeben. Das Token-Feld ist mit dem **öffentlichen Vorgabe-Token** `aabbccddeeff0011223344` vorbelegt. -Solange eine Lampe dieses Token nutzt, kann jeder in deinem Netz sie steuern und neu flashen; -HA zeigt dafür einen Reparaturhinweis. Eigenes Token auf der Lampe setzen -(`PUT /api/v1/system/settings` mit `{"type":"token","token":"…"}`) und in HA über -*Neu konfigurieren* eintragen. +Solange eine Lampe dieses Token nutzt, kann jeder in deinem Netz sie neu konfigurieren, neu +starten und neu flashen; HA zeigt dafür einen Reparaturhinweis. Schalten und Dimmen sind ohne +`auth_all` ohnehin für jeden im Netz möglich – ein eigenes Token allein schützt nicht davor. + +Eigenes Token auf der Lampe setzen (`PUT /api/v1/system/settings` mit +`{"type":"token","token":"…"}`) und in HA über *Neu konfigurieren* eintragen. Willst du zusätzlich +das Schalten schützen, aktiviere `auth_all` auf der Lampe: + +``` +PUT /api/v1/system/settings +{"type": "auth", "all": true} +``` + +Mit aktiviertem `auth_all` verlangt jede Abfrage – auch lesende – das Token; ein falsches oder +fehlendes Token führt dann sofort zur Neuanmeldung. Wechselt eine Lampe ihre IP, aktualisiert mDNS den Eintrag selbst (Identität ist die MAC). Das gilt ungeprüft: Ein Gerät im selben Netz, das dieselbe MAC per mDNS ankündigt, übernimmt @@ -46,6 +57,14 @@ Lampe gehen (relevant nur in einem bereits kompromittierten Netz). | IP-Adresse, freier Speicher, letzter Update-Fehler, letzter Start | Sensor (Diagnose) | standardmäßig deaktiviert | | Firmware | Update | siehe unten | +## Verfügbarkeit + +Kurze Aussetzer werden toleriert: Erst nach 3 fehlgeschlagenen Abfragen in Folge gilt die Lampe +als nicht verfügbar. Beim Standardintervall von 30 s und 10 s Timeout sind das 90–120 s (gemessen +an der G95: 90 s und 110 s). Fehlgeschlagene Schaltbefehle werden dagegen sofort als Fehler +gemeldet. Im HA-Debug-Log erscheinen tolerierte Fehlschläge als „poll failed (n/3)“ und trotzdem +mit „success: True“, weil der zuletzt bekannte Zustand weiterverwendet wird. + ## Firmware-Updates Home Assistant bietet Updates aus dem Ordner **`/ninlight_firmware/`** an (wird beim diff --git a/custom_components/ninlight/strings.json b/custom_components/ninlight/strings.json index 2c804b2..f8eb724 100644 --- a/custom_components/ninlight/strings.json +++ b/custom_components/ninlight/strings.json @@ -96,7 +96,7 @@ "issues": { "default_token": { "title": "{name} uses the public default token", - "description": "Anyone on your network can control and reflash this lamp with the default token. Set your own token on the lamp and enter it via reconfigure." + "description": "With the public default token, anyone on your network can reconfigure, restart, or reflash this lamp. Switching and dimming are possible for anyone on the network regardless, unless auth_all is enabled. Set your own token on the lamp and enter it via reconfigure; to also protect switching, additionally enable auth_all." }, "wifi_guard": { "title": "Firmware for {name} not offered", diff --git a/custom_components/ninlight/translations/de.json b/custom_components/ninlight/translations/de.json index b2a29c3..486bc94 100644 --- a/custom_components/ninlight/translations/de.json +++ b/custom_components/ninlight/translations/de.json @@ -96,7 +96,7 @@ "issues": { "default_token": { "title": "{name} nutzt das öffentliche Vorgabe-Token", - "description": "Mit dem Vorgabe-Token kann jeder in deinem Netz diese Lampe steuern und neu flashen. Setze ein eigenes Token auf der Lampe und trage es über „Neu konfigurieren“ ein." + "description": "Mit dem öffentlichen Vorgabe-Token kann jeder in deinem Netz diese Lampe neu konfigurieren, neu starten und neu flashen. Schalten und Dimmen sind ohne „auth_all“ ohnehin für jeden im Netz möglich. Setze ein eigenes Token auf der Lampe und trage es über „Neu konfigurieren“ ein; willst du auch das Schalten schützen, aktiviere zusätzlich auth_all." }, "wifi_guard": { "title": "Firmware für {name} nicht angeboten", diff --git a/custom_components/ninlight/translations/en.json b/custom_components/ninlight/translations/en.json index 2c804b2..f8eb724 100644 --- a/custom_components/ninlight/translations/en.json +++ b/custom_components/ninlight/translations/en.json @@ -96,7 +96,7 @@ "issues": { "default_token": { "title": "{name} uses the public default token", - "description": "Anyone on your network can control and reflash this lamp with the default token. Set your own token on the lamp and enter it via reconfigure." + "description": "With the public default token, anyone on your network can reconfigure, restart, or reflash this lamp. Switching and dimming are possible for anyone on the network regardless, unless auth_all is enabled. Set your own token on the lamp and enter it via reconfigure; to also protect switching, additionally enable auth_all." }, "wifi_guard": { "title": "Firmware for {name} not offered",