diff --git a/AGENTS.md b/AGENTS.md index 8120efb..d8d888a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9112,3 +9112,42 @@ nächste Fahrt. kennt die zuletzt hinzugekommenen Dienste nicht (`fahrt_jetzt_beenden`, `zugang_setzen`, `csv_importieren`, jetzt auch `dongle_lesen`). Sie erscheinen in den Entwicklerwerkzeugen ohne Klarnamen. + +### Nachtrag (2026.9.3.11): erste echte Fahrt danach, und zwei Befunde daraus + +**Die Zündung stand auf „an", obwohl die Fahrt seit einer Stunde zu Ende war.** +Kein Fehler der Anzeige, sondern die Datenlage: Home Assistant lässt Zustände +nicht verfallen. Gemessen an der Aufzeichnung: + +| | | +|---|---| +| Fahrtbeginn (Zündung an) | 17:29:04 UTC | +| letzte Meldung des Geräts | **17:59:33 UTC**, Zündung `on`, Tempo 1 km/h | +| danach | nichts mehr | + +„an" heisst also „das Letzte, was ankam, war an" - das Zündungs-Aus hat der +Dongle nie herausbekommen (kein Empfang beim Abstellen, oder es liegt noch in +ihm). Unsere Erkennung wartet auf ein Aus-**Ereignis** und nicht darauf, dass ein +Wert „richtig" wird; es kommt keins, also bleibt die Fahrt offen. **Genau der +Fall, für den „Fahrt beenden" (Abschnitt BX) gebaut ist** - und der erste, bei +dem er an echten Daten gebraucht wurde. + +Der Kilometerstand sprang in derselben Fahrt von 209504 auf 21332 - wieder ein +Fahrzeugwechsel des Geräts. Diese Fahrt verliert ihre Kilometer deshalb an der +Rückwärtssprung-Prüfung, wie schon `t-0591dace4194` am 02.09. + +**`address: "connection"` hat 30 Minuten Verbindung nicht genutzt.** Das Gerät +war von 17:29 bis 17:59 durchgehend am Melden, und `pending` steht danach immer +noch (`status 33`; eine erledigte Einstellung trägt `status 1`). Zustellen +passiert also nicht bei jedem Datensatz, sondern offenbar nur bei einem echten +Verbindungsaufbau - oder das Gerät muss die Konfiguration selbst anfragen. **Noch +offen**, und die nächste Fahrt ist der Prüfstein: bleibt `pending` auch dann +stehen, ist die Zustellart die falsche. + +**Ein echter Anzeigefehler, gefunden weil die Daten zum ersten Mal echt waren:** +flespi legt beim Schreiben das **ganze** Objekt als `pending` ab, also stand auch +`Sleep Mode 102: 2 → 2 unterwegs` da, obwohl sich an `type` nichts ändert. +`vergleichen()` zeigt `offen` jetzt nur noch, wenn es sich vom aktuellen Wert +unterscheidet. Gegen die echten Daten nachgewiesen (`flespi.py` einzeln geladen, +ohne Home Assistant): `Sleep Timeout (103): 10 → 15 unterwegs [wir: 15]`, +`Sleep Mode (102): 2` ohne Zusatz. diff --git a/custom_components/audi_dashboard/flespi.py b/custom_components/audi_dashboard/flespi.py index 4375750..6809ae7 100644 --- a/custom_components/audi_dashboard/flespi.py +++ b/custom_components/audi_dashboard/flespi.py @@ -311,7 +311,15 @@ def vergleichen( "einheit": angabe["einheit"], "geraet": geraet, # Was noch zum Gerät unterwegs ist - None, wenn nichts aussteht. - "offen": offen.get(schluessel), + # flespi legt beim Schreiben das GANZE Objekt als pending ab, + # also stünde auch jedes unveränderte Nachbarfeld als + # "unterwegs" da ("Sleep Mode 2 -> 2"). Gezeigt wird deshalb + # nur, was sich tatsächlich unterscheidet. + "offen": ( + offen.get(schluessel) + if schluessel in offen and offen.get(schluessel) != geraet + else None + ), "unser": unser, "abweichung": abweichung, } diff --git a/custom_components/audi_dashboard/manifest.json b/custom_components/audi_dashboard/manifest.json index 1c3b139..9212c5e 100644 --- a/custom_components/audi_dashboard/manifest.json +++ b/custom_components/audi_dashboard/manifest.json @@ -1,7 +1,7 @@ { "domain": "audi_dashboard", "name": "Audi Dashboard", - "version": "2026.9.3.10", + "version": "2026.9.3.11", "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"],