fix: Fix-Runde 1 für Task 7 - busy-Beschreibung korrigieren, fw_update-Fehlerantwort dokumentieren
This commit is contained in:
@@ -88,7 +88,10 @@ Netz-Update über die REST-API:
|
|||||||
-d '{"command":{"type":"fw_update","url":"http://<host-ip>:8000/pfad/zur/ninlight_evk_ota.img"}}'
|
-d '{"command":{"type":"fw_update","url":"http://<host-ip>:8000/pfad/zur/ninlight_evk_ota.img"}}'
|
||||||
|
|
||||||
Antwort `202 {"status":"updating"}` startet den Download im Hintergrund; ein per HTTP-Server bereitgestelltes
|
Antwort `202 {"status":"updating"}` startet den Download im Hintergrund; ein per HTTP-Server bereitgestelltes
|
||||||
`_ota.img` reicht (z.B. `python3 -m http.server 8000`). Läuft der Trailer- bzw. Hash-Check durch, resettet die
|
`_ota.img` reicht (z.B. `python3 -m http.server 8000`). Eine ungültige URL (kein `http://`-Präfix, oder zu
|
||||||
|
kurz/lang) beantwortet die API sofort mit `400`, ohne dass ein Download versucht wird. Läuft bereits ein
|
||||||
|
Update, oder scheitert der Start aus einem anderen Grund, antwortet sie mit `409` und dem Grund im Body
|
||||||
|
(gleicher Wert wie `last_ota_error`). Läuft der Trailer- bzw. Hash-Check durch, resettet die
|
||||||
Lampe und bootet mit der neuen Version. Wird das Image abgelehnt, gibt es **keinen** Reset — die Lampe läuft
|
Lampe und bootet mit der neuen Version. Wird das Image abgelehnt, gibt es **keinen** Reset — die Lampe läuft
|
||||||
mit der alten Firmware weiter und trägt den Grund in `last_ota_error` (`GET system/info`) ein. Ein
|
mit der alten Firmware weiter und trägt den Grund in `last_ota_error` (`GET system/info`) ein. Ein
|
||||||
Verbindungsabbruch mitten im Download löst dagegen einen Wiederaufnahmeversuch per HTTP-Range aus (begrenzte
|
Verbindungsabbruch mitten im Download löst dagegen einen Wiederaufnahmeversuch per HTTP-Range aus (begrenzte
|
||||||
@@ -103,7 +106,7 @@ Werte von `last_ota_error` (`null`, solange nichts fehlgeschlagen ist):
|
|||||||
| `trailer` | Trailer fehlt, ist zu kurz oder hat eine falsche Magic/Version |
|
| `trailer` | Trailer fehlt, ist zu kurz oder hat eine falsche Magic/Version |
|
||||||
| `device_mismatch` | Trailer nennt einen anderen Gerätetyp |
|
| `device_mismatch` | Trailer nennt einen anderen Gerätetyp |
|
||||||
| `hash` | SHA256 im Trailer stimmt nicht mit dem übertragenen Image überein |
|
| `hash` | SHA256 im Trailer stimmt nicht mit dem übertragenen Image überein |
|
||||||
| `busy` | es läuft bereits ein Update, oder die übergebene URL war ungültig |
|
| `busy` | es läuft bereits ein Update |
|
||||||
|
|
||||||
Ein erneuter `fw_update`-Aufruf mit einem gültigen Image funktioniert nach einer Ablehnung sofort, ohne
|
Ein erneuter `fw_update`-Aufruf mit einem gültigen Image funktioniert nach einer Ablehnung sofort, ohne
|
||||||
manuellen Reboot.
|
manuellen Reboot.
|
||||||
|
|||||||
+6
-1
@@ -211,7 +211,8 @@ items:
|
|||||||
maxRedirects: 5
|
maxRedirects: 5
|
||||||
docs: |-
|
docs: |-
|
||||||
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`. Kein `reset_reason` mehr im Feld-Satz.
|
`download`, `crc`, `trailer`, `device_mismatch`, `hash`, `busy` (`busy` heißt: es läuft bereits
|
||||||
|
ein Update). Kein `reset_reason` mehr im Feld-Satz.
|
||||||
- info:
|
- info:
|
||||||
name: Get System Settings
|
name: Get System Settings
|
||||||
type: http
|
type: http
|
||||||
@@ -387,6 +388,10 @@ items:
|
|||||||
timeout: 0
|
timeout: 0
|
||||||
followRedirects: true
|
followRedirects: true
|
||||||
maxRedirects: 5
|
maxRedirects: 5
|
||||||
|
docs: |-
|
||||||
|
Erfolg: `202 {"status":"updating"}`, Download startet im Hintergrund. Ungültige URL (kein
|
||||||
|
`http://`-Präfix, zu kurz/lang): `400`. Läuft bereits ein Update oder scheitert der Start
|
||||||
|
sonstwie: `409` mit dem Grund im Body (gleicher Wert wie `last_ota_error`, z.B. `"busy"`).
|
||||||
request:
|
request:
|
||||||
headers:
|
headers:
|
||||||
- name: Authorization
|
- name: Authorization
|
||||||
|
|||||||
Reference in New Issue
Block a user