Nachlauf-Abzug nur, wenn das Trip-Element ihn erzeugt (2026.9.1.9)
_echtes_ende() zog NACHLAUF_S bedingungslos ab. Richtig, solange die Fahrten vom Trip-Signal ausgeloest werden - aber verlauf.fahrtsignal() faellt auf die Zuendung zurueck, wenn TRIP_SENSOR nicht zugeordnet ist, und die hat keinen Nachlauf. Jede Fahrt haette fuenfzehn Minuten verloren, jede kuerzere waere ganz verschwunden. Genau die Konstellation, in die eine bestehende Installation nach dem Update ohne Zutun laeuft: die neue Rolle ist leer, bis jemand sie zuordnet. Gefunden beim Durchdenken des Update-Wegs fuer die reale Instanz, nicht durch einen Fehlerbericht. Nachgewiesen: TRIP_SENSOR geleert, Zuendung fuenf Minuten an -> Fahrt mit 300 s angelegt statt verworfen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
# AGENTS.md — Project state, review findings, open items, and working rules
|
||||
|
||||
**Last updated: 2026-09-01** („502" beim Neustart entschärft, OTA-Bündel auf `2026.9.1.8`
|
||||
**Last updated: 2026-09-01** (Nachlauf-Abzug nur mit zugeordnetem `TRIP_SENSOR`, `2026.9.1.9`;
|
||||
davor „502" beim Neustart entschärft, OTA-Bündel auf `2026.9.1.8`
|
||||
nachgezogen, Abschnitt BC. Davor: „Geparkt seit" kommt von der Zündung und wird nach einem Neustart
|
||||
aus der Aufzeichnung nachgeholt, Manifest `2026.9.1.7`,
|
||||
Abschnitt BB. Davor: GNSS-Streckenrollen vorbereitet, `2026.9.1.5`, Abschnitt BA.
|
||||
@@ -6545,6 +6546,23 @@ Einstellungen, darunter `trip_scenario.ign_off_timeout`), aber dafür bräuchte
|
||||
einen zweiten Zugang samt Token; sie liest heute ausschließlich Telemetrie. Verworfen als
|
||||
unverhältnismäßig.
|
||||
|
||||
### Nachtrag (2026.9.1.9): der Nachlauf gilt nur, wenn das Trip-Element ihn erzeugt
|
||||
|
||||
`_echtes_ende()` zog `NACHLAUF_S` bedingungslos ab. Das ist richtig, solange die Fahrten vom
|
||||
Trip-Signal ausgelöst werden — aber `verlauf.fahrtsignal()` fällt auf die **Zündung** zurück, wenn
|
||||
`TRIP_SENSOR` nicht zugeordnet ist, und die hat keinen Nachlauf.
|
||||
|
||||
In dieser Konstellation hätte jede Fahrt fünfzehn Minuten verloren und jede kürzere wäre ganz
|
||||
verschwunden — der Klemmzweig hätte sie auf Dauer 0 gesetzt und `MINDESTDAUER_S` verworfen. Genau
|
||||
die Konstellation, in die eine bestehende Installation nach dem Update ohne Zutun läuft: die neue
|
||||
Rolle ist leer, bis jemand sie zuordnet.
|
||||
|
||||
`if not k.zuordnung.werte.TRIP_SENSOR: return signal_ende`. Gefunden beim Durchdenken des
|
||||
Update-Wegs für die reale Instanz, nicht durch einen Fehlerbericht.
|
||||
|
||||
Nachgewiesen: `TRIP_SENSOR` geleert, Zündung fünf Minuten an → Fahrt mit **300 s** angelegt statt
|
||||
verworfen. Mit gesetztem `TRIP_SENSOR` bleibt der Abzug wie in Abschnitt AZ nachgewiesen.
|
||||
|
||||
### Die Gegenprobe meldet, statt zu korrigieren
|
||||
|
||||
`_nachlauf_gegenpruefen()` vergleicht das gerechnete Ende mit dem letzten beobachteten
|
||||
|
||||
@@ -122,7 +122,16 @@ async def _echtes_ende(
|
||||
die Zuendung nur kurz an, ohne dass gefahren wurde. Das Ende wird auf den
|
||||
Beginn geklemmt, und MINDESTDAUER_S in fahrt_beenden() verwirft den Vorgang
|
||||
anschliessend. Ohne diese Klemme entstuende aus dreissig Sekunden Zuendung
|
||||
eine Viertelstunde Fahrt."""
|
||||
eine Viertelstunde Fahrt.
|
||||
|
||||
NUR wenn die Fahrten wirklich vom Trip-Signal ausgeloest werden. Ist
|
||||
TRIP_SENSOR nicht zugeordnet, uebernimmt die Zuendung diese Aufgabe
|
||||
(verlauf.fahrtsignal()) - und die hat keinen Nachlauf. Dort abzuziehen
|
||||
wuerde jede Fahrt um eine Viertelstunde verkuerzen und jede kuerzere ganz
|
||||
verschwinden lassen. Der Nachlauf gehoert zum Trip-Element des Geraets,
|
||||
nicht zu uns; ohne dieses Element gibt es ihn nicht."""
|
||||
if not k.zuordnung.werte.TRIP_SENSOR:
|
||||
return signal_ende
|
||||
gerechnet = signal_ende - datetime.timedelta(seconds=NACHLAUF_S)
|
||||
if gerechnet <= start_ts:
|
||||
_LOGGER.info(
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":"2026.9.1.8","sha256":"c2f9192ecc9a32542a9f1dd23ec10c05bcbcb7fffbfd80a09b2a5cf907e437a9","bytes":265705,"gebaut":"2026-09-01T10:18:03Z"}
|
||||
{"version":"2026.9.1.9","sha256":"bdf895932e11e336474b4441a66912dd273e5f22b3bbf82e9b1cd29d6447a652","bytes":265713,"gebaut":"2026-09-01T10:24:49Z"}
|
||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"domain": "audi_dashboard",
|
||||
"name": "Audi Dashboard",
|
||||
"version": "2026.9.1.8",
|
||||
"version": "2026.9.1.9",
|
||||
"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"],
|
||||
|
||||
Reference in New Issue
Block a user