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 <[email protected]>
This commit is contained in:
@@ -543,6 +543,41 @@ def strecke_waehlen(
|
||||
return grob, False
|
||||
|
||||
|
||||
def aufzeichnungsluecke_km(
|
||||
vorheriges_ende: float | None, eigener_start: float | None
|
||||
) -> float | None:
|
||||
"""Die Kilometer am Anfang einer Fahrt, die das Geraet nicht mitbekommen hat.
|
||||
|
||||
Zwischen zwei aufeinanderfolgenden Fahrten steht das Fahrzeug, der
|
||||
Kilometerstand aendert sich also nicht - dieselbe Annahme, auf der
|
||||
_lueckenlos_verketten() in screening.py seit jeher beruht. Steht der
|
||||
Startkilometerstand einer Fahrt trotzdem HOEHER als der Endstand ihrer
|
||||
Vorgaengerin, sind diese Kilometer gefahren worden, ohne dass ein einziger
|
||||
Datensatz entstanden ist.
|
||||
|
||||
WARUM ES DAS GIBT: der FMM003 kommt aus dem Deep Sleep nur ueber seinen
|
||||
Beschleunigungssensor hoch. Die eingestellte Zuendungsquelle ist die
|
||||
Motordrehzahl, die liegt am CAN - und CAN ist im Schlaf abgeschaltet
|
||||
(Teltonika: "In deep sleep mode, OBD, CAN and Eventual I/O activity is
|
||||
disabled"). Die Bordspannung taugt an diesem Fahrzeug nicht als Ersatz:
|
||||
das Rekuperationsmanagement des RS 4 laedt in Schueben, und von 2089
|
||||
Messwerten bei laufendem Motor liegen 87,6 % im Spannungsbereich des
|
||||
stehenden Wagens (gemessen 06.09.2026). Gemessene Weckzeiten reichen von
|
||||
39 s bis 19,5 min; am 05.09.2026 fehlten 9 Minuten und 6 Kilometer.
|
||||
|
||||
Der Eigentuemer hat alle geraeteseitigen Auswege ausgeschlossen
|
||||
(Dauerbetrieb und GPS-Schlaf wegen des Ruhestroms, Periodic Wakeup ebenso,
|
||||
die Empfindlichkeit des Beschleunigungssensors ist am FMM003 nicht
|
||||
einstellbar). Die Luecke bleibt also - sie soll aber wenigstens die
|
||||
Streckenlaenge nicht kosten und sichtbar sein.
|
||||
|
||||
Reine Funktion, damit sie ohne Home Assistant pruefbar ist."""
|
||||
if vorheriges_ende is None or eigener_start is None:
|
||||
return None
|
||||
fehlt = round(eigener_start - vorheriges_ende, 1)
|
||||
return fehlt if fehlt > 0 else None
|
||||
|
||||
|
||||
def ist_gefahren(distanz: float | None) -> bool:
|
||||
"""Hat sich das Fahrzeug bewegt?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user