Verbrauch: Tankstand ab Fahrtbeginn statt davor (2026.9.1.24)

DER VERBRAUCH WAR SYSTEMATISCH ZU HOCH

Der Startwert kam aus wert_bei(), also dem letzten Literstand VOR der Fahrt -
und das ist im Stand der Wert vom Ende der VORIGEN Fahrt. An der Fahrt
Eichstaett - Adelschlag nachgemessen: 36,4 l um 13:52 (Ende der vorigen Fahrt),
36,2 l um 16:20:49 (erster Datensatz der neuen). In der Standzeit dazwischen
ist niemand gefahren; diese 0,2 l Setzung wurden der neuen Fahrt zugerechnet.

  alt: 36,4 - 35,6 = 0,8 l auf 6,896 km -> 11,6 l/100 km
  neu: 36,2 - 35,6 = 0,6 l auf 6,896 km ->  8,7 l/100 km

Neu wert_ab() in verlauf.py: der erste Wert AB dem Zeitpunkt. Fuer einen
ZAEHLER ist "zuletzt davor" richtig (der Kilometerstand aendert sich im Stand
nicht), fuer einen gemessenen FUELLSTAND nicht - der driftet. Das Fahrtende
bleibt bei wert_bei(). Livepfad und Rueckblick benutzen beide die neue
Funktion.

Bereits gerechnete Fahrten behalten ihren Wert: _verbrauch_screenen() fuellt
nur fehlende. Die Neuberechnung kommt mit dem Korrekturwert aus den
Tankvorgaengen, den der Eigentuemer vorgeschlagen hat.

ANZEIGE

Hoechstgeschwindigkeit ohne Nachkommastelle. Statuswort raus aus der
Fahrtenliste - "vollstaendig" sagt dem Nutzer nichts, und "offen" verspricht
Daten, die bei einer laengst abgeschlossenen Fahrt nie mehr kommen; fehlt ein
Wert, steht dort ein Strich.

Strecke und Verbrauch stehen jetzt in einer Spalte: die Wertspalte wuchs mit
dem Inhalt, gemessen 86px gegen 37px, und die Zahlen standen versetzt. Feste
Mindestbreite in beiden Oberflaechen, nachgemessen alle Zeilen 92px.

Verifiziert: py_compile, Panel als Modul, tsc --noEmit sauber, 165/165 Tests,
wert_ab() gegen vier Randfaelle, im Browser nachgesehen.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-01 21:13:43 +02:00
co-authored by Claude Opus 5
parent ce287ccac2
commit 78a8017e95
11 changed files with 64 additions and 18 deletions
+1 -1
View File
@@ -213,7 +213,7 @@ export function FahrtDetail({ id, geheZu }: { id: string | undefined; geheZu: (n
<Wertzeile
label="Höchstgeschwindigkeit"
wert={
fahrt.vmax_kmh != null ? `${de(fahrt.vmax_kmh, 1)} km/h` : "liegt nicht vor"
fahrt.vmax_kmh != null ? `${de(fahrt.vmax_kmh)} km/h` : "liegt nicht vor"
}
/>
</>
+6 -4
View File
@@ -112,13 +112,15 @@ export function Fahrten({ geheZu }: { geheZu: (name: SeitenName, id?: string) =>
<Blattzeile
label={strecke(fahrt)}
labelZusatz={`${datum(fahrt.ts_start)} · ${artText(fahrt.art)}`}
wert={
streckeText(fahrt.distance_km, "offen")
}
wert={streckeText(fahrt.distance_km, "—")}
wertZusatz={
/* Kein Statuswort mehr: "vollstaendig" sagt dem Nutzer nichts,
und "offen" verspricht Daten, die bei einer laengst
abgeschlossenen Fahrt nie mehr kommen. Fehlt der Wert,
steht dort ein Strich. */
fahrt.verbrauch_l_100km != null
? `${de(fahrt.verbrauch_l_100km, 1)} l/100 km`
: fahrt.status
: "—"
}
beiKlick={() => geheZu("trip", fahrt.trip_id)}
letzte={i === monat.eintraege.length - 1}
+5
View File
@@ -1014,8 +1014,13 @@ button.dm-blatt:active {
color: var(--fg);
}
/* Feste Mindestbreite, damit Strecke und Verbrauch ueber alle Zeilen hinweg in
einer Spalte stehen. Ohne sie waechst der Kasten mit dem Inhalt - im Panel
gemessen 86px bei "11,4 l/100 km" gegen 37px bei einer Zeile ohne Werte, und
die Zahlen standen entsprechend versetzt. */
.dm-blatt__v {
flex: 0 0 auto;
min-width: 104px;
display: flex;
flex-direction: column;
gap: 3px;