Statistik-Icon-Groesse, Batteriediagramm-Ueberarbeitung, Temperatur-Kopplung mit 300s-Fenster, letzte gueltige Spannung als Fallback
- Statistik-Tab-Icon per zentrierter Stauchung an die Fuellflaeche der anderen Tab-Icons angeglichen (Panel + companion-app), auf Nutzerwunsch anschliessend 10% groesser. - Batteriediagramm neu gezeichnet: dynamische viewBox (1 Einheit = 1 Pixel, kein preserveAspectRatio-Verzerren mehr), ein Punkt je Ruhespannungsmessung statt Datumsbeschriftung, Tageshoechstwert nur noch im Tooltip. Generator- spannungen (> AGM_RUHE_MAX_V = 13,0 V, vom Nutzer festgelegt) bleiben aus dem Diagramm aussen vor; der SOC-Kurve-Eckwert "100% / voll" bleibt bei den ursprünglich recherchierten 12,8 V. companion-app auf dieselbe lineare SOC-Interpolation umgestellt (vorher eine abweichende Stufenkurve). - Außentemperatur wird jetzt auch beim Batterieverlauf-Import nachgetragen (vorher nur live) - Kopplung an die naechstgelegene Messung innerhalb NEBENWERT_MAX_ABSTAND_S (verlauf.py), vom Nutzer nach Live-Daten-Analyse auf 300s festgelegt. Merge-Logik in ablage.py ergaenzt: ein erneuter Import kann eine zuvor fehlende Temperatur jetzt tatsaechlich nachtragen, auch wenn sich der Tagesminimalwert selbst nicht aendert. - "Mein Audi"/Zustand zeigt bei unplausibler Live-Messung (z. B. Dongle offline) die zuletzt gemessene Spannung statt "unbekannt". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -25,6 +25,16 @@ from homeassistant.core import HomeAssistant
|
||||
|
||||
from .einstellungen import POSITIONEN, Sensorzuordnung
|
||||
|
||||
# Letzte plausible Batteriespannung, für die "Zustand"-Kachel, wenn die
|
||||
# aktuelle Live-Messung gerade unplausibel ist (Sensor kurzzeitig offline,
|
||||
# Dongle getrennt o.ä.) - der Nutzer will dort die zuletzt gemessene Spannung
|
||||
# sehen statt "unbekannt". RAM-only wie andere Laufzeitzustände dieses
|
||||
# Projekts (siehe die bekannten Lücken zu Fahrtstart/Tankstand): kein Store,
|
||||
# bewusst - ein Neustart zeigt kurz wieder "unbekannt", bis die nächste echte
|
||||
# Messung eintrifft, statt einen möglicherweise sehr alten Wert aus einer
|
||||
# Datei wiederzubeleben.
|
||||
_letzte_gueltige_spannung: dict[str, float | None] = {"wert": None}
|
||||
|
||||
|
||||
def zustand_oder_none(hass: HomeAssistant, entity_id: str | None) -> str | None:
|
||||
"""Sicherer Zustandszugriff.
|
||||
@@ -162,6 +172,14 @@ def fahrzeugstatus(hass: HomeAssistant, werte: Sensorzuordnung) -> dict:
|
||||
# sonst zeigt die "Zustand"-Kachel einen Wert, der im Messwertverlauf
|
||||
# nie auftaucht, weil er dort schon verworfen wird.
|
||||
spannung = None
|
||||
if spannung is not None:
|
||||
_letzte_gueltige_spannung["wert"] = spannung
|
||||
else:
|
||||
# Nutzerwunsch: statt "unbekannt" die zuletzt gemessene Spannung
|
||||
# zeigen, wenn der Sensor gerade nichts Plausibles liefert (z. B.
|
||||
# Dongle offline, meldet dann oft 0 V) - None bleibt nur, solange
|
||||
# noch nie ein gültiger Wert beobachtet wurde.
|
||||
spannung = _letzte_gueltige_spannung["wert"]
|
||||
|
||||
return {
|
||||
"km": _zu_zahl(zustand_oder_none(hass, werte.KM_SENSOR)),
|
||||
|
||||
Reference in New Issue
Block a user