Zum Inhalt springen

Fusion/Diagnose und Fehlersuche

Aus WetterCube Wiki

Das /log lesen

Das Gerät führt ein kleines Protokoll im Speicher (die letzten 40 Einträge, nach einem Neustart leer). Es lässt sich im Browser öffnen:

Zeile im Kopf Bedeutung
Version installierte Firmware
Freier Heap freier interner RAM: aktuell, tiefster Stand seit dem Start und größter zusammenhängender Block. Für HTTPS werden etwa 40–50 KB am Stück gebraucht
PSRAM freier externer RAM (von 8 MB), tiefster Stand, größter freier Block
Uptime Minuten seit dem Start
LVGL-Speicher freier Speicher im LVGL-Pool (192 KB, liegt im PSRAM) und größter freier Block
Letzter Neustart Strom angeschlossen, Software-Neustart (z. B. nach Update), Absturz, Watchdog oder Brownout
WLAN beim Start Dauer und Signalstärke oder der Fehlergrund (z. B. „Netzwerk nicht gefunden“, „Passwort?“)
WLAN jetzt Netzwerk, Signalstärke und IP-Adresse
Standort Stadt mit Koordinaten (0,0000 heißt: noch nicht gefunden)
Letzter erfolgreicher Abruf je Quelle (Wetter, DWD-Pollen, Pollen/Luft, DWD-Warnungen, Karte, Biowetter), wie lange er her ist
Einstellungen ob WLAN-Daten gespeichert sind, Ort, belegte NVS-Einträge
Letzte /api/ampel-Anfrage wie lange her sich die WetterAmpel gemeldet hat
Update installierte und neueste bekannte Version, letzte Prüfung

Darunter stehen die letzten 40 Ereignisse, neueste zuerst, mit Uhrzeit (oder Sekunden seit dem Start, solange die Uhr nicht synchronisiert ist). Erfolgreiche Abrufe werden nicht einzeln protokolliert, nur Fehler und Besonderheiten:

Eintrag Bedeutung
[Boot] v…, Neustart-Grund: … Start mit Grund des Neustarts
[Karte] Dekodiere … / lodepng malloc fehlgeschlagen: … Bytes / PNG-Dekodierung fehlgeschlagen (83) Warnkarte: Größe und freier PSRAM vor dem Dekodieren; bei Fehler 83 steht die Größe des Blocks, der nicht mehr am Stück frei war (nach 2 Minuten erneuter Versuch)
[OTA] Neue Firmware, wird nach gesundem Start als gueltig markiert / Start gesund: Firmware v… als gueltig markiert Rollback-Schutz: neue Firmware läuft auf Probe, nach 60 s gilt sie als gültig (siehe Wiederherstellung)
[OTA] Rollback: Version … ist nicht gestartet, die vorherige laeuft das letzte Update ist nicht gestartet, die vorherige Version läuft wieder
Firmware-Slot: app0 (gueltig), andere Version im Slot app1: … / Notfall-App: Version … installiert Kopf des Logs: laufender Slot, Zustand, Version im anderen Slot und Zustand der Notfall-App; Notfall-Kopie der Firmware auf der Karte: … zeigt die „letzte gute Version“ auf der Karte
[Notfall] Wechsel in die Wiederherstellung (Grund …) / [Notfall] … Abstürze in Folge: Hinweis … die Wiederherstellung wurde gestartet bzw. der Absturz-Hinweis gezeigt
[Karte] erkannt: bereit, … GB frei / nicht erkannt Speicherkarte gefunden bzw. nicht vorhanden (optional, siehe Speicherkarte); die Zeile „Speicherkarte“ im Kopf des Logs zeigt den Status
[Boot] Zuletzt aktiv vor dem Neustart: … nur nach einem Absturz (Panic, Watchdog, Brownout): die letzte Tätigkeit, z. B. „Karte: PNG dekodieren“ oder „Screen: Temperaturverlauf“; steht auch als Zeile „Zuletzt aktiv vor dem Neustart“ im Kopf des Logs
[WLAN] verbunden nach 1.9 s, Signal -63 dBm WLAN steht
[WLAN] Versuch 1 fehlgeschlagen: … / Verbindung beim Start fehlgeschlagen … WLAN nicht erreicht, mit Grund; danach öffnet sich das Portal und versucht es regelmäßig erneut
[WLAN] Netzwerk gewechselt zu '…', Neustart WLAN-Wechsel über die Web-Oberfläche
[WLAN] getrennt, verbinde neu die Verbindung riss im Betrieb ab
[Start] mDNS: …, [WebUI] http://….local Name und Web-Oberfläche sind erreichbar; bei Fehlschlag steht „mDNS konnte nicht gestartet werden“ (dann nur per IP)
[Portal] … Einrichtungsportal: Start, verbundene Geräte, Anfragen
[Zeit] NTP-Synchronisation fehlgeschlagen die Uhrzeit konnte nicht geholt werden
[Geo] Suche 'Berlin' / Gefunden: 52.5200, 13.4050 Stadt wurde gefunden
[Geo] Fehlgeschlagen fuer '…': kein Treffer Stadtname nicht gefunden (Umlaute? Tippfehler?)
[Geo] Fehlgeschlagen fuer '…': HTTP -1 oder JSON-Fehler keine Verbindung bzw. Antwort nicht lesbar
[Config] gespeichert / Standort geaendert: … Änderungen über die Web-Oberfläche
[Sicherung] … Einstellungen wiederhergestellt, Neustart eine Sicherung wurde eingespielt
[Wetter] HTTP …, TLS …, SRAM frei … / JSON-Parse fehlgeschlagen Wetter-Abruf fehlgeschlagen, mit TLS-Fehler und Speicherstand
[Pollen] …, [Luft] …, [Bio] …, [DWD-Warn] …, [Karte] … Abruffehler der jeweiligen Quelle mit Grund; [Karte] 1000x… in … ms zeigt eine erfolgreich geladene Karte
[Update] Pruefung: installiert …, verfuegbar … Versionsprüfung (siehe Updates)
[OTA] Lade …, … Bytes geschrieben, Neustart Update läuft bzw. ist fertig
[OTA] Fehler: … Update fehlgeschlagen

