From 17149937a6df14a679fce9bc191f0bcade615092 Mon Sep 17 00:00:00 2001 From: Tobi G Date: Thu, 27 Aug 2026 11:44:24 +0200 Subject: [PATCH] =?UTF-8?q?Batteriespannungs-Messwertliste,=20Wisch-L?= =?UTF-8?q?=C3=B6schen,=20Reifensatz-Archiv,=20CI-Icons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fünf vom Nutzer angeforderte Erweiterungen in einer Runde: - Batteriespannungs-Kachel bekommt eine Messwertliste (Datum, Uhrzeit, Spannung, optional Außentemperatur über den neuen AUSSENTEMP_SENSOR), erreichbar über ein neues list-s-Symbol in der Diagramm-Kachel. Werte über AGM_RUHE_MAX_V (12,8 V) sind keine Ruhespannung, sondern Lichtmaschinenspannung - die Zeile markiert das jetzt mit "Generatorspannung" statt es unkommentiert als Messwert auszugeben. - Jede Zeile der neuen Liste wischbar zum Löschen (neuer Dienst batterieverlauf_loeschen), über dieselbe Wisch-Mechanik wie Fahrten/ Tankvorgänge in beiden Oberflächen. - Batteriespannungs-Diagramm im Panel war auf großen Bildschirmen (≥860px, Spaltenlayout) stark in die Breite gezogen (preserveAspectRatio="none" bei fester Höhe) - gedeckelt wie die dort bereits vorhandenen Popups. - Statistik-Tab-Symbol in beiden Oberflächen durch das Audi-CI-Symbol polls-s ersetzt. - Neue Möglichkeit, einen Reifensatz zu archivieren ("Neue Räder anlegen"): der aktuelle Stand (km, Marke, Modell, DOT, Maße, Solldruck, Kommentar) wandert in ein Archiv, der laufende Satz beginnt bei 0 km neu. Archiv als aufklappbare Übersicht mit voller Bearbeitungsmöglichkeit, über drei neue, bewusst nicht über profilSchreiben laufende Dienste (reifen_archivieren/-aktualisieren/-loeschen) - aus demselben Grund wie reifen_wechseln: kein im Browser gehaltener Stand darf einen zwischenzeitlich fortgeschriebenen km-Wert überschreiben. Live im Testcontainer geprüft (erstmals über :18123 statt :8123 erreichbar) und dabei zwei echte Layout-Fehler gefunden, die kein Compile-/Testlauf sehen konnte: die Archiv-Eingabefelder waren durch ein fälschlich verwendetes .mitEinheit (feste 96px-Breite, eigentlich für Zahl+Einheit gedacht) abgeschnitten ("Continenta" statt "Continental"), und die Kilometerzahl in der eingeklappten Archiv-Zeile war klein an das Datum gequetscht statt wie der Satzname lesbar. Beides behoben, live erneut bestätigt. Backend: py_compile clean, services.yaml ergänzt. Panel: node --check clean. companion-app: tsc/Testsuite (146/146)/Build/OTA-Bündel alle grün. Manifest 2026.8.25.2 → .8, jeder Neustart im Testcontainer sauber. Co-Authored-By: Claude Sonnet 5 --- AGENTS.md | 144 ++++++++++++ companion-app/src/api/index.ts | 53 +++++ companion-app/src/daten/profilAdapter.ts | 19 ++ companion-app/src/daten/service.test.ts | 2 +- companion-app/src/navigation.ts | 3 + companion-app/src/screens/Batterie.tsx | 19 +- companion-app/src/screens/BatterieListe.tsx | 103 +++++++++ companion-app/src/screens/Reifen.tsx | 210 +++++++++++++++++- companion-app/src/screens/register.tsx | 5 +- companion-app/src/symbole.tsx | 50 ++++- custom_components/audi_dashboard/ablage.py | 38 +++- custom_components/audi_dashboard/batterie.py | 31 ++- custom_components/audi_dashboard/const.py | 4 + custom_components/audi_dashboard/dienste.py | 33 +++ .../audi_dashboard/einstellungen.py | 10 + .../audi_dashboard/frontend/app/bundle.json | 2 +- .../audi_dashboard/frontend/app/bundle.zip | Bin 233245 -> 235525 bytes .../frontend/audi-dashboard-app.js | 148 +++++++++++- .../frontend/audi-dashboard-ios.css | 8 + .../frontend/audi-dashboard.css | 20 ++ .../audi_dashboard/manifest.json | 2 +- custom_components/audi_dashboard/reifen.py | 96 ++++++++ .../audi_dashboard/services.yaml | 56 +++++ 23 files changed, 1025 insertions(+), 31 deletions(-) create mode 100644 companion-app/src/screens/BatterieListe.tsx diff --git a/AGENTS.md b/AGENTS.md index 7dd636a..2c18faa 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2942,6 +2942,150 @@ confirmed mechanism the pending Sicherheit plan already documented. `screening.p `TankDetail.tsx` were deliberately left untouched: the estimate flows through existing display/edit paths without needing either to change. +## R. Five owner-requested features in one round: battery measurement list, swipe-delete, diagram-width fix, +CI icon substitutions, wheel-set archiving (2026.8.25.3/.4) + +**1. Battery measurement list.** The battery-voltage tile only ever showed a hand-drawn chart. Added a +"list" corner button (CI `list-s`) that opens a new list view — one row per day (the existing daily +min/max data, unchanged storage shape) showing date, time, voltage, and now also outside air temperature. +Backend: new optional `AUSSENTEMP_SENSOR` role (`einstellungen.py`); `batterie.py`'s 5-minute check now also +reads it and passes it to `ablage.batterieverlauf_tageswert_aktualisieren()`, which gained an `aussentemp` +parameter — stored as `min_temp_c`, **only updated when a measurement also sets that day's minimum voltage** +(the temperature is tied to that specific reading, not a daily average). Older entries and setups without +the sensor simply carry `min_temp_c: None` — no backfill, no migration. New screens: companion-app +`BatterieListe.tsx` (route `battliste`, reached from an `IconButton`/`SymbolListe` in `Batterie.tsx`'s +header) and panel `vBatterieliste()` (route `battliste`, reached via a new `.iconbtn`/`ciSVG(CI.listS)` +button in `vBatterieverlauf()`'s tile header). + +**2. Swipe-to-delete for the new list, per entry.** Reused the existing pattern in both codebases rather +than inventing a new one: companion-app's `Zeilenmenue` (wipe + accessible menu button, see its own +docstring) and the panel's `swipeZeile()`/`eintragLoeschen()`/`LOESCH_TEXT`/`LOESCH_HINWEIS` machinery +already used for trips/tank vorgaenge, extended with a `"batt"` art. New backend service +`batterieverlauf_loeschen` (field: `datum`) → `ablage.batterieverlauf_eintrag_loeschen()` (new) → +`batterie.eintrag_loeschen()` (new, wired in `dienste.py`). + +**3. Battery diagram "still stretched" on a large monitor — panel only (confirmed with the owner; the +diagram in question doesn't exist as a separate wide layout in companion-app).** Root cause found in +`audi-dashboard-ios.css`: past 860px viewport width the whole app switches to a wide two-column layout +(`@container (min-width:860px)`) where `main#view`'s content column is 772px wide (860 − 2×44px side +padding). The battery chart's SVG (`#bvSvg`, `audi-dashboard-app.js`) is drawn on a fixed `viewBox="0 0 320 +170"` with `preserveAspectRatio="none"` and `width:100%` — at 772px wide against a native 320-unit design, +that's a ~2.4× horizontal stretch with the height staying fixed at 170px, turning the chart into an +unnaturally wide, flat band. Fixed the same way the existing popups in that file already solve the identical +problem one section up: `#bvChart{max-width:400px;margin-left:auto;margin-right:auto}` inside the same +`@container` block, no changes to the SVG's own drawing logic (`BV_W`/`BV_H`/`bvZeichnen()`), which section +O of this file already spent real effort getting right for a *different* stretch bug (the Y-axis +rescaling one) — deliberately left untouched here. + +**4. CI icon substitutions — `list-l/-s`, `polls-l/-s`, `package-l/-s`, all requested by the owner +(SVG source supplied directly from their local Audi icon export folder, same as every other CI icon in this +codebase — see the recurring "vom Nutzer als SVG geliefert, verbatim uebernommen" comment convention).** +Added to the `CI` catalog in `audi-dashboard-app.js`. `polls-s` replaces the Statistik tab's hand-drawn bar +icon (`ICONS.stat`) in the panel's tab bar — needed adding `"stat"` to `ICONS_VOLL` (the existing mechanism +for filled-vs-outline icon rendering; CI paths carry their own `fill="currentColor"` but would otherwise +also inherit the tab bar's `stroke:currentColor` from `.tab svg`, doubling the line weight around the +shape). Companion-app's `symbole.tsx` had no filled-icon mechanism at all yet (its `SymbolAudi` etc. are +plain stroked outlines, unlike the panel's CI-icon-based tab bar) — added a `voll` prop to the shared +`Rahmen` wrapper (`fill`/`stroke` swap) as the equivalent mechanism, then `SymbolStatistik` (parity with +the panel), plus `SymbolListe`/`SymbolPaket` for the other two icon uses below. `list-s`/`package-s` are the +corner/inline buttons described in points 1 and 5; the `-l` (48-grid) variants are stored for parity with +every other CI icon pair in the catalog but aren't wired to a render path yet, same as the pre-existing +`editL`/`oilChangeL`/etc. + +**5. Wheel-set archiving ("Neue Räder anlegen").** A `package-s` button sits between the wheel photo and +the editable Hersteller/Modell fields on the Reifen page in both codebases (panel: inline always-editable +`data-rf` inputs, matching that page's existing convention; companion-app: read-only `Wertzeile`s with a +separate edit form, matching *its* existing convention — no new interaction pattern introduced in either). +Pressing it asks "Neue Räder anlegen?" (panel: the existing `bestaetigen()` action sheet; companion-app: the +existing `window.confirm`-based `bestaetigen()` already used by `wechseln()` on the same page) before doing +anything. On confirmation, `reifen.py`'s new `archivieren(k, satz)`: snapshots the season's *entire* current +record (km, marke, modell, dot, mass, druck_vorne/hinten, kommentar, plus a generated id and today's date as +`ersetzt_am`) into `reifen.archiv` (newest first), then resets the live record — **km to 0 (explicit owner +decision) and marke/modell/dot/kommentar to blank** (a replacement tire hasn't been characterized yet), +**but mass/druck_vorne/druck_hinten/bild carried over** (size and target pressure don't usually change for +a same-fitment replacement — a judgment call, not something the owner specified; flag if wrong). Three new +services (`reifen_archivieren`, `reifen_archiv_aktualisieren`, `reifen_archiv_loeschen`), all deliberately +**bypassing `profilSchreiben`/`profilSpeichern`** for the same reason `reifen_wechseln`/`reifen_km_setzen` +already do (see `reifenzaehler.py`'s own docstring) — a full-profile round trip from a stale browser copy +could clobber a km value the backend fortgeschrieben in the meantime. + +Overview UI: an "Archiv" tile at the bottom of the Reifen page, one row per archived set. Companion-app uses +the design system's `Accordion` (title = "Sommerräder"/"Winterräder", summary = "Ersetzt am ... · N km"), +expanding to a read-only `Werteliste` with a "Bearbeiten" button that swaps in an edit form (mirrors +`TankFormular`'s style) — plus a destructive "Löschen" button. The panel reuses its own existing +`acc-h`/`acc-b`/`data-acc` accordion mechanism (same as the trips/tankvorgaenge year/month lists) with +always-inline-editable fields (`data-rfa="id|feld"`, parallel to `data-rf`) that call +`reifen_archiv_aktualisieren` directly on change, plus a `data-reifenarchivloeschen` button. +`profilAdapter.ts` gained a `ReifenArchivEintrag` type and `Fahrzeug.reifen.archiv`; `profilZuFahrzeug()` +reads it straight off the profile (`?? []`), and `zusammenfuehren()` needed no change — it clones the raw +profile first and only ever touches `aktiv`/`anzugsmoment_nm`/`wechsel`/`saetze`, so `archiv` survives +untouched exactly like it already did for every other field this function doesn't know about. + +Verified: `py_compile` clean on all six touched backend files (`einstellungen.py`, `ablage.py`, +`batterie.py`, `const.py`, `dienste.py`, `reifen.py`) plus `services.yaml` entries added for all four new +services; `node --check` clean on the panel JS; companion-app `tsc --noEmit` clean and full suite green at +**146/146** (one new test — the existing "every registered page renders with sample data" smoke test picked +up `battliste` automatically); `npm run build` and `npm run ota` both succeeded (OTA bundle rebuilt at +`2026.8.25.4`, sha256 `9d5ebc2a62da4bbddcd766a462726bb51a213ea4095e367e88a8e5d321a9f8e4`). Manifest bumped +`2026.8.25.2` → `.3` (backend) → `.4` (frontend + OTA), both restarts in `audi_ha_test` confirmed clean via +`"Audi Dashboard ... eingerichtet"` with no tracebacks, including the periodic battery-check log line +firing without error against the new `AUSSENTEMP_SENSOR` code path. **Not verified live in a browser** — +the setup-menu entry for `AUSSENTEMP_SENSOR`, the new list screens, the icon substitutions' actual pixel +rendering, and the archive accordion/edit flow were none of them clicked through in this round (a +browser-tooling networking issue blocked reaching the test instance's UI, same blocker noted in section Q). +This entire round rests on static analysis, compiler/test-suite checks, and clean service-registration logs +— not on having seen any of it render. + +## S. Live browser access to the test instance, a "Generatorspannung" remark, and two real bugs section R's +static-only verification missed (2026.8.25.5–.8) + +**The owner logged this session into the test instance's browser at `http://localhost:18123` (not the +`:8123` used earlier - a different, working port for this environment).** This unblocked live verification +for the first time since the FMM003 investigation's `/profile/security` refusal (section P) — worth noting +for future sessions: try `:18123` before assuming the browser tooling can't reach this project's test +container. + +**Generator-voltage remark (2026.8.25.5):** `AGM_RUHE_MAX_V = 12.8` (the resting-vs-alternator-voltage +threshold, already used by the diagram's own point filter and the SOC estimate) was not applied to the new +measurement list from section R — a day whose minimum was never actually measured at rest still displayed +next to a date/time as if it were one. Companion-app: exported the constant from `Batterie.tsx`, added a +`Pill` reading "Generatorspannung" in `BatterieListe.tsx` when `min > AGM_RUHE_MAX_V`. Panel: same threshold +already in scope in `vBatterieliste()`, added a `.pill`-styled badge under the date in the `.v` column. + +**Live verification then immediately found two real defects that every static check in section R had +missed** — `py_compile`/`tsc`/`node --check`/the test suite all passed because none of them render CSS: + +1. **Archive edit fields visually truncated ("Continenta", "SportConta", "275/30 R2").** `vReifenArchiv()`'s + `feld()` helper unconditionally wrapped every input in `` — a class meant for + short number+unit pairs (km, Nm, bar) that hard-codes `input{width:96px}`. None of the fields that + actually used this helper (marke/modell/mass/dot/kommentar) needed a unit at all, so the wrapper was pure + accident, not a deliberate width choice. Fixed by dropping `mitEinheit` from that helper entirely, + matching the plain `` the live (non-archived) season fields already use one screen up. Confirmed + live: all three previously-clipped fields now render in full. +2. **Owner follow-up, also confirmed live before and after:** the archive accordion's collapsed summary + line squeezed `4.542 km` into a `` immediately after the "Ersetzt am" date, and separately asked + for the Kommentar/Notiz field specifically to get more room. Both fixed the same way in both codebases: + Kommentar/Notiz now renders label-above-input at full width (`.feld--breit` in the panel CSS; a + bypassed-`Feld` block in companion-app) instead of sharing a row with its label like every other short + field — and the collapsed summary now shows the km figure at title size/color (`.acc-h .k`/ + `.ads-acc-h__k`-equivalent styling) with the date dropped to its own smaller line below, instead of the + two being run together. + +**Lesson for this project going forward, worth remembering deliberately:** a clean compile/test pass is not +evidence a layout is correct — none of the tooling in this repo renders CSS or checks visual width. Section +R shipped a real, user-visible truncation bug behind a fully green test suite. When browser access is +available (now confirmed reachable at `:18123`), prefer at least one live screenshot of any new or changed +input-heavy screen over relying on compiler output alone. + +Verified: panel `node --check` clean at every step; companion-app `tsc --noEmit` clean, suite green at +146/146, `npm run build`/`npm run ota` succeeded. Manifest `2026.8.25.4` → `.5` (Generatorspannung) → `.6` +(mitEinheit fix) → `.7` (Kommentar width + archive header restyle, panel) → `.8` (same two, companion-app +parity + final OTA rebuild, sha256 `464c294c6c07dcb636a8ea3bd93c7e525b21722defb41f573e2b31fefade49ea`). +Every restart in `audi_ha_test` confirmed clean via log, **and this time also confirmed live in the browser** +at each step from `.6` onward — screenshots taken of the battery list (Generatorspannung pill rendering +correctly, including a real entry below the threshold correctly *not* tagged), the Statistik tab's `polls-s` +icon, and the Reifen archive section before and after both fixes. + --- ## Working conventions (observed — keep them) diff --git a/companion-app/src/api/index.ts b/companion-app/src/api/index.ts index 2219490..a592bfc 100644 --- a/companion-app/src/api/index.ts +++ b/companion-app/src/api/index.ts @@ -44,6 +44,20 @@ export interface TankvorgangFelder { fahrt_manuell_anlegen/fahrt_aktualisieren). Alles außer den Zeitpunkten ist optional: leer bleibt es liegen, bis das Kilometerstand-Screening (§7.2) oder eine spätere Bearbeitung es füllt. */ +/** Eingabefelder für einen archivierten Reifensatz - Namen wie beim Backend + (reifen.py: reifen_archiv_aktualisieren). */ +export interface ReifenArchivFelder { + ersetzt_am?: string; + km?: number | null; + marke?: string | null; + modell?: string | null; + dot?: string | null; + mass?: string | null; + druck_vorne?: string | null; + druck_hinten?: string | null; + kommentar?: string | null; +} + export interface FahrtFelder { ts_start?: string; ts_end?: string; @@ -174,6 +188,45 @@ export class DataMetricApi { ); } + /** Löscht einen Tageseintrag aus der Batteriespannungs-Messwertliste. */ + batterieverlaufEintragLoeschen(datum: string): Promise { + return this.warteschlange.einreihen( + DIENST_DOMAIN, + "batterieverlauf_loeschen", + { datum }, + "Messwert löschen", + ); + } + + /** "Neue Räder anlegen": archiviert den aktuellen Stand von `satz` und legt + einen frischen (km 0) an. */ + reifenArchivieren(satz: "sommer" | "winter"): Promise { + return this.warteschlange.einreihen( + DIENST_DOMAIN, + "reifen_archivieren", + { satz }, + "Neue Räder anlegen", + ); + } + + reifenArchivAktualisieren(id: string, felder: ReifenArchivFelder): Promise { + return this.warteschlange.einreihen( + DIENST_DOMAIN, + "reifen_archiv_aktualisieren", + { id, ...felder }, + "Archivierten Reifensatz ändern", + ); + } + + reifenArchivLoeschen(id: string): Promise { + return this.warteschlange.einreihen( + DIENST_DOMAIN, + "reifen_archiv_loeschen", + { id }, + "Archivierten Reifensatz löschen", + ); + } + /** Stößt eine sofortige Aktualisierung im Backend an (Pull-to-refresh). */ jetztAktualisieren(): Promise { return this.rest.dienstAufrufen(DIENST_DOMAIN, "jetzt_aktualisieren"); diff --git a/companion-app/src/daten/profilAdapter.ts b/companion-app/src/daten/profilAdapter.ts index 2f41692..839f992 100644 --- a/companion-app/src/daten/profilAdapter.ts +++ b/companion-app/src/daten/profilAdapter.ts @@ -36,6 +36,22 @@ export interface Reifensatz { [weitere: string]: unknown } +/** Ein per "Neue Räder anlegen" archivierter Reifensatz (reifen.py + archivieren()) - der vollständige Stand zum Zeitpunkt des Austauschs. */ +export interface ReifenArchivEintrag { + id: string + satz: "sommer" | "winter" + ersetzt_am: string + km: number | null + marke: string | null + modell: string | null + dot: string | null + mass: string | null + druck_vorne: string | null + druck_hinten: string | null + kommentar: string | null +} + export interface Fahrzeug { fin: string details: string @@ -74,6 +90,8 @@ export interface Fahrzeug { wechsel: Record sommer: Reifensatz winter: Reifensatz + /** Neueste zuerst - schon so im Profil (reifen.py archivieren()). */ + archiv: ReifenArchivEintrag[] } service: Record technik: Record @@ -179,6 +197,7 @@ export function profilZuFahrzeug(profil: Profil, status: Fahrzeugstatus): Fahrze wechsel: (reifen["wechsel"] ?? {}) as Record, sommer: saetze["sommer"] ?? {}, winter: saetze["winter"] ?? {}, + archiv: (reifen["archiv"] as ReifenArchivEintrag[] | undefined) ?? [], }, service: abschnitt(profil, "service"), technik: abschnitt(profil, "technik"), diff --git a/companion-app/src/daten/service.test.ts b/companion-app/src/daten/service.test.ts index 544cf9a..b1feb69 100644 --- a/companion-app/src/daten/service.test.ts +++ b/companion-app/src/daten/service.test.ts @@ -37,7 +37,7 @@ function fahrzeug(odo: number, modus = "hersteller"): Fahrzeug { oel: { modus, km: 15000, monate: 12, herstellerKm: 30000, herstellerMonate: 24 }, versicherung: {}, steuer: { faellig: "" }, - reifen: { aktiv: "Sommer", anzugsmoment: null, wechsel: {}, sommer: {}, winter: {} }, + reifen: { aktiv: "Sommer", anzugsmoment: null, wechsel: {}, sommer: {}, winter: {}, archiv: [] }, service: {}, technik: {}, ausstattung: [], diff --git a/companion-app/src/navigation.ts b/companion-app/src/navigation.ts index bde607d..4d0d30a 100644 --- a/companion-app/src/navigation.ts +++ b/companion-app/src/navigation.ts @@ -17,6 +17,7 @@ export type SeitenName = // Unterseiten von "Mein Audi" | "ident" | "battverlauf" + | "battliste" | "service" | "werkstatt" | "sbuch" @@ -54,6 +55,7 @@ export const ZURUECK: Partial> = { reifen: "audi", ident: "audi", battverlauf: "audi", + battliste: "battverlauf", vers: "audi", beitrag: "vers", vertrag: "vers", @@ -78,6 +80,7 @@ export const TITEL: Record = { fuel: "Tanken", ident: "Fahrzeugdaten", battverlauf: "Batterie", + battliste: "Messwerte", service: "Service", werkstatt: "Werkstatt", sbuch: "Servicebuch", diff --git a/companion-app/src/screens/Batterie.tsx b/companion-app/src/screens/Batterie.tsx index 5518454..9f9a5e9 100644 --- a/companion-app/src/screens/Batterie.tsx +++ b/companion-app/src/screens/Batterie.tsx @@ -13,11 +13,13 @@ import { useEffect, useState } from "react" -import { Tile } from "@audi-dash/ui" +import { IconButton, Tile } from "@audi-dash/ui" import { ENTITAETEN } from "../api" import { useDaten } from "../daten/DatenKontext" import { datum, de } from "../format" +import type { SeitenName } from "../navigation" +import { SymbolListe } from "../symbole" import { Leerzustand, Wertzeile, Werteliste } from "./bausteine" interface Tageswert { @@ -29,8 +31,10 @@ interface Tageswert { } /** Ab hier gilt eine Messung als nicht mehr in Ruhe aufgenommen - alles - darüber ist schon Lichtmaschinenspannung, nicht mehr Ruhespannung. */ -const AGM_RUHE_MAX_V = 12.8 + darüber ist schon Lichtmaschinenspannung, nicht mehr Ruhespannung. Auch + von BatterieListe.tsx verwendet, für die "Generatorspannung"-Kennzeichnung + dort - eine einzige Schwelle für beide Ansichten. */ +export const AGM_RUHE_MAX_V = 12.8 /** Spannung → Ladezustand für eine AGM-Batterie in Ruhe. */ const LADEKURVE: [number, number][] = [ @@ -49,7 +53,7 @@ function ladezustand(spannung: number): number | null { return 0 } -export function Batterie() { +export function Batterie({ geheZu }: { geheZu: (name: SeitenName) => void }) { const { api, fahrzeug } = useDaten() const [verlauf, setzeVerlauf] = useState(null) const [fehler, setzeFehler] = useState(false) @@ -97,7 +101,12 @@ export function Batterie() { return ( <> - Ruhespannung +
+ Ruhespannung + geheZu("battliste")}> + + +
{letzter.min != null ? de(letzter.min, 2) : "—"} diff --git a/companion-app/src/screens/BatterieListe.tsx b/companion-app/src/screens/BatterieListe.tsx new file mode 100644 index 0000000..38b936c --- /dev/null +++ b/companion-app/src/screens/BatterieListe.tsx @@ -0,0 +1,103 @@ +/** + * Batteriespannungs-Messwertliste — ein Eintrag pro Tag (dieselben Daten wie + * das Diagramm in Batterie.tsx), aber als Liste: Datum, Uhrzeit, Spannung, + * Außentemperatur. Erreichbar über das Listen-Symbol oben rechts im + * Diagramm. + * + * Jede Zeile lässt sich wie Fahrten/Tankvorgänge nach links wegwischen, um + * sie zu löschen (Zeilenmenue - Wischgeste plus sichtbares Menü, siehe dort). + * + * Liegt der Tagesminimalwert über AGM_RUHE_MAX_V (Batterie.tsx), wurde er nie + * in Ruhe gemessen (das Fahrzeug stand an diesem Tag nie lange genug still) - + * die Zeile zeigt dann "Generatorspannung" statt so zu tun, als sei es ein + * Ruhewert. + */ + +import { useEffect, useState } from "react" + +import { Pill, Tile } from "@audi-dash/ui" + +import { ENTITAETEN } from "../api" +import { useDaten } from "../daten/DatenKontext" +import { datum, datumZeit, de } from "../format" +import { Leerzustand } from "./bausteine" +import { AGM_RUHE_MAX_V } from "./Batterie" +import { Zeilenmenue } from "./Zeilenmenue" + +interface Tageswert { + datum: string + min: number | null + max: number | null + min_ts?: string + min_temp_c?: number | null +} + +export function BatterieListe() { + const { api } = useDaten() + const [verlauf, setzeVerlauf] = useState(null) + const [fehler, setzeFehler] = useState(false) + + const neuLaden = () => { + void api.rest + .datenLesen(ENTITAETEN.batterieverlauf) + .then((daten) => setzeVerlauf(Array.isArray(daten) ? daten : [])) + .catch(() => setzeFehler(true)) + } + + useEffect(neuLaden, [api]) + + if (fehler) { + return ( + + ) + } + + if (!verlauf) return
Liste wird geladen …
+ + const messwerte = verlauf.filter((t) => t.min != null).slice().reverse() + + if (messwerte.length === 0) { + return ( + + ) + } + + const loeschen = async (eintrag: Tageswert) => { + await api.batterieverlaufEintragLoeschen(eintrag.datum) + neuLaden() + } + + return ( + + {messwerte.map((t) => ( + void loeschen(t)} + kinder={ +
+ + + {de(t.min!, 2)} V + + {t.min_temp_c != null ? `${de(t.min_temp_c, 1)} °C` : "—"} + + + + {t.min_ts ? datumZeit(t.min_ts) : datum(t.datum)} + + + {t.min! > AGM_RUHE_MAX_V && Generatorspannung} +
+ } + /> + ))} +
+ ) +} diff --git a/companion-app/src/screens/Reifen.tsx b/companion-app/src/screens/Reifen.tsx index 795d3f1..777649c 100644 --- a/companion-app/src/screens/Reifen.tsx +++ b/companion-app/src/screens/Reifen.tsx @@ -9,12 +9,13 @@ import { useState } from "react" -import { ActionButton, Feld, Seg, Tile } from "@audi-dash/ui" +import { Accordion, ActionButton, Feld, IconButton, Seg, Tile } from "@audi-dash/ui" import { DIENST_DOMAIN } from "../api" import { useDaten } from "../daten/DatenKontext" -import type { Reifensatz } from "../daten/profilAdapter" +import type { Reifensatz, ReifenArchivEintrag } from "../daten/profilAdapter" import { datum, de, deOderStrich } from "../format" +import { SymbolPaket } from "../symbole" import { Wertzeile, Werteliste, bestaetigen } from "./bausteine" import { Bild } from "./Bild" import { kalenderDateiLaden } from "./kalender" @@ -45,6 +46,19 @@ export function Reifen() { } } + const archivieren = async () => { + if (!bestaetigen("Neue Räder anlegen?")) return + setzeLaeuft(true) + try { + // Eigener Dienst wie reifen_wechseln: archiviert den bisherigen Stand + // und setzt den laufenden Satz zurück (km 0, Marke/Modell/DOT/Kommentar + // leer - siehe reifen.py archivieren()). + await api.reifenArchivieren(anzeige === "Winter" ? "winter" : "sommer") + } finally { + setzeLaeuft(false) + } + } + const wechseldatumSetzen = async (neuesDatum: string) => { await profilSpeichern({ fahrzeug: { @@ -125,6 +139,11 @@ export function Reifen() { beschreibung={`${anzeige}rad`} name={`${anzeige}rad`} /> +
+ void archivieren()} disabled={laeuft}> + + +
@@ -153,6 +172,193 @@ export function Reifen() { rechnet sie immer dem gerade montierten Satz zu.

+ + {fahrzeug.reifen.archiv.length > 0 && ( + + Archiv + {fahrzeug.reifen.archiv.map((eintrag) => ( + + ))} + + )} ) } + +function ArchivZeile({ eintrag }: { eintrag: ReifenArchivEintrag }) { + const { api } = useDaten() + const [bearbeiten, setzeBearbeiten] = useState(false) + const [laeuft, setzeLaeuft] = useState(false) + const [form, setzeForm] = useState(() => ({ + ersetzt_am: eintrag.ersetzt_am, + km: String(eintrag.km ?? ""), + marke: eintrag.marke ?? "", + modell: eintrag.modell ?? "", + dot: eintrag.dot ?? "", + mass: eintrag.mass ?? "", + druck_vorne: eintrag.druck_vorne ?? "", + druck_hinten: eintrag.druck_hinten ?? "", + kommentar: eintrag.kommentar ?? "", + })) + + const speichern = async () => { + setzeLaeuft(true) + try { + const kmZahl = Number(form.km.replace(",", ".")) + await api.reifenArchivAktualisieren(eintrag.id, { + ersetzt_am: form.ersetzt_am, + km: Number.isFinite(kmZahl) ? kmZahl : null, + marke: form.marke || null, + modell: form.modell || null, + dot: form.dot || null, + mass: form.mass || null, + druck_vorne: form.druck_vorne || null, + druck_hinten: form.druck_hinten || null, + kommentar: form.kommentar || null, + }) + setzeBearbeiten(false) + } finally { + setzeLaeuft(false) + } + } + + const loeschen = async () => { + if (!bestaetigen("Diesen archivierten Reifensatz löschen?")) return + setzeLaeuft(true) + try { + await api.reifenArchivLoeschen(eintrag.id) + } finally { + setzeLaeuft(false) + } + } + + return ( + + {deOderStrich(eintrag.km)} km + Ersetzt am {datum(eintrag.ersetzt_am)} + + } + > + {bearbeiten ? ( + <> + + setzeForm({ ...form, ersetzt_am: e.target.value })} + /> + + + setzeForm({ ...form, km: e.target.value })} + /> + + + setzeForm({ ...form, marke: e.target.value })} + /> + + + setzeForm({ ...form, modell: e.target.value })} + /> + + + setzeForm({ ...form, dot: e.target.value })} + /> + + + setzeForm({ ...form, mass: e.target.value })} + /> + + + setzeForm({ ...form, druck_vorne: e.target.value })} + /> + + + setzeForm({ ...form, druck_hinten: e.target.value })} + /> + + {/* Kein hier (Label und Eingabe teilen sich sonst eine Zeile, + die Eingabe bleibt auf ihrer intrinsischen Breite - für eine + Notiz wie "Profiltiefe 5,1 mm bei der letzten Kontrolle" zu + wenig Platz, live beobachtet). Eingabe über die volle Breite, + Label darüber - Parität zum Panel (.feld--breit). */} +
+ + setzeForm({ ...form, kommentar: e.target.value })} + /> +
+
+ void speichern()} disabled={laeuft}> + {laeuft ? "Speichere …" : "Speichern"} + + setzeBearbeiten(false)} disabled={laeuft}> + Abbrechen + +
+
+ void loeschen()} disabled={laeuft}> + Löschen + +
+ + ) : ( + <> + + + + + + {Boolean(eintrag.kommentar) && } + + } + /> +
+ setzeBearbeiten(true)}>Bearbeiten +
+ + )} +
+ ) +} diff --git a/companion-app/src/screens/register.tsx b/companion-app/src/screens/register.tsx index d67d1f9..1dcb109 100644 --- a/companion-app/src/screens/register.tsx +++ b/companion-app/src/screens/register.tsx @@ -6,6 +6,7 @@ import { useDaten } from "../daten/DatenKontext" import type { Route, SeitenName } from "../navigation" import { Batterie } from "./Batterie" +import { BatterieListe } from "./BatterieListe" import { Einstellungen } from "./Einstellungen" import { FahrtDetail } from "./FahrtDetail" import { Fahrten } from "./Fahrten" @@ -69,7 +70,9 @@ export function SeiteFuer(props: SeitenProps) { case "ident": return case "battverlauf": - return + return + case "battliste": + return case "service": return case "werkstatt": diff --git a/companion-app/src/symbole.tsx b/companion-app/src/symbole.tsx index 034dc0f..eb8c2de 100644 --- a/companion-app/src/symbole.tsx +++ b/companion-app/src/symbole.tsx @@ -13,14 +13,22 @@ interface SymbolProps { groesse?: number | undefined } -function Rahmen({ groesse = 24, kinder }: SymbolProps & { kinder: ReactElement }) { +/** `voll`: Fuellflaeche statt Kontur, fuer Symbole aus dem Audi-CI-Icon-Satz, + deren Pfade ihr eigenes fill="currentColor" mitbringen - ohne stroke="none" + hier wuerde der geerbte Kontur-Stroke trotzdem um jede Flaeche gezeichnet. + Entspricht der .voll-Klasse im Panel (audi-dashboard-app.js). */ +function Rahmen({ + groesse = 24, + voll = false, + kinder, +}: SymbolProps & { voll?: boolean; kinder: ReactElement }) { return ( } /> + return ( + + } + /> + ) +} + +// CI-Symbol list-s: Sprung vom Diagramm zur Werteliste (Batteriespannung). +export function SymbolListe({ groesse }: SymbolProps) { + return ( + } + /> + ) +} + +// CI-Symbol package-s: "Neue Räder anlegen" (Reifensatz archivieren). +export function SymbolPaket({ groesse }: SymbolProps) { + return ( + + } + /> + ) } export function SymbolTanken({ groesse }: SymbolProps) { diff --git a/custom_components/audi_dashboard/ablage.py b/custom_components/audi_dashboard/ablage.py index 6ede3ab..09e8682 100644 --- a/custom_components/audi_dashboard/ablage.py +++ b/custom_components/audi_dashboard/ablage.py @@ -332,19 +332,24 @@ class Ablage: # ------------------------------------------------------ Batteriespannung async def batterieverlauf_lesen(self) -> list[dict]: - """Ein Eintrag pro Tag ({datum, min, min_ts, max, max_ts}), älteste - zuerst. min_ts/max_ts sind die Zeitstempel (ISO, UTC) der jeweiligen - Einzelmessung, für die Datum/Uhrzeit-Anzeige beim Antippen des - Diagrammpunkts - der Punkt selbst zeigt nur den Minimalwert.""" + """Ein Eintrag pro Tag ({datum, min, min_ts, max, max_ts, + min_temp_c}), älteste zuerst. min_ts/max_ts sind die Zeitstempel + (ISO, UTC) der jeweiligen Einzelmessung, für die Datum/Uhrzeit-Anzeige + beim Antippen des Diagrammpunkts - der Punkt selbst zeigt nur den + Minimalwert. min_temp_c ist die Außentemperatur zum Zeitpunkt genau + dieser Minimalmessung (None ohne zugeordneten Temperatursensor oder + bei älteren, vor dessen Einführung geschriebenen Einträgen).""" text = await self._im_executor(self._text_lesen, self.batterieverlauf_pfad) return self._zeilen_aus_text(text, self.batterieverlauf_pfad) async def batterieverlauf_tageswert_aktualisieren( - self, datum: str, ts: str, spannung: float + self, datum: str, ts: str, spannung: float, aussentemp: float | None = None ) -> None: """Trägt eine neue Messung in den Tageseintrag für `datum` ein: legt ihn beim ersten Wert des Tages an, erweitert sonst nur min/max samt - dem Zeitstempel der jeweils neuen Extremmessung.""" + dem Zeitstempel der jeweils neuen Extremmessung. min_temp_c wird nur + mitgeschrieben, wenn diese Messung auch den Minimalwert setzt - sie + gilt für genau diesen Zeitpunkt, nicht für den Tag insgesamt.""" async with self._sperre: verlauf = await self.batterieverlauf_lesen() for eintrag in verlauf: @@ -353,14 +358,16 @@ class Ablage: if spannung < eintrag["min"]: eintrag["min"] = spannung eintrag["min_ts"] = ts + eintrag["min_temp_c"] = aussentemp if spannung > eintrag["max"]: eintrag["max"] = spannung eintrag["max_ts"] = ts break else: - verlauf.append( - {"datum": datum, "min": spannung, "min_ts": ts, "max": spannung, "max_ts": ts} - ) + verlauf.append({ + "datum": datum, "min": spannung, "min_ts": ts, + "max": spannung, "max_ts": ts, "min_temp_c": aussentemp, + }) # Nach Datum sortiert schreiben, nicht in Einfügereihenfolge. # Solange nur die Live-Aufzeichnung schrieb, war beides dasselbe # (sie trägt immer den heutigen Tag ein). Der nachträgliche Import @@ -374,6 +381,19 @@ class Ablage: self._text_aus_zeilen(verlauf), ) + async def batterieverlauf_eintrag_loeschen(self, datum: str) -> bool: + async with self._sperre: + verlauf = await self.batterieverlauf_lesen() + uebrig = [e for e in verlauf if e.get("datum") != datum] + if len(uebrig) == len(verlauf): + return False + await self._im_executor( + self._text_schreiben, + self.batterieverlauf_pfad, + self._text_aus_zeilen(uebrig), + ) + return True + # ---------------------------------------------------- Sensor-Zuordnung async def zuordnung_lesen(self) -> dict: diff --git a/custom_components/audi_dashboard/batterie.py b/custom_components/audi_dashboard/batterie.py index 8193fc1..24d9abe 100644 --- a/custom_components/audi_dashboard/batterie.py +++ b/custom_components/audi_dashboard/batterie.py @@ -27,6 +27,12 @@ langen Fahrt), tauchen dort nicht in der Statistik auf. Ohne zugeordneten BATTERIE_SENSOR passiert hier bewusst nichts, statt Platzhalter-Nullwerte aufzuzeichnen. + +Optional wird bei jeder neuen Tagesminimum-Messung auch die aktuelle +Außentemperatur (AUSSENTEMP_SENSOR, CAN ambient air temperature) mit +aufgezeichnet - für die Messwertliste (Datum, Uhrzeit, Außentemperatur), nicht +für die Ladezustandsauswertung selbst. Ohne zugeordneten Temperatursensor +bleibt das Feld None, genau wie beim Batteriesensor. """ from __future__ import annotations @@ -55,10 +61,33 @@ async def pruefen(k: Koordinator) -> None: except (TypeError, ValueError): return + aussentemp = None + temp_wert = zustand_oder_none(k.hass, k.zuordnung.werte.AUSSENTEMP_SENSOR) + if temp_wert is not None: + try: + aussentemp = float(temp_wert) + except (TypeError, ValueError): + pass + jetzt = datetime.datetime.now(datetime.UTC) heute = datetime.date.today().isoformat() await k.ablage.batterieverlauf_tageswert_aktualisieren( - heute, jetzt.isoformat(), spannung + heute, jetzt.isoformat(), spannung, aussentemp ) await k.batterieverlauf_veroeffentlichen() _LOGGER.debug("Batteriespannung erfasst (%s: %s V)", heute, spannung) + + +async def eintrag_loeschen(k: Koordinator, datum: str | None) -> None: + """Löscht einen Tageseintrag aus der Messwertliste (Wischen zum Löschen). + + Entfernt nur diesen einen Tag - min/max anderer Tage bleiben unberührt, + das Diagramm zeichnet beim nächsten Aufruf einfach ohne diesen Punkt.""" + if not datum: + _LOGGER.warning("batterieverlauf_loeschen ohne datum aufgerufen") + return + if await k.ablage.batterieverlauf_eintrag_loeschen(datum): + await k.batterieverlauf_veroeffentlichen() + _LOGGER.info("Batteriespannungs-Tageseintrag %s gelöscht", datum) + else: + _LOGGER.warning("Batteriespannungs-Tageseintrag %s nicht gefunden", datum) diff --git a/custom_components/audi_dashboard/const.py b/custom_components/audi_dashboard/const.py index fe7952d..797fade 100644 --- a/custom_components/audi_dashboard/const.py +++ b/custom_components/audi_dashboard/const.py @@ -84,8 +84,12 @@ D_TANKVORGANG_AKTUALISIEREN = "tankvorgang_aktualisieren" D_TANKVORGANG_LOESCHEN = "tankvorgang_loeschen" D_BILD_HOCHLADEN = "bild_hochladen" D_BILD_LOESCHEN = "bild_loeschen" +D_BATTERIEVERLAUF_LOESCHEN = "batterieverlauf_loeschen" D_REIFEN_WECHSELN = "reifen_wechseln" D_REIFEN_KM_SETZEN = "reifen_km_setzen" +D_REIFEN_ARCHIVIEREN = "reifen_archivieren" +D_REIFEN_ARCHIV_AKTUALISIEREN = "reifen_archiv_aktualisieren" +D_REIFEN_ARCHIV_LOESCHEN = "reifen_archiv_loeschen" D_BACKUP_JETZT = "backup_jetzt" D_BACKUP_WIEDERHERSTELLEN = "backup_wiederherstellen" D_HISTORIE_IMPORTIEREN = "historie_importieren" diff --git a/custom_components/audi_dashboard/dienste.py b/custom_components/audi_dashboard/dienste.py index d8a140e..480f0e3 100644 --- a/custom_components/audi_dashboard/dienste.py +++ b/custom_components/audi_dashboard/dienste.py @@ -28,6 +28,7 @@ from homeassistant.helpers import config_validation as cv from . import ( aktualisierung, + batterie, belege, bilder, fahrterkennung, @@ -41,6 +42,7 @@ from .const import ( CONF_GITEA_TOKEN, D_BACKUP_JETZT, D_BACKUP_WIEDERHERSTELLEN, + D_BATTERIEVERLAUF_LOESCHEN, D_BELEG_HOCHLADEN, D_BILD_HOCHLADEN, D_BILD_LOESCHEN, @@ -51,6 +53,9 @@ from .const import ( D_HISTORIE_IMPORTIEREN, D_JETZT_AKTUALISIEREN, D_PROFIL_SCHREIBEN, + D_REIFEN_ARCHIV_AKTUALISIEREN, + D_REIFEN_ARCHIV_LOESCHEN, + D_REIFEN_ARCHIVIEREN, D_REIFEN_KM_SETZEN, D_REIFEN_WECHSELN, D_SCREENING_JETZT, @@ -94,6 +99,18 @@ _TANK_FELDER = { vol.Optional("receipt_file"): _TEXT, } +_REIFEN_ARCHIV_FELDER = { + vol.Optional("ersetzt_am"): _TEXT, + vol.Optional("km"): _ZAHL, + vol.Optional("marke"): _TEXT, + vol.Optional("modell"): _TEXT, + vol.Optional("dot"): _TEXT, + vol.Optional("mass"): _TEXT, + vol.Optional("druck_vorne"): _TEXT, + vol.Optional("druck_hinten"): _TEXT, + vol.Optional("kommentar"): _TEXT, +} + SCHEMATA: dict[str, vol.Schema] = { D_JETZT_AKTUALISIEREN: vol.Schema({}), D_SCREENING_JETZT: vol.Schema({}), @@ -132,6 +149,12 @@ SCHEMATA: dict[str, vol.Schema] = { vol.Required("satz"): vol.In(reifen.SAETZE), vol.Required("km"): vol.Coerce(float), }), + D_REIFEN_ARCHIVIEREN: vol.Schema({vol.Required("satz"): vol.In(reifen.SAETZE)}), + D_REIFEN_ARCHIV_AKTUALISIEREN: vol.Schema({ + vol.Required("id"): cv.string, **_REIFEN_ARCHIV_FELDER + }), + D_REIFEN_ARCHIV_LOESCHEN: vol.Schema({vol.Required("id"): cv.string}), + D_BATTERIEVERLAUF_LOESCHEN: vol.Schema({vol.Required("datum"): cv.string}), D_BACKUP_WIEDERHERSTELLEN: vol.Schema({ vol.Optional("profil_json"): _JSON, vol.Optional("fahrten_json"): _JSON, @@ -320,6 +343,16 @@ def registrieren(hass: HomeAssistant, k: Koordinator) -> None: D_REIFEN_KM_SETZEN: _als_dienst( lambda a: reifen.km_setzen(k, a.data["satz"], a.data["km"]) ), + D_REIFEN_ARCHIVIEREN: _als_dienst(lambda a: reifen.archivieren(k, a.data["satz"])), + D_REIFEN_ARCHIV_AKTUALISIEREN: _als_dienst( + lambda a: reifen.archiv_aktualisieren(k, a.data["id"], dict(a.data)) + ), + D_REIFEN_ARCHIV_LOESCHEN: _als_dienst( + lambda a: reifen.archiv_loeschen(k, a.data["id"]) + ), + D_BATTERIEVERLAUF_LOESCHEN: _als_dienst( + lambda a: batterie.eintrag_loeschen(k, a.data["datum"]) + ), D_BACKUP_JETZT: _als_dienst(lambda _a: sicherung.jetzt(k)), D_BACKUP_WIEDERHERSTELLEN: _als_dienst( lambda a: sicherung.wiederherstellen(k, dict(a.data)) diff --git a/custom_components/audi_dashboard/einstellungen.py b/custom_components/audi_dashboard/einstellungen.py index 1e3fc92..ad7ce88 100644 --- a/custom_components/audi_dashboard/einstellungen.py +++ b/custom_components/audi_dashboard/einstellungen.py @@ -81,6 +81,11 @@ class Sensorzuordnung: # und hat mit der Fahrzeugbatterie nichts zu tun). BATTERIE_SENSOR: str = "" + # Außentemperatur (CAN ambient air temperature) - optional, für die + # Batteriespannungs-Messwertliste: zusammen mit dem Tagesminimum + # aufgezeichnet, siehe batterie.py. + AUSSENTEMP_SENSOR: str = "" + # Knopf für eine sofortige Neuabfrage beim Fahrzeug. REFRESH_BUTTON: str = "" @@ -166,6 +171,11 @@ FELDER: list[dict] = [ "hinweis": "Nicht jede Integration liefert diesen Wert - bleibt er leer, zeigt \"Mein Audi\" \"unbekannt\".", "domains": ["sensor"], "device_classes": ["voltage"], "units": ["V"], "liste": False, "pflicht": False, "stichworte": ["batterie", "battery", "spannung", "volt", "12v"]}, + {"key": "AUSSENTEMP_SENSOR", "label": "Außentemperatur", "gruppe": "uebersicht", + "hinweis": "CAN-Außentemperatur - optional, ergänzt die Batteriespannungs-Messwertliste um den " + "Temperaturwert je Tag.", + "domains": ["sensor"], "device_classes": ["temperature"], "units": ["°C", "°F"], "liste": False, + "pflicht": False, "stichworte": ["außentemperatur", "aussentemperatur", "ambient", "temperatur", "temperature"]}, {"key": "REFRESH_BUTTON", "label": "Sofort-Aktualisierung (Knopf)", "gruppe": "uebersicht", "hinweis": "Der von der Integration bereitgestellte Knopf für \"Ziehen zum Aktualisieren\".", "domains": ["button"], "device_classes": [], "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 4e5d991..07725b2 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.11","sha256":"c1a85f9a15b434121f4cd19e2729cfbe60ca89757163954f07152483b8b209af","bytes":233245,"gebaut":"2026-08-24T14:58:21Z"} \ No newline at end of file +{"version":"2026.8.25.8","sha256":"464c294c6c07dcb636a8ea3bd93c7e525b21722defb41f573e2b31fefade49ea","bytes":235525,"gebaut":"2026-08-27T09:40:45Z"} \ 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 0692755b5e34225d160a18fcc1acefb84962e47b..6cd17ecf76485a3442f6f3246414033a5a8ec244 100644 GIT binary patch delta 93802 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

9Zz*>uwSDw{XZsLz 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 Zha1=t56KTPr2%}3ha`nDOojZi{$G;?V2uC( delta 91395 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 diff --git a/custom_components/audi_dashboard/frontend/audi-dashboard-app.js b/custom_components/audi_dashboard/frontend/audi-dashboard-app.js index acf72e4..e78d4e4 100644 --- a/custom_components/audi_dashboard/frontend/audi-dashboard-app.js +++ b/custom_components/audi_dashboard/frontend/audi-dashboard-app.js @@ -176,6 +176,12 @@ function profilZuCar(p, status) { wechsel: p.reifen.wechsel, sommer: reifenSatz("sommer"), winter: reifenSatz("winter"), + // Neueste zuerst, schon so im Profil (reifen.py archivieren()). Nur + // gelesen - bearbeitet/gelöscht wird über eigene Dienste + // (reifen_archiv_aktualisieren/-loeschen), nicht über profilSpeichern, + // aus demselben Grund wie km oben: kein Stand im Browser darf einen + // zwischenzeitlichen Servereintrag überschreiben. + archiv: p.reifen.archiv || [], }, service: p.service, technik: p.technik, @@ -1044,6 +1050,16 @@ const CI = { verbatim uebernommen) - l im 48er-, s im 24er-Grid wie poi-l/poi-s. */ battery12vL: '', battery12vS: '', + /* list-l/-s, polls-l/-s, package-l/-s aus dem Audi-CI-Icon-Satz (vom Nutzer + als SVG geliefert, verbatim uebernommen) - l im 48er-, s im 24er-Grid wie + poi-l/poi-s. list: Sprung vom Diagramm zur Werteliste (Batteriespannung). + polls: Statistik-Tab in der Tableiste. package: "Neue Räder anlegen". */ + listL: '', + listS: '', + pollsL: '', + pollsS: '', + packageL: '', + packageS: '', /* edit-l/-s aus dem Audi-CI-Icon-Satz (vom Nutzer als SVG geliefert, verbatim uebernommen) - l im 48er-, s im 24er-Grid wie poi-l/poi-s. */ editL: '', @@ -1782,7 +1798,10 @@ function vBatterieverlauf() { return `

- Verlauf +
+ Verlauf + +
${genug ? `
@@ -1825,6 +1844,31 @@ function vBatterieverlauf() {
`; } +/* Messwertliste zur Batteriespannungs-Kachel: ein Eintrag pro Tag (dieselben + Daten wie das Diagramm), aber als Liste mit Datum, Uhrzeit, Spannung und + Außentemperatur. Jede Zeile wischbar zum Löschen wie Fahrten/Tankvorgänge + (art "batt" in eintragLoeschen()/LOESCH_TEXT/LOESCH_HINWEIS) - kein + data-go/Chevron, es gibt keine Detailseite für einen einzelnen Messwert. + Liegt der Tagesminimalwert über AGM_RUHE_MAX_V, wurde er nie in Ruhe + gemessen (an dem Tag stand das Fahrzeug nie lange genug still) - die Zeile + markiert das mit "Generatorspannung" statt so zu tun, als sei es ein + Ruhewert (dieselbe Schwelle wie im Diagramm selbst, siehe bvPunkte oben). */ +function vBatterieliste() { + const messwerte = BATTERIEVERLAUF.filter((e) => e.min != null).slice().reverse(); + if (messwerte.length === 0) { + return `
Keine Messwerte
`; + } + return `
${messwerte.map((e) => { + const zeit = e.min_ts ? new Date(e.min_ts) : null; + const wann = zeit ? `${dedat(zeit)} · ${zeit.toLocaleTimeString("de-DE", { hour: "2-digit", minute: "2-digit" })} Uhr` : dedat(new Date(e.datum)); + return swipeZeile(`batt:${e.datum}`, ` +
+ ${de(e.min, 2)} V${e.min_temp_c != null ? de(e.min_temp_c, 1) + " °C" : "—"} + ${wann}${e.min > AGM_RUHE_MAX_V ? `Generatorspannung` : ""} +
`); + }).join("")}
`; +} + function bvSkalaX(t) { return BV_ML + ((t - bvDomain[0]) / (bvDomain[1] - bvDomain[0])) * (BV_W - BV_ML - BV_MR); } function bvSkalaY(v, yMin, yMax) { return BV_H - BV_MB - ((v - yMin) / (yMax - yMin)) * (BV_H - BV_MT - BV_MB); } function bvDomainKlemmen(domain) { @@ -2843,7 +2887,10 @@ function vReifen() {
` : ""} -
+
+ +
+
${feld(k, "marke", "Hersteller")} ${feld(k, "modell", "Modell")} ${feld(k, "mass", "Größe")} @@ -2856,7 +2903,8 @@ function vReifen() { bar
- ${feld(k, "kommentar", "Kommentar")} +
+
`; }; @@ -2883,7 +2931,55 @@ function vReifen() {
${satz("sommer")} - ${satz("winter")}`; + ${satz("winter")} + ${vReifenArchiv()}`; +} + +/* Übersicht der per "Neue Räder anlegen" archivierten Sätze - jede Zeile + aufklappbar (dasselbe acc-h/acc-b-Muster wie die Tankvorgänge-Liste), mit + inline editierbaren Feldern wie bei den laufenden Sätzen oben, nur über + eigene Dienste statt profilSpeichern (siehe profilZuCar()). */ +function vReifenArchiv() { + const archiv = CAR.reifen.archiv || []; + if (archiv.length === 0) return ""; + // Kein .mitEinheit hier (das erzwingt eine feste 96px-Eingabebreite fürs + // Zahl+Einheit-Muster, z. B. km/Nm - für freien Text wie Hersteller/Modell/ + // Kommentar riss das den Wert ab, siehe live beobachtet: "Continenta", + // "SportConta"). Genau wie feld() in satz() oben: einfaches , das + // sich über den .feld-Flex den ganzen Rest der Zeile nimmt. + const feld = (a, schluessel, bez) => `
+
`; + return `
Archiv + ${archiv.map((a, i) => { + const satzLabel = a.satz === "winter" ? "Winterräder" : "Sommerräder"; + return ` +
+
+
+ km
+ ${feld(a, "marke", "Hersteller")} + ${feld(a, "modell", "Modell")} + ${feld(a, "mass", "Größe")} + ${feld(a, "dot", "DOT")} +
+ + + / + + bar + +
+
+
+ +
`; + }).join("")} +
`; } /* Gemeinsames Formular für "Neue Fahrt" und das Bearbeiten einer bestehenden @@ -3250,12 +3346,14 @@ const LOESCH_TEXT = { fill: "Tankvorgang löschen?", sbuch: "Servicebuch-Eintrag löschen?", bild: "Foto löschen?", + batt: "Messwert löschen?", }; const LOESCH_HINWEIS = { trip: "Die Fahrt wird aus dem Fahrtenbuch entfernt. Das lässt sich nicht widerrufen.", fill: "Der Tankvorgang und der zugehörige Beleg werden entfernt. Das lässt sich nicht widerrufen.", sbuch: "Der Eintrag wird aus dem Servicebuch entfernt. Das lässt sich nicht widerrufen.", bild: "Das Foto wird vom Server gelöscht. Der Platz bleibt bestehen und kann neu belegt werden.", + batt: "Der Tageseintrag wird aus der Messwertliste entfernt. Das lässt sich nicht widerrufen.", }; function eintragLoeschen(art, id) { if (art === "trip") { @@ -3267,6 +3365,9 @@ function eintragLoeschen(art, id) { } else if (art === "sbuch") { CAR.service.buch.splice(parseInt(id, 10), 1); profilSpeichern(); + } else if (art === "batt") { + serviceRufen("batterieverlauf_loeschen", { datum: id }); + BATTERIEVERLAUF = BATTERIEVERLAUF.filter((e) => e.datum !== id); } } @@ -3511,7 +3612,9 @@ const ICONS = { assets/icons/car.svg). Flaeche statt Kontur, deshalb die Klasse "voll". */ audi: '', trips: '', - stat: '', + /* CI-Symbol polls-s statt der vorherigen handgezeichneten Balken - dieselbe + Fuellflaeche-statt-Kontur-Behandlung wie "audi" (siehe ICONS_VOLL). */ + stat: CI.pollsS, fuel: '', }; const TABS = [ @@ -3522,7 +3625,7 @@ const TABS = [ { id: "fuel", label: "Tanken", eyebrow: "", title: "Tanken" }, ]; /* Symbole, die als Flaeche gezeichnet sind statt als Kontur */ -const ICONS_VOLL = new Set(["audi"]); +const ICONS_VOLL = new Set(["audi", "stat"]); let route = { name: "home" }; const ZURUECK = { trip: "trips", fill: "fuel", service: "audi", reifen: "audi", ident: "audi", @@ -3530,6 +3633,7 @@ const ZURUECK = { vertrag: "vers", steuer: "vers", notruf: "vers", werkstatt: "service", sbuch: "service", einst: "home", battverlauf: "audi", + battliste: "battverlauf", /* Fehlte: die Sicherheitsansicht war eine Sackgasse ohne sichtbaren Zurück-Pfeil. */ sicherheit: "home", @@ -3889,6 +3993,7 @@ function render() { else if (route.name === "schutz") { head = ["Im Ernstfall", "Schutzbrief"]; v.innerHTML = vSchutz(); } else if (route.name === "werkstatt") { head = ["Service", "Autohaus"]; v.innerHTML = vWerkstatt(); } else if (route.name === "battverlauf") { head = ["Fahrzeug", "Batteriespannung"]; v.innerHTML = vBatterieverlauf(); bvZeichnen(); } + else if (route.name === "battliste") { head = ["Batteriespannung", "Messwerte"]; v.innerHTML = vBatterieliste(); } else if (route.name === "sbuch") { head = ["Servicebuch", "Eintrag"]; v.innerHTML = vSbuch(); } else if (route.name === "standort") { head = ["Fahrzeug", "Standort"]; v.innerHTML = vStandort(); } else { const t = TABS.find((x) => x.id === route.name); head = [t.eyebrow, t.id === "audi" ? "Mein Audi" : t.title]; @@ -4724,6 +4829,25 @@ function ereignisseVerdrahten() { } const satz = e.target.closest("[data-satz]"); if (satz) { serviceRufen("reifen_wechseln", { satz: satz.dataset.satz.toLowerCase() }); CAR.reifen.aktiv = satz.dataset.satz; render(); return; } + const rfArch = e.target.closest("[data-reifenarchivieren]"); + if (rfArch) { + const k = rfArch.dataset.reifenarchivieren; + bestaetigen("Neue Räder anlegen?", + "Der aktuelle Stand wird ins Archiv gelegt, der laufende Satz beginnt neu bei 0 km.", + "Anlegen", () => { serviceRufen("reifen_archivieren", { satz: k }); }, false); + return; + } + const rfArchDel = e.target.closest("[data-reifenarchivloeschen]"); + if (rfArchDel) { + const id = rfArchDel.dataset.reifenarchivloeschen; + bestaetigen("Archivierten Reifensatz löschen?", + "Das lässt sich nicht widerrufen.", "Löschen", () => { + serviceRufen("reifen_archiv_loeschen", { id }); + CAR.reifen.archiv = CAR.reifen.archiv.filter((a) => a.id !== id); + render(); + }, true); + return; + } const k = e.target.closest("[data-ics]"); if (k) { if (k.dataset.ics === "service") { @@ -4912,6 +5036,18 @@ function ereignisseVerdrahten() { CAR.reifen[k][schluessel] = wert; profilSpeichern(); render(); return; } + const rfa = e.target.dataset.rfa; + if (rfa) { + const [id, schluessel] = rfa.split("|"); + const wert = schluessel === "km" ? parseFloat(e.target.value) || 0 : e.target.value; + const eintrag = CAR.reifen.archiv.find((a) => a.id === id); + if (eintrag) eintrag[schluessel] = wert; + // Eigener Dienst statt profilSpeichern (siehe profilZuCar()) - ändert + // nur diesen einen archivierten Satz, statt das ganze Profil (samt + // eines womöglich seither fortgeschriebenen km-Stands) zu überschreiben. + serviceRufen("reifen_archiv_aktualisieren", { id, [schluessel]: wert }); + return; + } if (e.target.dataset.schrift !== undefined) { beschriftung = e.target.checked; try { localStorage.setItem(SCHRIFT_KEY, beschriftung ? "an" : "aus"); } catch (err) { /* Privatmodus */ } diff --git a/custom_components/audi_dashboard/frontend/audi-dashboard-ios.css b/custom_components/audi_dashboard/frontend/audi-dashboard-ios.css index 68f2f0a..24588cb 100644 --- a/custom_components/audi_dashboard/frontend/audi-dashboard-ios.css +++ b/custom_components/audi_dashboard/frontend/audi-dashboard-ios.css @@ -334,6 +334,14 @@ main#view{--seitenrand:16px;padding:0 var(--seitenrand) 30px;scroll-behavior:smo Einblend-Animation dieser Elemente zu beruehren. */ .setup-popup,.sdpopup,.sheet,.beleg-popup{max-width:560px;margin-left:auto;margin-right:auto} .standortmenu{max-width:640px;margin-left:auto;margin-right:auto} + + /* Batteriespannungs-Diagramm ist auf BV_W=320 SVG-Einheiten gezeichnet + (audi-dashboard-app.js) und haelt seine Hoehe fest bei 170px - bei voller + Spaltenbreite (772px Inhaltsbreite: 860 - 2*44px Seitenrand) zog + preserveAspectRatio="none" das Diagramm zu einem extrem breiten, flachen + Band auseinander. Gedeckelt wie die Popups oben, statt die feste Hoehe + oder die BV_*-Zeichen-Logik anzufassen. */ + #bvChart{max-width:400px;margin-left:auto;margin-right:auto} } /* Fahrzeugbild randlos wie in einer Fahrzeug-App: der Platzhalter bleibt diff --git a/custom_components/audi_dashboard/frontend/audi-dashboard.css b/custom_components/audi_dashboard/frontend/audi-dashboard.css index 9c31da8..6f2b7f6 100644 --- a/custom_components/audi_dashboard/frontend/audi-dashboard.css +++ b/custom_components/audi_dashboard/frontend/audi-dashboard.css @@ -171,6 +171,17 @@ .themebtn:hover { background: var(--tile-2); color: var(--fg); } .themebtn:active { background: var(--tile-2); color: var(--fg); transform: scale(.92); } .themebtn svg { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; } +/* Wie .themebtn (44px Trefferflaeche), aber ohne die Kontur-Stroke-Regel - + fuer CI-Symbole (ciSVG()), deren Pfade ihr eigenes fill="currentColor" + mitbringen (z. B. list-s im Kopf der Batteriespannungs-Kachel). */ +.iconbtn { + display: inline-flex; align-items: center; justify-content: center; + width: 44px; height: 44px; border-radius: 50%; + border: none; background: none; color: var(--fg3); + cursor: pointer; padding: 0; flex: 0 0 auto; +} +.iconbtn:hover { background: var(--tile-2); color: var(--fg); } +.iconbtn:active { background: var(--tile-2); color: var(--fg); transform: scale(.92); } /* D4 war urspruenglich: die Ringe sind Marke, kein Knopf. Seit die iOS-Auflage in Telefonbreite das Zahnrad ausblendet, sind sie dort aber der einzige Zugang zu den Einstellungen - und als reines div mit @@ -665,6 +676,15 @@ button.sicherheitszeile:active { background: var(--tile-2); } appearance: none; } .feld input:focus, .feld select:focus, .notiz:focus { outline: none; border-color: var(--red); } +/* Label und Eingabe untereinander statt nebeneinander, die Eingabe über die + volle Zeilenbreite - für Felder, deren Wert typischerweise länger ist als + ein Kurztext (Kommentar bei Sommer-/Winterrädern, live wie archiviert). + Sonst gilt .feld input oben: die Eingabe wächst nie über ihre intrinsische + Breite, nur das Label tut das (flex:1 1 auto) - für einen Reifenkommentar + ("Profiltiefe 5,1 mm bei der letzten Montage") reichte das nicht. */ +.feld--breit { display: block; } +.feld--breit label { display: block; margin-bottom: 8px; } +.feld--breit input { width: 100%; text-align: left; } /* Das AUFGEKLAPPTE