docs(bruno): Standalone-Anfragen und die neuen Felder in system/info

This commit is contained in:
Michael Sauer
2026-10-02 23:50:15 +02:00
parent 58cdc73afc
commit e0379445e8
+84 -1
View File
@@ -234,6 +234,16 @@ items:
Enthält `last_ota_error`: `null`, solange kein Update fehlgeschlagen ist, sonst einer von Enthält `last_ota_error`: `null`, solange kein Update fehlgeschlagen ist, sonst einer von
`download`, `crc`, `trailer`, `device_mismatch`, `hash`, `busy` (`busy` heißt: es läuft bereits `download`, `crc`, `trailer`, `device_mismatch`, `hash`, `busy` (`busy` heißt: es läuft bereits
ein Update). Kein `reset_reason` mehr im Feld-Satz. ein Update). Kein `reset_reason` mehr im Feld-Satz.
`wifi.standalone` unterscheidet den dauerhaften eigenen Zugangspunkt vom
Onboarding-AP - `wifi.mode` ist bei beiden `"ap"`. Im AP-Betrieb steht unter
`wifi.ssid` der **laufende** AP-Name, nicht die gespeicherte Stations-SSID; der
Name des Heimnetzes steht damit nicht in dieser tokenfrei lesbaren Antwort.
`sacn.running` sagt, ob der Empfangs-Task lebt und einen Socket haelt - zusammen
mit `sacn.active` (es kommt gerade ein gueltiger Strom an) und `sacn.multicast`
(der letzte Gruppenbeitritt hat geklappt) ist damit unterscheidbar, ob niemand
sendet oder ob der Empfang tot ist.
- info: - info:
name: Get System Settings name: Get System Settings
type: http type: http
@@ -251,6 +261,12 @@ items:
sonst `"compiled"` - dann laeuft die Lampe auf den einkompilierten sonst `"compiled"` - dann laeuft die Lampe auf den einkompilierten
NINLIGHT_WIFI_SSID/-PASSWORD, `wifi.ssid` ist leer, und `GET system/info` kann trotzdem NINLIGHT_WIFI_SSID/-PASSWORD, `wifi.ssid` ist leer, und `GET system/info` kann trotzdem
eine verbundene SSID zeigen. eine verbundene SSID zeigen.
Der `standalone`-Block zeigt `enabled`, den **gewuenschten** AP-Namen (`ssid`: der
gespeicherte, ohne eigenen der Hostname), `channel` und `pulse`. Das AP-Passwort
steht nie darin. Der gewuenschte Name kann vom laufenden abweichen, den
`GET system/info` meldet - genau das ist das Erkennungsmerkmal fuer einen Rueckfall
auf die Vorgaben nach mehrfach gescheitertem AP-Aufbau.
- info: - info:
name: Set WiFi name: Set WiFi
type: http type: http
@@ -350,10 +366,77 @@ items:
timeout: 0 timeout: 0
followRedirects: true followRedirects: true
maxRedirects: 5 maxRedirects: 5
- info:
name: Standalone einschalten
type: http
seq: 8
http:
method: PUT
url: '{{device_address}}:{{device_port}}/api/v1/system/settings'
body:
type: json
data: |-
{
"type": "standalone",
"enabled": true,
"password": "geheim123",
"ssid": "Buehne",
"channel": 6,
"pulse": true
}
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
docs: |-
Die Lampe spannt dauerhaft einen eigenen Zugangspunkt auf, statt sich in ein WLAN
einzuwaehlen - danach ist sie unter `192.168.4.1` erreichbar, per mDNS als
`<hostname>.local`. Antwort **202** `{"status":"standalone"}`, nicht 200: die
Antwort muss das Geraet verlassen haben, bevor das Netz unter der Verbindung
weggezogen wird.
`password` ist beim Einschalten Pflicht, solange keines gespeichert ist (8..63
Zeichen). `ssid` (1..32), `channel` (1..13, Vorgabe 6) und `pulse` sind optional
und behalten sonst ihren gespeicherten Wert; ein leerer `ssid`-String wird mit 400
`invalid ssid` abgelehnt.
**Achtung beim Ausprobieren:** Aenderst du Name oder Passwort, waehrend du ueber
genau diesen AP verbunden bist, baut die Lampe ihn neu auf und wirft dich hinaus -
die 202 kommt noch an, danach musst du dem neuen Netz beitreten.
Anders als der unkonfigurierte Onboarding-AP ist der Standalone-AP **nicht**
token-frei: ab da gilt der Tokenschutz wie im Normalbetrieb.
- info:
name: Standalone ausschalten
type: http
seq: 9
http:
method: PUT
url: '{{device_address}}:{{device_port}}/api/v1/system/settings'
body:
type: json
data: |-
{
"type": "standalone",
"enabled": false
}
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
docs: |-
Braucht kein Passwort. Hat die Lampe gespeicherte WLAN-Daten, waehlt sie sich damit
wieder ein; ohne solche oeffnet sie den unkonfigurierten Onboarding-AP
`ninlight-<mac4>` - der ist dann wieder token-frei.
Der gespeicherte AP-Name bleibt dabei in den Einstellungen stehen und greift beim
naechsten Einschalten des Modus erneut.
- info: - info:
name: Commands name: Commands
type: folder type: folder
seq: 8 seq: 10
items: items:
- info: - info:
name: Ping name: Ping