Absturz-Aufzeichnung

Stürzt das Gerät ab (Panic), merkt es sich Ursache, Aufgabe und Rücksprung-Adressen und schreibt sie beim nächsten Start ins /log und auf die Speicherkarte, zum Beispiel:

[Boot] v0.9.4, Neustart-Grund: ABSTURZ (Panic)
[Boot] Zuletzt aktiv vor dem Neustart: UI: Temperaturverlauf
[Absturz] LoadProhibited, Aufgabe 'main', Adresse 0x4200c9b5, Ausnahme 28
[Absturz] Rücksprünge: 0x4200c9b5 0x420364ae 0x420c9d1c ...

Wer einen Absturz melden will, kopiert die Zeilen mit [Boot] und [Absturz] in das Issue. Mit den Adressen lässt sich der Absturz bis auf die Zeile im Programm zurückverfolgen. Die Aufzeichnung gibt es ab Version 0.9.4 (bei Abstürzen davor steht nur „Zuletzt aktiv vor dem Neustart“). Zum Prüfen der Aufzeichnung löst POST /api/absturztest?ja=1 absichtlich einen Absturz aus.

Serieller Monitor

Alle Log-Meldungen erscheinen zusätzlich im Seriellen Monitor (115200 Baud, Ausgabe über den USB-UART des Boards). Nach dem Öffnen das Board einmal neu starten, damit die Meldungen vom Start an sichtbar sind.

Typische Probleme

Problem Ursache und Abhilfe
Gerät zeigt den Einrichtungsmodus, obwohl das WLAN eingerichtet war Die Zugangsdaten sind noch gespeichert. Router erreichbar? 2,4-GHz-WLAN aktiv? Das Gerät versucht es von selbst erneut. Im /log steht der Grund unter „WLAN beim Start“
Aussetzer, Neustarts Im /log „Letzter Neustart: BROWNOUT“? Dann ein Netzteil mit mindestens 5 V / 2 A und ein kurzes Kabel verwenden
Warnkarte bleibt leer oder veraltet Im /log nach [Karte] suchen: „Download fehlgeschlagen“ heißt, der DWD-Server war nicht erreichbar (neuer Versuch nach 2 Minuten). „PNG-Dekodierung fehlgeschlagen (83)“ bedeutet zu wenig Speicher am Stück: bis v0.3.9 im LVGL-Pool, bis v0.3.15 bei jeder Aktualisierung nach dem Start, weil die alte Karte noch im PSRAM lag. Beides ist behoben (v0.3.10, v0.3.16)
Wetterwerte stehen still /log ansehen: Abruffehler stehen dort mit Speicherstand
Update-Symbol erscheint nicht Es erscheint nur, wenn eine neuere Version veröffentlicht ist. In der Web-Oberfläche erzwingt „Auf Updates prüfen“ eine sofortige Prüfung
Update bricht mit „download error“ ab GitHub Pages liefert die neue Firmware manchmal erst nach einigen Minuten. Kurz warten und wiederholen
Stadt wird nicht gefunden Umlaute weglassen (Munchen, Koln), Namen prüfen. Im Log steht bei [Geo] der Grund
Uhrzeit falsch / Nachtmodus greift nicht Die Zeit kommt per NTP und braucht Internet. Im /log „WLAN jetzt“ und [Zeit] prüfen
Ampel zeigt dauerhaft dieselbe Farbe „Letzte /api/ampel-Anfrage“ im /log prüfen: deutlich über 30 s heißt, die Ampel meldet sich nicht (WLAN oder Gerät prüfen)