Verschlafene Kilometer am Fahrtanfang zurueckholen

Der Dongle wacht nach dem Motorstart erst nach 28 s bis 19,5 min auf; was in
der Zeit gefahren wird, zeichnet er nicht auf. Die Kilometer holt das
Screening jetzt aus dem Endkilometerstand der Vorgaengerin zurueck und haelt
in luecke_km fest, wie viel davon betroffen ist.

Keine Sperre der GNSS-Verfeinerung, sondern eine Zerlegung: verschlafener
Anfang in ganzen Kilometern, aufgezeichneter Rest metergenau. Sonst waere die
feine Zahl systematisch zu klein und wuerde bei kleinen Luecken die Korrektur
stillschweigend wieder kassieren.

Zwei Schutzgitter, beide am Bestand gelernt: LUECKE_MAX_KM = 50 gegen
Differenzen, die keine Weckverzoegerung mehr sein koennen, und ein Rueckfall,
wenn _vollstaendig() die Werte daraufhin verwerfen wuerde.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-06 16:56:14 +02:00
parent 52fbf375d2
commit d6e27666a3
11 changed files with 361 additions and 3 deletions
+4
View File
@@ -71,6 +71,10 @@ export interface Fahrt {
/** Das Ende steht nur vorlaeufig fest (Knopf "Fahrt beenden", das Geraet
hat sein Zuendungs-Aus noch nicht gemeldet). */
ende_vorlaeufig?: boolean;
/** Kilometer am Anfang der Fahrt, die das Geraet verschlafen hat. */
luecke_km?: number | null;
/** Die Zuordnung dieser Luecke ist unsicher - siehe screening.py. */
luecke_unsicher?: boolean;
pausen?: unknown[];
}
+17
View File
@@ -169,6 +169,23 @@ export function FahrtDetail({ id, geheZu }: { id: string | undefined; geheZu: (n
label="Endkilometer"
wert={fahrt.odo_end != null ? `${de(fahrt.odo_end)} km` : "noch offen"}
/>
{/* Der Dongle kommt aus dem Schlaf nur ueber seinen Beschleunigungssensor hoch
und braucht dafuer gemessene 28 s bis 19,5 min. Was in dieser Zeit gefahren
wird, zeichnet er nicht auf. Die Kilometer holt das Screening aus dem
Endkilometerstand der Vorgaengerin zurueck (verlauf.aufzeichnungsluecke_km),
die Route ist unwiederbringlich weg. Deshalb steht es hier: eine Fahrt, die
auf den ersten Metern keine Spur hat, soll nicht so aussehen, als waere sie
vollstaendig aufgezeichnet. */}
{fahrt.luecke_km ? (
<Wertzeile
label="Nicht aufgezeichnet"
wert={
fahrt.luecke_unsicher
? `${de(fahrt.luecke_km)} km am Anfang · Zuordnung unsicher`
: `${de(fahrt.luecke_km)} km am Anfang`
}
/>
) : null}
<Wertzeile label="Dauer" wert={dauer(fahrt.duration_s)} />
<Wertzeile
label="Ø Geschwindigkeit"