Releases: Alphascrypt/dynamic-price-clock
Release list
v4.6.15 - Favicon aktualisiert sich jetzt automatisch
Behebt: das Tab-Icon (Favicon) aenderte seine Farbe nicht mit, wenn sich
der Strompreis aenderte.
Ursache: Kein Server-Bug - die Preisfarbe wurde schon immer korrekt live
berechnet. Browser pruefen das Tab-Icon aber nur bei einer echten Navigation
oder einem Neuladen der Seite erneut ab, nicht periodisch waehrend eine
Seite offen bleibt. Da Kiosk-Seiten bewusst dauerhaft offen bleiben (und
auch die Startseite waehrend normaler Nutzung nicht neu laedt), blieb das
Icon auf der Farbe vom letzten tatsaechlichen Seitenaufruf stehen.
Fix: Ein periodischer Cache-Buster (alle 30 Sekunden) zwingt den
Browser, das Icon erneut abzurufen und die aktuelle Farbe zu zeigen -
eingebaut auf allen betroffenen Seiten (Startseite, Konto, WLAN, Kiosk 1,
Kiosk 2).
Live auf dem Geraet verifiziert.
v4.6.14 - Konto-Seite: Anker-Rohdaten-Block behoben
Behebt: "Rohdaten der letzten Anker-Antwort" auf der Konto-Seite (unter
"Anker Solarbank") zeigte nur den Aufklapper, aber keinen Inhalt.
Root Cause: Dieselbe Fehlerklasse wie beim Displays-Seiten-Fix (v4.6.7).
Die Konto-Seite baute sich als ein einziger grosser Textblock auf; das
Anhaengen der oft mehrere KB grossen rohen Anker-JSON-Antwort daran
scheiterte bei knappem zusammenhaengendem Speicher, ohne Fehlermeldung.
Fix: Gleiches Chunked-Transfer-Muster wie beim Displays-Fix - die Seite
wird jetzt in kleinen Haeppchen gesendet, mit gezieltem Flush direkt vor
dem grossen Rohdaten-Block.
Live auf dem Geraet verifiziert: der Rohdaten-Block erscheint jetzt
zuverlaessig mit echtem Inhalt.
v4.6.13 - Anker-Wallbox-Status im Energiefluss-Monitor
Neues Feature: die Anker-Wallbox wird jetzt im Energiefluss-Monitor auf
Kiosk2 als kleine Statuszeile (Gerätename + Verbindungsstatus) oben links
im Hub-Diagramm angezeigt.
Keine Live-Ladeleistung: Vor dem Einbau live während eines tatsächlich
laufenden Ladevorgangs geprüft, was die Anker-API dafür hergibt - das Feld
"power" blieb ein leerer String, die Zustandsfelder blieben unverändert bei
0, auch während das Auto aktiv lud. Die Abfrage, die auch für Solarbank/PV
genutzt wird, liefert fürs Laden offenbar nur Registrierungsdaten, keine
Live-Telemetrie. Deshalb bewusst nur Name + Verbindung, keine erfundene
Leistungsanzeige.
Live auf dem Geräte verifiziert: Wallbox wird korrekt als verbunden erkannt
und angezeigt.
v4.6.12 - Debug: Layout-Ueberlappung, Kollisions-Algorithmus, NVS-Fix
Ergebnis eines gezielten Debug-Durchlaufs (alle Kiosk-Boxen: Groesse,
Inhalt, Responsive-Verhalten).
Fund 1: Kiosk2-Landscape-Layout-Ueberlappung. Das Energiefluss-Widget
ueberlappte vollstaendig das Preisdiagramm (dadurch praktisch unsichtbar)
und teilweise das Preis-Gauge. Live korrigiert.
Fund 2: Root Cause im Kollisions-Algorithmus. Der Verschiebe-
Mechanismus im Anordnen-Modus prüfte weggeschobene Widgets bisher nur gegen
das aktiv gezogene Widget, nie untereinander - eine Kettenreaktion konnte
so zwei ANDERE Widgets ueberlappend zurücklassen (erklaert Fund 1). Jetzt
werden alle Paare pro Durchgang geprüft.
Fund 3: NVS-Speicherfehler bei Kiosk/Startseiten-Widget-Positionen.
Beim Verifizieren von Fund 1 zeigte sich, dass die Korrektur einen
Neustart nicht ueberlebte - derselbe, bereits einmal an anderer Stelle
gefundene NVS-Seiten-Fragmentierungs-Fehler, hier aber nie behoben.
Nachgeruestet und ueber zwei Neustarts als dauerhaft verifiziert.
Zusaetzlich geprueft, sauber: Kiosk1 (Hoch-/Querformat), Kiosk2
(Hochformat), Startseite - keine weiteren Ueberlappungen. Displays-Seite
laedt weiterhin vollstaendig. Box-Inhalte liefern plausible Live-Werte.
Einschraenkung: Echtes Drag&Drop im Anordnen-Modus konnte mangels
Browser-Zugriff auf das Geraet nicht visuell getestet werden - bitte bei
Gelegenheit selbst gegenpruefen.
v4.6.11 - Echter TLS-Speicher-Leak behoben
Wichtiges Update: behebt die eigentliche Ursache hinter "JSON Fehler:
NoMemory" (v4.6.10 hatte nur Symptome gemildert, nicht die Wurzel behoben).
Root Cause: Ein echter TLS-Speicher-Leak, kein reines Fragmentierungs-
problem. Von 7 Funktionen, die eine eigene Internetverbindung aufbauen
(Tibber, aWATTar, Anker-Login, Anker-Poll, GitHub-Redirect-Aufloesung),
haben nur 2 den Verbindungsspeicher nach der Anfrage korrekt freigegeben.
Die anderen 5 verliessen sich auf automatisches Aufraeumen, das auf diesem
Geraet nicht zuverlaessig genug greift - jede einzelne Anfrage liess ein
Stueck TLS-Speicher haengen. Am staerksten betroffen: der Anker-Solarbank-
Poll, der alle 60 Sekunden laeuft.
Dadurch konnte der freie Speicher innerhalb weniger Minuten praktisch auf
Null sinken (live bestaetigt: "frei 1 KB, max. am Stueck 0 KB").
Fix: Explizite Freigabe an allen 5 fehlenden Stellen nachgeruestet.
Live ueber mehrere Minuten und mehrere Anker-Poll-Zyklen als stabil
verifiziert - kein erneutes Auftreten des Fehlers.
v4.6.10 - JSON Fehler NoMemory auf Startseite behoben
Behebt: "JSON Fehler: NoMemory" auf der Startseite.
Ursache: Dieselbe Heap-Fragmentierungs-Problematik, die in dieser
Firmware schon an anderen Stellen aufgetreten und behoben wurde (genug
freier Speicher insgesamt, aber kein ausreichend grosser zusammenhaengender
Block verfuegbar). Beim Tibber-Preis-Update musste die komplette Rohantwort
(inklusive 40 Tagen Verlaufsdaten) zuerst vollstaendig empfangen werden,
bevor die eingebaute Feld-Filterung ueberhaupt greifen konnte.
Fix:
- Abgefragter Zeitraum von 40 auf 31 Tage reduziert - deckt weiterhin jeden
Kalendermonat vollstaendig ab, verkleinert aber die Antwortgroesse. - Bei einem JSON-Fehler wird jetzt zusaetzlich eine Heap-Diagnose (freier
Speicher, groesster zusammenhaengender Block, Antwortgroesse) angezeigt,
damit ein erneutes Auftreten sofort erkennbar ist.
Der akut gemeldete Fehlerzustand ist durch den Neustart beim Update bereits
behoben - live bestaetigt: Preisdaten werden wieder normal angezeigt.
v4.6.9 - PV-Strings als eigene, verschiebbare Box
Die in v4.6.8 eingefuehrten PV-String-Anzeigen (Name + Watt je Solarbank-
Eingang) sind jetzt eine eigene Box auf Kiosk2, statt fest unterhalb des
Energiefluss-Diagramms zu haengen. Wie jedes andere Widget laesst sie sich
im Anordnen-Modus frei verschieben und in der Groesse veraendern.
Live auf dem Geraet verifiziert: eigene Box im HTML, korrekt im Anordnen-
Raster registriert, weiterhin korrekte Live-Werte ueber die Anker-API.
v4.6.8 - PV-Strings im Energiefluss-Monitor
Neues Feature: der Energiefluss-Monitor auf Kiosk2 zeigt jetzt zusaetzlich
die einzelnen PV-Strings (Solarbank-Eingaenge) mit ihrem jeweiligen Namen
und der aktuellen Leistung in Watt an - als kleine Chips unterhalb des
Hub-Diagramms.
Wichtiger Hinweis: Spannung ist nicht verfuegbar. Die Anker-Cloud-API
liefert an keiner Stelle einen Spannungswert pro PV-String, nur die
Leistung (Watt) - das wurde anhand der rohen API-Antwort ueberprueft, bevor
das Feature gebaut wurde. Es gibt technisch keine Moeglichkeit, die
Spannung zusaetzlich anzuzeigen, ohne dass Anker das selbst in der API
ergaenzt.
Die Namen der Strings sind die, die du selbst in der Anker-App vergeben
hast (in diesem Fall z.B. "PV1 Gaube", "PV3 10m" usw.).
Live auf dem Geraet verifiziert: die Summe der einzelnen String-Leistungen
entspricht exakt der angezeigten Gesamt-PV-Leistung.
v4.6.7 - Layout-Editor auf Displays-Seite behoben
Behebt: "Unter Displays ist der Layout-Editor weg."
Root Cause: Die Displays-Seite baute ihre komplette, sehr grosse HTML-
Ausgabe (Display-Einstellungen, Preisbalken, Tagesdiagramm, 24h-Ring, sowie
160 versteckte Formularfelder fuer die zwei physischen Rund-Displays) als
einen einzigen grossen Textblock auf und schickte ihn erst ganz am Ende ab.
Live bestaetigt: dabei brach die Uebertragung reproduzierbar immer an
derselben Stelle ab (mitten in den Formularfeldern von Display 1) - Display 2
und der komplette Layout-Editor-Bereich kamen im Browser nie an. Ursache ist
ein bereits an anderer Stelle in dieser Firmware bekanntes Verhalten: die
verwendete String-Klasse verliert beim Anhaengen von Text stillschweigend
Daten, wenn dafuer kurzzeitig kein ausreichend grosser freier Speicherblock
verfuegbar ist - ohne Fehlermeldung oder Absturz.
Fix: Die Seite wird jetzt wie die Startseite in vielen kleinen Haeppchen
gesendet statt als ein grosser Block, mit besonders feiner Aufteilung genau
an der Stelle, wo der Abbruch auftrat.
Live auf dem Geraet verifiziert: die Seite liefert jetzt bei wiederholten
Abrufen konsistent die vollstaendige Groesse, beide Displays komplett mit
allen Feldern, der Layout-Editor laedt.
v4.6.6 - Netzbezug-Schaetzung auch ohne Tibber Pulse
Tibbers eigene Tages-Verbrauchsdaten liefern fuer manche Zaehlerkonfigurationen
am aktuellen Kalendertag ueberhaupt keinen Wert (nicht nur verzoegert). Die in
v4.6.5 eingefuehrte Live-Schaetzung ueber Tibber Pulse deckt das ab, haengt
aber an einer separaten WebSocket-Verbindung.
Neu: eine zweite, komplett unabhaengige Berechnung des heutigen Netzbezugs
direkt aus den ohnehin schon laufend abgefragten Anker-Solarbank-Werten
(Hausverbrauch minus Solarbank-Ausgang, ueber den Tag aufsummiert) - dieselbe
Formel, die bereits im Energiefluss-Diagramm verwendet wird. Funktioniert auch
wenn Tibber Pulse gerade nicht verbunden ist oder gar nicht verbaut wurde.
Die Anzeige waehlt automatisch die genaueste verfuegbare Quelle:
Tibbers eigener finaler Wert > Tibber-Pulse-Live-Schaetzung > Anker-Live-
Schaetzung > letzter bekannter Tag als Fallback.
Live auf dem Geraet verifiziert: Umschaltung funktioniert weiterhin korrekt.
Der neue Anker-Pfad selbst wurde nicht als aktiv gewaehlte Quelle beobachtet,
da Tibber Pulse waehrend des gesamten Tests durchgehend verbunden war und
Vorrang hat - die zugrunde liegende Berechnung ist aber bereits ueber die
bestehende Energiefluss-Anzeige bestaetigt korrekt.