Batteriespannung: Diagramm-Y-Achse fest 10-15V, Plausibilitätsgrenze auf 10V angehoben

Die Y-Achse beider Batteriespannungs-Diagramme (Panel und companion-app) war bisher
aus den sichtbaren Punkten berechnet - jetzt fest 10-15V, auf Nutzerwunsch (zunächst
8-15V, dann auf 10-15V korrigiert). SPANNUNG_MIN_V (batterie.py) auf denselben Wert
angehoben, damit die Plausibilitätsgrenze zur Achse passt - historienimport.py
übernimmt den Wert automatisch, da er von dort importiert statt dupliziert wird.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-27 18:06:12 +02:00
parent f337820fc8
commit b8e560e75b
7 changed files with 46 additions and 24 deletions
+7 -7
View File
@@ -26,10 +26,9 @@ erst beim Anzeigen angewendet: Tage, an denen selbst der Minimalwert über der
Grenze liegt (Fahrzeug nie im Ruhezustand beobachtet, z. B. bei einer sehr
langen Fahrt), tauchen dort nicht in der Statistik auf.
Eine Ausnahme von "roh aufzeichnen" gibt es: Werte unter SPANNUNG_MIN_V sind
für eine 12V-Bleibatterie physikalisch nicht plausibel (selbst tiefentladen
liegt die Ruhespannung deutlich darüber) und deuten auf einen Sensor-/
Verbindungsfehler statt auf eine echte Messung hin - sie werden gar nicht erst
Eine Ausnahme von "roh aufzeichnen" gibt es: Werte unter SPANNUNG_MIN_V gelten
als unplausibel für eine echte Messung an dieser 12V-Bleibatterie und deuten
eher auf einen Sensor-/Verbindungsfehler hin - sie werden gar nicht erst
aufgezeichnet, damit ein einzelner Ausreißer nicht als Tagesminimum in der
Liste und im Diagramm landet.
@@ -56,9 +55,10 @@ if TYPE_CHECKING:
_LOGGER = logging.getLogger(__name__)
# Physikalisch plausible Untergrenze für eine 12V-Bleibatterie - darunter ist
# es ein Sensor-/Verbindungsfehler, keine echte Messung (siehe Moduldocstring).
SPANNUNG_MIN_V = 8.0
# Plausible Untergrenze für eine 12V-Bleibatterie (vom Nutzer festgelegt) -
# darunter ist es ein Sensor-/Verbindungsfehler, keine echte Messung (siehe
# Moduldocstring).
SPANNUNG_MIN_V = 10.0
async def pruefen(k: Koordinator) -> None:
@@ -1 +1 @@
{"version":"2026.8.27.1","sha256":"d7cd168032a93ed8430e3a86ee583c635004fc3518eecf0d1e69abd78741ebc4","bytes":235552,"gebaut":"2026-08-27T15:13:25Z"}
{"version":"2026.8.27.3","sha256":"b99d93aae2ff58e58107e04f25edfb590e159f55414c11ba4645e82a36f09108","bytes":235508,"gebaut":"2026-08-27T16:01:36Z"}
@@ -1781,17 +1781,13 @@ function vBatterieverlauf() {
const genug = bvPunkte.length >= 2;
bvVollDomain = genug ? [bvPunkte[0].t, bvPunkte[bvPunkte.length - 1].t] : null;
bvDomain = genug ? [...bvVollDomain] : null;
// Y-Achse einmalig aus allen Punkten festlegen, nicht bei jedem Zoom/Pan
// neu aus den gerade sichtbaren - sonst "streckt" sich die Achse bei jeder
// Geste neu auf den jeweils sichtbaren Min/Max-Ausschnitt.
if (genug) {
let yMin = Math.min(...bvPunkte.map((p) => p.v)), yMax = Math.max(...bvPunkte.map((p) => p.v));
if (yMax - yMin < 0.4) { const mitte = (yMax + yMin) / 2; yMin = mitte - 0.2; yMax = mitte + 0.2; }
const pad = (yMax - yMin) * 0.15;
bvYDomain = [yMin - pad, yMax + pad];
} else {
bvYDomain = null;
}
// Y-Achse fest auf 10-15V (Nutzerwunsch) statt aus den Punkten berechnet -
// deckt den relevanten Bereich ab (12V-Bleibatterie, Ladespannung des
// Alternators mit Reserve), ohne die Plausibilitätsgrenze SPANNUNG_MIN_V=8V
// (batterie.py) selbst als Achsenskala zu übernehmen. Bleibt dadurch auch
// bei jedem Zoom/Pan unverändert, nicht nur "einmalig aus allen Punkten"
// wie zuvor.
bvYDomain = genug ? [10, 15] : null;
const stufen = bvFarbstufen();
const letzter = bvPunkte.length ? bvPunkte[bvPunkte.length - 1] : null;
@@ -1,7 +1,7 @@
{
"domain": "audi_dashboard",
"name": "Audi Dashboard",
"version": "2026.8.27.1",
"version": "2026.8.27.4",
"documentation": "https://gitea.nothaft.cloud/paul/audi-app/src/branch/main/README.md",
"issue_tracker": "https://gitea.nothaft.cloud/paul/audi-app/issues",
"codeowners": ["@paul"],