This website requires JavaScript.
22f92988dd
test(station): run_daemon selbst treiben statt eine Kopie der Schleife
Michael Sauer
2026-09-13 22:20:11 +02:00
b8c7febb8f
fix(station): Ghosting-Ausgleich nach Buendel, Zeitsteuerung testbar
Michael Sauer
2026-09-13 22:04:39 +02:00
38c70ac5ce
fix(station): EnvironmentFile-Syntax, Bias-Zyklus, echte Panel-Tests
Michael Sauer
2026-09-13 21:46:59 +02:00
7a5f26d717
fix(board): Farbtemperaturbereiche der Weiss-Varianten korrigieren
Michael Sauer and Claude Opus 5
2026-09-13 21:28:33 +02:00
eb9efa12f6
fix(station): Panel schlaeft nicht mehr nach jedem Bild, Breitenkuerzung nach Pixeln
Michael Sauer
2026-09-13 21:24:42 +02:00
9b158c8c4f
fix(station): V2/V3-Panelkapselung, wiedereintrittsfaehiges module_init, Unit-Fixes
Michael Sauer
2026-09-13 21:07:01 +02:00
4a029a5d1c
feat(station): E-Paper-Anzeige fuer Modus, Lampe und Auslieferungen
Michael Sauer
2026-09-13 20:44:02 +02:00
1cb5359754
fix(station): Manifest-Merge robust gegen Fehlform, Version pro Eintrag
Michael Sauer
2026-09-13 20:40:03 +02:00
ad2f1b8486
fix(station): Manifest-Form, Teilschluessel-Faelle und Schluessel-Testisolation
Michael Sauer
2026-09-13 20:14:19 +02:00
59c8c150bd
feat(station): Migrationsimages beim Deploy signieren
Michael Sauer
2026-09-13 19:47:51 +02:00
74198f6d31
fix(station): stat-Reihenfolge, Phase nur im Migrationsmodus, eingerueckte Konfig-Werte, kein /tmp-Zugriff im Test
Michael Sauer
2026-09-13 19:28:42 +02:00
1c077a15d0
fix(station): RuntimeDirectory-Race, Statusphase, off/ap_switch-Nachpruefung, Pi-Bestandskonfiguration
Michael Sauer
2026-09-13 19:04:23 +02:00
1d3627bacd
feat(station): Unterbefehle fuer Migrationsmodus und Freigabe
Michael Sauer
2026-09-13 18:39:48 +02:00
d3e608dca0
fix(station): Freigabe atomar verbrauchen, Schreibfehler nicht stillschweigend armed lassen
Michael Sauer
2026-09-13 18:22:49 +02:00
b41ed51018
feat(station): Migrationsroute mit Horch- und Freigabephase
Michael Sauer
2026-09-13 18:06:25 +02:00
e897164960
feat(station): Produkt-ID-Tabelle der alten Klyqa-Firmware
Michael Sauer
2026-09-13 17:48:56 +02:00
78cf01ca6c
fix(tools): SignError statt roher ValueError bei kaputtem Schluesselmaterial
Michael Sauer
2026-09-13 03:24:02 +02:00
e50659d954
feat(tools): Signierwerkzeug fuer Migrationsimages
Michael Sauer
2026-09-13 03:15:08 +02:00
00d5a4c532
feat: Default-Transition, Weckschalter und farbfreier Ausschaltfade
Michael Sauer and Claude Opus 5
2026-09-13 02:56:56 +02:00
62a2b43175
docs: Migration zweier echter Lampen und den SM2135EH-Standby-Fund festhalten
v0.3.8
Michael Sauer and Claude Opus 5
2026-09-13 02:37:08 +02:00
f32216d17f
fix: SM2135EH beim Ausschalten in den Standby legen
Michael Sauer and Claude Opus 5
2026-09-13 02:32:31 +02:00
9768b25d10
docs: passwortloses sudo als Voraussetzung der Rettungsstation dokumentieren
Michael Sauer and Claude Sonnet 5
2026-09-13 01:30:03 +02:00
1d7d087cff
fix: Rettungsstation loggt auch abgelehnte Methoden und Protokollfehler
Michael Sauer and Claude Sonnet 5
2026-09-13 01:29:56 +02:00
435884039b
feat: ninlight-station warnt beim Einschalten vor dem oeffentlichen Default-Passwort
Michael Sauer and Claude Sonnet 5
2026-09-13 01:29:43 +02:00
2dfb1fd1c2
feat: GET system/settings zeigt Herkunft der WLAN-Zugangsdaten
Michael Sauer and Claude Sonnet 5
2026-09-13 01:29:34 +02:00
d464bb167e
fix: Voll-Deploy der Rettungsstation gegen doppelte Images und stillen Loeschverlust absichern
Michael Sauer and Claude Sonnet 5
2026-09-13 01:29:25 +02:00
6daf36540c
docs: Rettungsfall und Abschlusspruefung der Station belegt
Michael Sauer and Claude Opus 5
2026-09-13 01:05:11 +02:00
b169fae89d
docs: Stillstandstest und Wiederaufnahme am EVK belegt
Michael Sauer and Claude Opus 5
2026-09-13 00:54:15 +02:00
3d69412f5a
docs: Wiederaufnahme-Verhalten bei Firmware-Updates differenzieren
Michael Sauer and Claude Sonnet 5
2026-09-13 00:40:55 +02:00
3f27ef4b26
fix: --stall-after Budget der Rettungsstation client-kumulativ zählen
Michael Sauer and Claude Sonnet 5
2026-09-13 00:40:55 +02:00
2f25714248
docs: Abnahme der Pi-Station am EVK festhalten
Michael Sauer and Claude Opus 5
2026-09-13 00:32:22 +02:00
908fda8240
fix: OTA-Log im Recovery-Skip-Pfad nicht mehr als Fehlschlag ausgeben
v0.3.7
Michael Sauer and Claude Sonnet 5
2026-09-13 00:29:12 +02:00
62903a7f05
fix: status.json fuer normale Nutzer lesbar machen, Lesefehler nicht mehr verschlucken
Michael Sauer and Claude Sonnet 5
2026-09-13 00:26:05 +02:00
cb54dac066
build: uv.lock der Station mit einchecken
v0.3.6
Michael Sauer and Claude Opus 5
2026-09-12 13:17:49 +02:00
456058956c
fix: setup_pi.sh und deploy.sh nutzen /usr/bin/ssh und /usr/bin/scp
Michael Sauer and Claude Sonnet 5
2026-09-12 13:13:15 +02:00
3032178247
fix: ninlight-station status gibt Dienstzustand nur einmal aus, Exit 0
Michael Sauer and Claude Sonnet 5
2026-09-12 13:13:03 +02:00
4a8a5d658f
fix: nl_mkimage wieder Python-3.8-tauglich machen
Michael Sauer and Claude Sonnet 5
2026-09-12 13:12:54 +02:00
d23b0d4e02
fix: Rechte-Bug und Passwort-Leck im NM-Profil, Loesch-Bug in deploy.sh
v0.3.5
Michael Sauer and Claude Sonnet 5
2026-09-12 12:52:44 +02:00
fda732d6c4
feat: Aufsetz- und Ausliefer-Skripte der Recovery-Station
Michael Sauer and Claude Sonnet 5
2026-09-12 12:36:03 +02:00
df8e796f1e
fix: nl_mkimage Verifikation robuster gegen Edge Cases und Misuse
Michael Sauer and Claude Haiku 4.5
2026-09-12 12:30:42 +02:00
0ba269a39a
feat: nl_mkimage prüft Images mit --verify
Michael Sauer and Claude Haiku 4.5
2026-09-12 12:25:02 +02:00
cb0a4b035d
fix: Startaufruf absichern und Neustartschleife der Station deckeln
Michael Sauer and Claude Sonnet 5
2026-09-12 12:21:26 +02:00
10cc67d490
fix: Fehlerbehandlung und Quoting der Recovery-Station nach Review
Michael Sauer and Claude Sonnet 5
2026-09-12 12:14:49 +02:00
d41c385375
feat: Konfiguration, systemd-Unit und CLI der Recovery-Station
Michael Sauer and Claude Sonnet 5
2026-09-12 12:02:32 +02:00
a2e87b8855
fix: Nebenläufigkeit und verfrühtes "ok" in der Recovery-Station beheben
Michael Sauer and Claude Sonnet 5
2026-09-12 11:58:18 +02:00
37f4dd425e
feat: HTTP-Server der Recovery-Station
Michael Sauer and Claude Sonnet 5
2026-09-12 11:45:05 +02:00
76a3253322
docs: Recovery am EVK gegen die Pi-Station verifiziert
Michael Sauer and Claude Opus 5
2026-09-12 11:24:18 +02:00
37a5fe2ca9
fix: uebersprungenes Recovery-Image ist kein Fehler mehr
v0.3.4
Michael Sauer and Claude Opus 5
2026-09-12 11:22:17 +02:00
c5d76efb25
docs: auth_all-Ergebnis und die beiden offenen Punkte der EVK-Runde vermerken
Michael Sauer and Claude Opus 5
2026-09-12 11:00:50 +02:00
5e2dff375e
fix: abgewiesener fw_update verdirbt last_ota_error des laufenden Updates nicht mehr
v0.3.3
Michael Sauer and Claude Opus 5
2026-09-12 10:58:09 +02:00
6adf22fb52
docs: EVK-Ergebnisse der OTA-Runde eintragen
Michael Sauer and Claude Opus 5
2026-09-12 10:42:09 +02:00
d56f1d25d2
fix: SHA256-Kontext pro Image initialisieren statt einmal beim Task-Start
v0.3.2
Michael Sauer and Claude Opus 5
2026-09-12 10:38:01 +02:00
6588085679
fix: flash.sh akzeptiert den Port auch mit /dev/-Praefix
Michael Sauer and Claude Opus 5
2026-09-12 10:23:54 +02:00
3841a3473c
docs: Recovery-Zeitobergrenze, aktiven Boot-Scan und offene Pruefpunkte nachziehen
v0.3.1
Michael Sauer
2026-09-12 03:27:33 +02:00
49d6b329b0
fix: printf statt wegkompilierter TLS_DBGPRT_ERR-Meldung bei fls_lock-Fehler
Michael Sauer
2026-09-12 03:27:13 +02:00
f434c013e7
build: Build-Datum zusammen mit der Version bei jedem Build erzeugen
Michael Sauer
2026-09-12 03:15:01 +02:00
a400cc1649
fix: CRC im Settings-Record dort schreiben, wo der Leser sie erwartet
Michael Sauer
2026-09-12 03:14:31 +02:00
8af58d0124
fix: HTTP-Server-Heartbeat auch im Fehlerpfad ticken
Michael Sauer
2026-09-12 03:14:31 +02:00
cf1e6a351c
fix: Recovery-Rettungsweg gegen Endlosschleife, Werksreset und Fremdnetz absichern
Michael Sauer
2026-09-12 03:14:16 +02:00
1822014e48
feat: Licht nach einem OTA wie bei power_on_behaviour=last wiederherstellen
Michael Sauer
2026-09-12 03:13:36 +02:00
b601ddeb9b
fix: Fix-Runde 1 für Task 7 - busy-Beschreibung korrigieren, fw_update-Fehlerantwort dokumentieren
Michael Sauer
2026-09-12 02:51:08 +02:00
682235f3ab
docs: OTA und Recovery dokumentieren
Michael Sauer
2026-09-12 02:45:27 +02:00
247d610fe8
fix: Recovery-Rettungsweg härten (Watchdog-Cap, Konsole, Softap-Bit, Scan-Retry)
Michael Sauer
2026-09-12 02:38:02 +02:00
8fa4af7eb5
feat: Recovery-Download beim Booten
Michael Sauer
2026-09-12 02:24:58 +02:00
7474cd77e1
fix: Fix-Runde 3 für Task 4 - WLAN-Aussetzer bleibt resumable statt sofortigem Abbruch
Michael Sauer
2026-09-12 02:11:56 +02:00
2d5095574d
fix: Fix-Runde 2 für Task 4 - Ablehnung sofort statt nach voller Resume-Schleife, Reset-Guard auch bei OOM greifen lassen
Michael Sauer
2026-09-12 02:04:58 +02:00
37c05d2f90
fix: Fix-Runde 1 für Task 4 - Reset nur bei akzeptiertem OTA-Image, hängende Downloads/Sessions begrenzen
Michael Sauer
2026-09-12 01:56:58 +02:00
aa8151c3d6
feat: OTA über HTTP mit Trailer-Prüfung
Michael Sauer
2026-09-12 01:36:57 +02:00
ebee9e8e61
fix: Versions-Regex in run_mkimage.cmake an NINLIGHT_FW_VERSION verankern
Michael Sauer
2026-09-12 01:28:27 +02:00
4cd7fde0cd
fix: ls-Zeile in build_all.sh statt Duplikat um ota.img erweitern
Michael Sauer
2026-09-12 01:23:33 +02:00
fabca1a6b4
feat: OTA-Image mit Trailer im Build erzeugen
Michael Sauer
2026-09-12 01:23:03 +02:00
76b9c3fef1
test: nl_mkimage für OTA-Trailer-Erzeugung mit Tests anlegen
Michael Sauer
2026-09-12 01:21:42 +02:00
e3be3e84c1
feat: OTA-Trailer bauen und prüfen
Michael Sauer
2026-09-12 01:16:04 +02:00
c96e0442c0
fix: fehlende Felder in gekürzten Settings-Records auf echte Defaults setzen
Michael Sauer
2026-09-12 01:11:18 +02:00
8805aa764d
fix: Härtungen aus dem Plan-2-Review
Michael Sauer
2026-09-12 00:59:40 +02:00
e5145626b0
fix: reset_reason aus system/info entfernen
Michael Sauer
2026-09-12 00:57:08 +02:00
bf8f76ecc3
build: Firmware-Version bei jedem Build neu erzeugen
Michael Sauer
2026-09-12 00:56:38 +02:00
6e9fb09455
test: Settings-Format längentolerant machen, ota_pending ergänzen
Michael Sauer
2026-09-12 00:55:20 +02:00
ed374fc490
docs: Netzwerk-Checkliste nach EVK-Session
Michael Sauer
2026-09-12 00:32:42 +02:00
6754cdfb66
fix: RSSI mit Vorzeichen melden
Michael Sauer
2026-09-12 00:32:37 +02:00
aae7a7462d
docs: Checkliste Netzwerk ergänzt
Michael Sauer
2026-09-11 23:52:18 +02:00
2e90b8fd06
fix: kleinere Netzwerk-Härtungen
Michael Sauer
2026-09-11 23:52:03 +02:00
d098623121
fix: SDK-SoftAP-Parameter löschen
Michael Sauer
2026-09-11 23:51:38 +02:00
5f45b9e996
fix: Gesamt-Timeout für HTTP-Anfragen
Michael Sauer
2026-09-11 23:51:11 +02:00
3250b89986
fix: Onboarding-Test trennt die Verbindung
Michael Sauer
2026-09-11 23:51:03 +02:00
89c764514a
fix: cJSON-Verschachtelung begrenzen
Michael Sauer
2026-09-11 23:50:45 +02:00
de49647f9d
docs: Bruno-Collection, REST-Doku und Netzwerk-Checkliste
Michael Sauer
2026-09-11 23:14:15 +02:00
f11ac8d9cc
fix: mDNS-Init nur einmal, Teilfehler wiederholbar
Michael Sauer
2026-09-11 23:10:51 +02:00
27a6d6caf2
feat: mDNS-Responder für _ninlight._tcp
Michael Sauer
2026-09-11 23:06:04 +02:00
c068156e6c
fix: Send-Timeout für den HTTP-Server
Michael Sauer
2026-09-11 23:03:01 +02:00
15f709594b
feat: HTTP-Server auf Port 3333 mit App-API-Kontext
Michael Sauer
2026-09-11 22:59:34 +02:00
4c2f9e5374
feat: WLAN-Treiber mit Onboarding-AP, Build-Credentials und Befehl net
Michael Sauer
2026-09-11 22:50:43 +02:00
2f7cadaeee
fix: Verbindungs-Timeout im WLAN-Zustandsautomaten
Michael Sauer
2026-09-11 22:42:49 +02:00
2bdeaed98d
feat: WLAN-Zustandsautomat mit Onboarding, Backoff und AP-Fallback
Michael Sauer
2026-09-11 22:35:30 +02:00
dc23d3d887
feat: REST-API mit Routing, Auth und Handlern
Michael Sauer
2026-09-11 22:24:24 +02:00
4a23df1b8d
feat: cJSON, Gerätenamen und HTTP-Parser
Michael Sauer
2026-09-11 22:18:14 +02:00
0648b3a252
fix: Flash-Lock im SDK, Store-Lock, Flush vor Reboot
Michael Sauer
2026-09-11 22:10:28 +02:00
dce9ad2946
docs: Watchdog-Test am EVK bestanden
Michael Sauer
2026-09-11 21:33:50 +02:00
e19ee98ee8
docs: Hardware-Checkliste und README aktualisieren
Michael Sauer
2026-09-11 20:53:50 +02:00
d03b571bb8
docs: irreführende Kommentare zu Flash-Locking und G95-Pinbelegung korrigieren
Michael Sauer
2026-09-11 20:53:43 +02:00