Batteriespannung-Fallback: zeigt letzte Ruhespannungsmessung ueber Neustarts hinweg

Der RAM-only Fallback fuer die Zustand-Kachel wurde bei jedem Neustart
geleert und zeigte "unbekannt", solange seit dem Neustart keine echte
Live-Messung eintraf (Dongle bei ausgeschaltetem Fahrzeug erwartungsgemaess
immer offline). spannung_cache_vorladen() laedt ihn jetzt beim Start aus
der gespeicherten Historie vor, begrenzt auf den vereinbarten Bereich
10,0-13,0 V (SPANNUNG_MIN_V bis AGM_RUHE_MAX_V) - eine Generatorspannung
(z.B. 15,4 V) soll dort nie als Batteriespannung erscheinen.

Version 2026.8.27.21, im Testcontainer verifiziert (12,149 V statt
"unbekannt", trotz Dongle weiterhin 0 V live).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-28 00:23:16 +02:00
parent 90fff7b305
commit f4222b715f
5 changed files with 126 additions and 11 deletions
@@ -61,6 +61,20 @@ _LOGGER = logging.getLogger(__name__)
# Moduldocstring).
SPANNUNG_MIN_V = 10.0
# Obergrenze für eine echte Ruhespannungsmessung (vom Nutzer festgelegt: "max
# voltage for AGM Battery is 13V, everything above is the generator") -
# darüber ist es Generator-/Ladespannung, keine Batteriespannung mehr.
# Identisch mit AGM_RUHE_MAX_V im Frontend (audi-dashboard-app.js/
# Batterie.tsx), dort aber nur für die Anzeige (welche Tage ins Ladezustands-
# /Trend-Diagramm einfließen - siehe Moduldocstring oben, "erst beim Anzeigen
# angewendet"). Hier zusätzlich fürs Backend gebraucht, als oberer Rand für
# spannung_cache_vorladen() (veroeffentlichung.py): der "zuletzt gemessene
# Wert"-Fallback für die Zustand-Kachel soll ausdrücklich innerhalb von
# [SPANNUNG_MIN_V, AGM_RUHE_MAX_V] bleiben - eine Generatorspannung soll dort
# nie als "Batteriespannung" erscheinen, auch nicht als letzter bekannter
# Wert.
AGM_RUHE_MAX_V = 13.0
async def pruefen(k: Koordinator) -> None:
sensor = k.zuordnung.werte.BATTERIE_SENSOR