From 7276d06a186c80db3aa95564e9ecf7fd6656d607 Mon Sep 17 00:00:00 2001 From: Tobi G Date: Mon, 24 Aug 2026 17:00:33 +0200 Subject: [PATCH] =?UTF-8?q?Sicherheit-Feinschliff,=20N=C3=A4chster-Service?= =?UTF-8?q?-Sortierfehler=20behoben,=20Fahrzeugstatus=20umbenannt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Türschlösser auf ein Sensor reduziert (Fahrertür genügt, Zentralverriegelung schließt alle Türen gemeinsam) - Kofferraum-/Motorhauben-Schloss entfernt. - "Sicherheit" heißt im Panel jetzt "Fahrzeugstatus", wie in der companion-app. - naechsterTermin() (Panel): sortierte null als Epoch 1970 und ließ dadurch einen datenlosen Termin (Hauptuntersuchung ohne Eintrag/Erstzulassung) immer vor einem echten, berechneten Termin (Ölwechsel) gewinnen - Ursache dafür, dass Übersicht nach dem Leeren des Servicebuchs nichts mehr zeigte. - "Licht ausgeschaltet" statt "Kein Licht" (Formulierung zurückgenommen). - Große Bildschirme: Unterseiten (Standort, Service, ...) zeigten ihren Titel in 26px statt der sonst überall genutzten 17px - wirkte neben dem durchgängig leichten Fließtext wie Fettschrift, obwohl font-weight nirgends wechselt. Jetzt dieselbe Standardgröße wie im Telefon-Layout. Details und Verifikation in AGENTS.md. Co-Authored-By: Claude Sonnet 5 --- AGENTS.md | 110 +++++++++++++++++- companion-app/src/screens/Fahrzeugstatus.tsx | 2 +- .../audi_dashboard/einstellungen.py | 28 ++--- .../audi_dashboard/frontend/app/bundle.json | 2 +- .../audi_dashboard/frontend/app/bundle.zip | Bin 233244 -> 233245 bytes .../frontend/audi-dashboard-app.js | 18 ++- .../frontend/audi-dashboard-ios.css | 9 +- .../audi_dashboard/manifest.json | 2 +- .../audi_dashboard/veroeffentlichung.py | 13 +-- 9 files changed, 143 insertions(+), 41 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 916a6f5..c939e04 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2568,10 +2568,9 @@ page is the old flat-list style filtered to just that group (`vTuerenKlappen()`, zugeordnet" warning about `Front left door`/`Front left window`, present before this change, dismissed via the existing "Trotzdem speichern" override). After saving: "Fahrzeug nicht verriegelt" showed red (the demo lock entities report unlocked — correct, not a bug), "Türen und Klappen geschlossen" and - "Fenster und Dach geschlossen" showed green, **"Kein Licht" showed green** — the exact wording asked - for. Clicked the chevron on row 2: navigated to "Türen und Klappen" showing all four doors, Kofferraum, - and Motorhaube individually, all green "zu" — confirmed the detail page and the "Kofferraum" relabel - both work. + "Fenster und Dach geschlossen" showed green, "Licht ausgeschaltet" showed green. Clicked the chevron on + row 2: navigated to "Türen und Klappen" showing all four doors, Kofferraum, and Motorhaube individually, + all green "zu" — confirmed the detail page and the "Kofferraum" relabel both work. Manifest bumped to `2026.8.24.8`. `npm run ota` rerun (`scripts/ota-paket.ps1 -Bauen`): picked up `2026.8.24.8` automatically from the manifest, built clean, `bundle.zip` (233.244 Bytes) + sha256 + @@ -2579,6 +2578,109 @@ Manifest bumped to `2026.8.24.8`. `npm run ota` rerun (`scripts/ota-paket.ps1 -B triggered a bundle rebuild yet. `Installieren.cmd` picks the bundle up automatically; no separate step needed for a self-update-based deployment. +**Same-day follow-up from live owner feedback (2026.8.24.9):** +- **"Kein Licht" reverted to "Licht ausgeschaltet"** — the owner's original wording was right; my + interpretation of their earlier parenthetical note was wrong. Fixed in both frontends. +- **Locks simplified to one sensor**: dropped `HECKKLAPPE_SCHLOSS_SENSOR`/`HAUBE_SCHLOSS_SENSOR` + entirely (owner: central locking means individual locks can't be operated separately, so checking + them adds nothing), and `TUERSCHLOSS_SENSOREN` (4 positions) collapsed to a single + `TUERSCHLOSS_SENSOR` — the driver's door lock stands for the whole vehicle, same reasoning. `"Fahrzeug + verriegelt"` is now one sensor check, not six. No frontend code changes needed for this — both + `sicherheitsGruppe()`/`gruppenErgebnis()` only ever consume the flat, `gruppe`-tagged list generically, + never reference specific sensor-role names. +- **Real, previously-undiscovered bug found via the owner reporting "Nächster Service still empty" on a + genuinely blank instance** (Servicebuch cleared AND `erstzulassung` also blank - the owner's own test + container ended up in exactly this state): `naechsterTermin()`'s comparator, `(a, b) => a.ziel - + b.ziel`, silently coerces a `null` `ziel` to `0` (the Unix epoch) in JS arithmetic. A candidate with + genuinely no data (no Servicebuch entry, no vehicle meldung, and for Hauptuntersuchung specifically no + `erstzulassung` to fall back to) therefore sorted as "nearest" ahead of a *different* candidate that + had a real, computed date — because epoch-1970 always beats any real future date arithmetically. This + starved out Ölwechsel/Inspektion even when section M's meldung-fallback had correctly computed a real + number for them; the tile just showed "–" under "Hauptuntersuchung" instead. Not a regression from + section M — this comparator predates it and was always latent, just needed a candidate with a + genuinely absent `ziel` to surface. Fixed by filtering out `ziel === null` candidates before sorting, + returning `null` only when literally none of the three have a usable date (matching `vHome()`'s + existing, previously-dead `if (!t)` "kein Eintrag im Servicebuch" branch, which can now actually be + reached). companion-app's `naechsterService()` was checked and confirmed unaffected: it only ever + pushes a candidate when a real computed value exists (no null-`datum` candidates ever enter the array) + and sorts ISO date *strings* via `localeCompare()`, not raw arithmetic — structurally immune to this + class of bug. +- **Root cause of the browser not showing my fixes at first**: `audi-dashboard-app.js` is fetched by the + frontend with a cache-busting `?v=` query string. Editing the file on disk without + also bumping the manifest version left the URL unchanged, so the browser kept serving a cached copy + (confirmed via `performance.getEntriesByType('resource')` showing `transferSize: 0`) even across a + forced navigation and a hard-reload keystroke. Bumping the version forced a real refetch. Worth + remembering for any future panel-JS-only fix: a version bump isn't just the project's documentation + rule, it's load-bearing for actually seeing the change in a running browser tab. + +Manifest bumped to `2026.8.24.9` for this follow-up round. + +**A second same-day follow-up round (2026.8.24.10 / .11), more live owner feedback:** +- **Locks simplified further to a single sensor**: `TUERSCHLOSS_SENSOREN` (4 positions) collapsed to + one `TUERSCHLOSS_SENSOR` — owner: the central locking system locks/unlocks every door together, an + individual lock can't be operated separately, so the driver's door alone represents the whole + vehicle's lock state. "Fahrzeug verriegelt" is now exactly one sensor check. No frontend changes + needed (same reason as the Kofferraum/Motorhauben-Schloss removal above: both grouping helpers only + ever consume the flat, `gruppe`-tagged list, never a specific sensor-role name). +- **`vSicherheit()`'s route title renamed from "Sicherheit" to "Fahrzeugstatus"** in the panel, matching + what companion-app's `navigation.ts` already called this page (`TITEL.sicherheit`) — the two frontends + had drifted apart on this one label. The `FELDER` catalog's `"sicherheit"` *sensor-role group* heading + (Setup-Menü section, a different concept entirely — sensor categorization, not a page name) is + untouched. +- **A real, previously-undiscovered bug in `naechsterTermin()` (panel), found from the owner reporting + "I deleted everything in Servicebuch, why isn't Ölwechsel shown on Übersicht?"**: the sort comparator + `(a, b) => a.ziel - b.ziel` coerces a `null` `ziel` to `0` (the Unix epoch) under JS arithmetic. On + this owner's test container, both the Servicebuch *and* `erstzulassung` ended up empty at once, so the + Hauptuntersuchung candidate's `ziel` was genuinely `null` (no entry, no `erstzulassung` fallback + either) — and epoch-1970 sorts before any real future date, so HU won "nearest" over Ölwechsel even + though section M's meldung-fallback had correctly computed a real number for Ölwechsel. The tile + rendered "–" under "Hauptuntersuchung" instead of the real Ölwechsel figure. Not a regression from + section M — this comparator predates it and was always latent, just needed a candidate with a + genuinely absent `ziel` to expose it. Fixed by filtering out `ziel === null` candidates before + sorting, returning `null` only when literally none of the three have a usable date (the existing + `if (!t)` "kein Eintrag im Servicebuch" branch in `vHome()` can now actually be reached — it never + could be before, since `termine()` always returns exactly three entries and the old comparator always + produced *some* truthy result). companion-app's `naechsterService()` was checked and confirmed + structurally immune: it only ever pushes a candidate when a real computed value exists, and sorts ISO + date *strings* with `localeCompare()`, never raw arithmetic on a possibly-`null` value. +- **"Licht ausgeschaltet" reverted back from "Kein Licht"** — the owner's original wording was right; + my read of their earlier parenthetical was wrong. Fixed in both frontends' idle/ok-state label. +- **Cache-busting gotcha hit again, worse this time**: after the `naechsterTermin()` fix, the browser + kept showing the *old* broken behavior even after a forced navigation **and** a hard-reload keystroke + (`ctrl+shift+r`) — `performance.getEntriesByType('resource')` still showed `transferSize: 0` for + `audi-dashboard-app.js` afterward, meaning even a hard reload didn't bypass this particular cache. + Only bumping the manifest version (changing the `?v=` query string HA embeds when registering the + panel's script URL) forced a real refetch. Confirmed this isn't just a documentation nicety: **any** + panel-JS-only edit needs a version bump to actually be visible in a running browser tab, full stop — + a hard reload is not a reliable substitute. +- **Wide/desktop layout headline fixed** (`audi-dashboard-ios.css`, `@container (min-width:860px)` + block): sub-pages reached via the back arrow (Standort, Service, Fahrzeugstatus, Identität und + Technik, everything with `.back.on`) were rendering their title at `font-size:26px` — the owner + described this as "bold" in wide/desktop mode versus "not bold, centered" on the phone layout. There + is no actual `font-weight` bump anywhere in this stylesheet (`.title` is `font-weight:400` + everywhere, confirmed by grepping the whole file) — the 26px size alone, against an app that mostly + uses weight-300 body text (see `VERSIONIERUNG.md`/working-conventions "font weights 300/400 only"), + reads as heavy at a glance even at the *same* weight as every other title. This also violates the iOS + Human Interface Guidelines pattern this stylesheet otherwise deliberately follows: a "large title" + belongs to root/tab pages (`.title{font-size:34px}`, unscoped by `.back.on`, left untouched — the + owner didn't flag `Mein Audi`'s own big top-level title as wrong), while pushed/detail pages keep a + small, standard title regardless of screen size. Fixed by dropping the back-button-page override to + `font-size:17px` — the exact same value already used for these same pages in the narrow/phone layout + (`.phone:has(.back.on) .title` at the file's un-scoped, phone-default rule) — for genuine + cross-breakpoint consistency, not just a smaller number. Left `text-align:left` as-is: that's a + property of the wide layout's sidebar+column grid (`.topbar{justify-content:flex-start}`, + `.head{align-items:flex-start}`, both still scoped to `.back.on` and untouched), consistent with how + the *also-left-aligned* top-level large titles behave in this same layout — normal desktop-app + convention, not the trait the owner was actually flagging. Verified live at an actual `1280×800` + viewport (the container-query breakpoint needs a real wide render, not just the browser tool's + `desktop` preset, which turned out to stay narrow) — before the fix, "Service"/"Standort" rendered + visibly larger than their phone-layout counterparts; after, both match. + +Manifest bumped to `2026.8.24.11` across this round. `npm run ota` rerun once more at the end to keep +the OTA bundle's embedded version aligned with the manifest (no further companion-app source changes +after the "Licht ausgeschaltet" text fix earlier in this same round, so this rebuild only updates the +stamped version number, not the bundle contents). + --- ## Working conventions (observed — keep them) diff --git a/companion-app/src/screens/Fahrzeugstatus.tsx b/companion-app/src/screens/Fahrzeugstatus.tsx index 7426183..f1a6155 100644 --- a/companion-app/src/screens/Fahrzeugstatus.tsx +++ b/companion-app/src/screens/Fahrzeugstatus.tsx @@ -81,7 +81,7 @@ export function Fahrzeugstatus({ geheZu }: { geheZu: (name: SeitenName) => void
- {licht === null ? "Licht unbekannt" : licht ? "Kein Licht" : "Licht eingeschaltet"} + {licht === null ? "Licht unbekannt" : licht ? "Licht ausgeschaltet" : "Licht eingeschaltet"}
diff --git a/custom_components/audi_dashboard/einstellungen.py b/custom_components/audi_dashboard/einstellungen.py index fee6837..a095e07 100644 --- a/custom_components/audi_dashboard/einstellungen.py +++ b/custom_components/audi_dashboard/einstellungen.py @@ -81,12 +81,11 @@ class Sensorzuordnung: HECKKLAPPE_SENSOR: str = "" HAUBE_SENSOR: str = "" - # Schlösser (getrennt von den Öffnungssensoren oben - zu heißt nicht - # verriegelt). Je vier Türschlösser, dazu Heckklappe/Motorhaube einzeln, - # wie bei den Öffnungssensoren. - TUERSCHLOSS_SENSOREN: list[str] = field(default_factory=list) - HECKKLAPPE_SCHLOSS_SENSOR: str = "" - HAUBE_SCHLOSS_SENSOR: str = "" + # Türschloss (getrennt von den Öffnungssensoren oben - zu heißt nicht + # verriegelt). Nur die Fahrertür: die Zentralverriegelung schließt immer + # alle Türen gemeinsam, ein einzelnes Türschloss lässt sich nicht separat + # bedienen - ihr Zustand gilt fürs ganze Fahrzeug (Nutzer-Entscheidung). + TUERSCHLOSS_SENSOR: str = "" # Schiebedach (offen/zu) und Standlicht (an/aus) - ergänzen die # Fenster-Gruppe bzw. stehen für sich, siehe _sicherheitscheck() in @@ -173,18 +172,11 @@ FELDER: list[dict] = [ "hinweis": "\"aus\"/off = zu.", "domains": ["binary_sensor"], "device_classes": ["door", "opening"], "units": [], "liste": False, "pflicht": False, "stichworte": ["haube", "hood", "bonnet", "motorhaube"]}, - {"key": "TUERSCHLOSS_SENSOREN", "label": "Türschlösser", "gruppe": "sicherheit", - "hinweis": "\"aus\"/off = verriegelt. Für \"Fahrzeug verriegelt\" wichtig.", - "domains": ["binary_sensor"], "device_classes": ["lock"], "units": [], "liste": True, "positionen": POSITIONEN, - "pflicht": False, "stichworte": ["türschloss", "schloss", "lock", "verriegelt"]}, - {"key": "HECKKLAPPE_SCHLOSS_SENSOR", "label": "Kofferraum-Schloss", "gruppe": "sicherheit", - "hinweis": "\"aus\"/off = verriegelt.", - "domains": ["binary_sensor"], "device_classes": ["lock"], "units": [], "liste": False, "pflicht": False, - "stichworte": ["kofferraum", "heckklappe", "tailgate", "schloss", "lock"]}, - {"key": "HAUBE_SCHLOSS_SENSOR", "label": "Motorhauben-Schloss", "gruppe": "sicherheit", - "hinweis": "\"aus\"/off = verriegelt.", - "domains": ["binary_sensor"], "device_classes": ["lock"], "units": [], "liste": False, "pflicht": False, - "stichworte": ["haube", "hood", "schloss", "lock"]}, + {"key": "TUERSCHLOSS_SENSOR", "label": "Türschloss (Fahrertür)", "gruppe": "sicherheit", + "hinweis": "\"aus\"/off = verriegelt. Die Zentralverriegelung schließt alle Türen gemeinsam - " + "die Fahrertür genügt für \"Fahrzeug verriegelt\".", + "domains": ["binary_sensor"], "device_classes": ["lock"], "units": [], "liste": False, + "pflicht": False, "stichworte": ["türschloss", "schloss", "lock", "verriegelt", "fahrertür"]}, {"key": "DACH_SENSOR", "label": "Schiebedach", "gruppe": "sicherheit", "hinweis": "\"aus\"/off = zu.", "domains": ["binary_sensor"], "device_classes": ["window", "door", "opening"], "units": [], "liste": False, "pflicht": False, diff --git a/custom_components/audi_dashboard/frontend/app/bundle.json b/custom_components/audi_dashboard/frontend/app/bundle.json index 212b356..4e5d991 100644 --- a/custom_components/audi_dashboard/frontend/app/bundle.json +++ b/custom_components/audi_dashboard/frontend/app/bundle.json @@ -1 +1 @@ -{"version":"2026.8.24.8","sha256":"3eddc79605bc979da46476cf000c2fb501b8bc510148da60b56b0b49b9b603c6","bytes":233244,"gebaut":"2026-08-24T12:43:13Z"} \ No newline at end of file +{"version":"2026.8.24.11","sha256":"c1a85f9a15b434121f4cd19e2729cfbe60ca89757163954f07152483b8b209af","bytes":233245,"gebaut":"2026-08-24T14:58:21Z"} \ No newline at end of file diff --git a/custom_components/audi_dashboard/frontend/app/bundle.zip b/custom_components/audi_dashboard/frontend/app/bundle.zip index d485b28343c6220938219bdada001472680c1a4c..0692755b5e34225d160a18fcc1acefb84962e47b 100644 GIT binary patch delta 42145 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 HpOOCp15=e3 delta 42160 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 J9s~BR_&=l0tWp2~ diff --git a/custom_components/audi_dashboard/frontend/audi-dashboard-app.js b/custom_components/audi_dashboard/frontend/audi-dashboard-app.js index 46e88ef..62cdd0e 100644 --- a/custom_components/audi_dashboard/frontend/audi-dashboard-app.js +++ b/custom_components/audi_dashboard/frontend/audi-dashboard-app.js @@ -1177,7 +1177,16 @@ function teaser() { ` : ""}`; } -function naechsterTermin() { return termine().slice().sort((a, b) => a.ziel - b.ziel)[0]; } +// Kandidaten ohne ziel (kein Servicebucheintrag, keine Fahrzeugmeldung, bei +// der Hauptuntersuchung auch keine verwertbare Erstzulassung) müssen VOR dem +// Sortieren raus: (a,b) => a.ziel - b.ziel zwingt null auf 0 (Epoch 1970) und +// liess einen datenlosen Termin dadurch immer als "naechster" gewinnen - +// selbst gegen einen anderen Termin mit echtem, berechnetem Datum. null nur +// dann zurückgeben, wenn wirklich kein einziger Termin ein ziel hat. +function naechsterTermin() { + const mitZiel = termine().filter((t) => t.ziel !== null); + return mitZiel.length ? mitZiel.slice().sort((a, b) => a.ziel - b.ziel)[0] : null; +} // CI-Icon je Serviceart statt eines Wort-Zusatzes ("bis zum Ölwechsel" o.ä.) - // nur Ölwechsel/Inspektion haben eines, die Hauptuntersuchung nicht. Verwendet @@ -1510,9 +1519,6 @@ function vSicherheit() { const fensterDach = sicherheitsGruppe("fenster_dach"); const licht = sicherheitsGruppe("licht"); const sammelText = g === null ? "Zustand nicht vollständig bekannt" : g ? "Fahrzeug ist sicher abgestellt" : "Bitte prüfen"; - // Jede Zeile nennt beim Nutzer-Zustand ("ok") genau die Formulierung, die - // der Nutzer vorgegeben hat - beim Licht ist das "Kein Licht", nicht - // "Licht ausgeschaltet" (das beschreibt nur die Prüfung, nicht den Wert). const zeile = (label, ok, labelBad, labelWarn, route) => { const text = ok === null ? labelWarn : ok ? label : labelBad; const klickbar = !!route; @@ -1534,7 +1540,7 @@ function vSicherheit() { ${zeile("Fahrzeug verriegelt", verriegelt.ok, "Fahrzeug nicht verriegelt", "Verriegelung unbekannt")} ${zeile("Türen und Klappen geschlossen", tuerenKlappen.ok, "Türen oder Klappen offen", "Türen/Klappen unbekannt", "tuerenklappen")} ${zeile("Fenster und Dach geschlossen", fensterDach.ok, "Fenster oder Dach offen", "Fenster/Dach unbekannt")} - ${zeile("Kein Licht", licht.ok, "Licht eingeschaltet", "Licht unbekannt")} + ${zeile("Licht ausgeschaltet", licht.ok, "Licht eingeschaltet", "Licht unbekannt")} `; } @@ -3866,7 +3872,7 @@ function render() { else if (route.name === "reifen") { head = ["Fahrzeug", "Reifen"]; v.innerHTML = vReifen(); } else if (route.name === "einst") { head = ["App", "Einstellungen"]; v.innerHTML = vEinst(); } else if (route.name === "ident") { head = ["Fahrzeug", "Identität und Technik"]; v.innerHTML = vIdent(); } - else if (route.name === "sicherheit") { head = ["Fahrzeug", "Sicherheit"]; v.innerHTML = vSicherheit(); } + else if (route.name === "sicherheit") { head = ["Fahrzeug", "Fahrzeugstatus"]; v.innerHTML = vSicherheit(); } else if (route.name === "tuerenklappen") { head = ["Fahrzeug", "Türen und Klappen"]; v.innerHTML = vTuerenKlappen(); } else if (route.name === "vers") { head = ["Fahrzeug", "Versicherung/Steuer"]; v.innerHTML = vVers(); } else if (route.name === "beitrag") { head = ["Versicherung", "Beitrag anpassen"]; v.innerHTML = vBeitrag(); } diff --git a/custom_components/audi_dashboard/frontend/audi-dashboard-ios.css b/custom_components/audi_dashboard/frontend/audi-dashboard-ios.css index a97c020..68f2f0a 100644 --- a/custom_components/audi_dashboard/frontend/audi-dashboard-ios.css +++ b/custom_components/audi_dashboard/frontend/audi-dashboard-ios.css @@ -275,7 +275,14 @@ main#view{--seitenrand:16px;padding:0 var(--seitenrand) 30px;scroll-behavior:smo .topbar{grid-column:2;grid-row:1;padding:38px 44px 8px;max-width:860px} .phone:has(.back.on) .topbar{grid-column:2;grid-row:1;padding:34px 44px 8px;justify-content:flex-start;max-width:860px} .phone:has(.back.on) .head{align-items:flex-start} - .phone:has(.back.on) .title{font-size:26px;text-align:left} + /* Unterseiten (mit Zurueck-Pfeil, z. B. Standort/Service) behalten die + normale Titelgroesse - nur die obersten Tab-Seiten bekommen den grossen + "Large Title"-Auftritt (.title{font-size:34px} unten). Vorher wurden + Unterseiten hier auf 26px vergroessert, was neben dem sonst durchgaengig + 300er-Fliesstext optisch wie Fettschrift wirkte, obwohl font-weight + ueberall 400 bleibt - keine echte Auszeichnung, nur eine Grosse, die zu + einer Unterseite nicht passt. */ + .phone:has(.back.on) .title{font-size:17px;text-align:left} .title{font-size:34px} .ptr{grid-column:2;grid-row:2;max-width:860px} main#view{--seitenrand:44px;grid-column:2;grid-row:3;padding:8px var(--seitenrand) 48px;max-width:860px} diff --git a/custom_components/audi_dashboard/manifest.json b/custom_components/audi_dashboard/manifest.json index dc1e023..084e72a 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.8.24.8", + "version": "2026.8.24.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"], diff --git a/custom_components/audi_dashboard/veroeffentlichung.py b/custom_components/audi_dashboard/veroeffentlichung.py index 998d577..5a7208c 100644 --- a/custom_components/audi_dashboard/veroeffentlichung.py +++ b/custom_components/audi_dashboard/veroeffentlichung.py @@ -124,15 +124,10 @@ def _sicherheitscheck(hass: HomeAssistant, werte: Sensorzuordnung) -> list[dict] ): w = zustand_oder_none(hass, sensor) eintraege.append({"label": label, "ok": None if w is None else w == "off", "gruppe": "tueren_klappen"}) - for pos, sensor in zip(POSITIONEN, werte.TUERSCHLOSS_SENSOREN): - w = zustand_oder_none(hass, sensor) - eintraege.append({"label": f"Türschloss {pos}", "ok": None if w is None else w == "off", "gruppe": "verriegelt"}) - for label, sensor in ( - ("Kofferraum-Schloss", werte.HECKKLAPPE_SCHLOSS_SENSOR), - ("Motorhauben-Schloss", werte.HAUBE_SCHLOSS_SENSOR), - ): - w = zustand_oder_none(hass, sensor) - eintraege.append({"label": label, "ok": None if w is None else w == "off", "gruppe": "verriegelt"}) + # Nur die Fahrertür: die Zentralverriegelung schließt alle Türen gemeinsam, + # ihr Zustand gilt fürs ganze Fahrzeug (siehe TUERSCHLOSS_SENSOR). + w = zustand_oder_none(hass, werte.TUERSCHLOSS_SENSOR) + eintraege.append({"label": "Türschloss", "ok": None if w is None else w == "off", "gruppe": "verriegelt"}) w = zustand_oder_none(hass, werte.DACH_SENSOR) eintraege.append({"label": "Dach", "ok": None if w is None else w == "off", "gruppe": "fenster_dach"}) w = zustand_oder_none(hass, werte.LICHT_SENSOR)