Tanken: Distanz-Vorschlag bevorzugt TANK_DISTANZ_SENSOR; Zuletzt-Kachel: Zeilenabstand ergänzt

- distanzVorschlag(): liest jetzt zuerst den Live-Wert von TANK_DISTANZ_SENSOR
  (wie backendseitig schon in distanz_seit_tankung()), fällt ohne Zuordnung
  auf die bisherige FILLS-Berechnung zurück (jetzt distanzVorschlagBerechnet()).
- .leaf .v: gap:3px ergänzt (fehlte im Gegensatz zu .leaf .k) - die zweizeiligen
  Werte in der "Zuletzt"-Kachel (Übersicht) berührten sich sonst.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-28 11:26:23 +02:00
parent ff9aaeb338
commit dd8d62e3b3
4 changed files with 56 additions and 7 deletions
@@ -3515,13 +3515,14 @@ function badgePraefix() {
input-Handler in ereignisseVerdrahten, endgültig beim Speichern). */
const KRAFTSTOFFSORTEN = ["V-Power Racing", "Super Plus", "Super"];
/* Vorschlag für "Gefahrene Distanz" bei einer NEUEN Erfassung: Differenz zum
zeitlich letzten bereits erfassten Tankvorgang in FILLS - dieselbe Regel
wie backendseitig in _distanz_seit_letzter_tankung() (belegverarbeitung.py),
hier nur zur Vorbefüllung, da der neue Datensatz noch nicht existiert. Beim
/* Eigene Berechnung als RÜCKFALL für "Gefahrene Distanz" bei einer NEUEN
Erfassung, wenn kein TANK_DISTANZ_SENSOR zugeordnet ist oder dieser gerade
keinen gültigen Wert liefert (siehe distanzVorschlag() unten): Differenz
zum zeitlich letzten bereits erfassten Tankvorgang in FILLS - dieselbe
Regel wie backendseitig in ablage.distanz_seit_letzter_tankung(). Beim
Bearbeiten eines bestehenden Vorgangs kommt der Wert dagegen direkt aus
f.distance_km (siehe Aufrufer). */
function distanzVorschlag(aktuellerKm) {
function distanzVorschlagBerechnet(aktuellerKm) {
if (aktuellerKm === "" || aktuellerKm == null || !FILLS.length) return "";
const letzte = FILLS.reduce((a, b) => (new Date(b.ts) > new Date(a.ts) ? b : a));
if (letzte.odometer_km == null) return "";
@@ -3534,6 +3535,23 @@ function distanzVorschlag(aktuellerKm) {
return distanz < 0 ? "" : distanz;
}
/* Vorschlag für "Gefahrene Distanz" bei einer NEUEN Erfassung: bevorzugt den
aktuellen Live-Wert von TANK_DISTANZ_SENSOR (vom Fahrzeug selbst berechnet,
z. B. FMM003s "calculated_distance_covered_after_the_latest_refueling"),
fällt ohne Zuordnung oder bei einem gerade nicht-numerischen Zustand
(unavailable/unknown) auf distanzVorschlagBerechnet() zurück - dieselbe
"Sensor bevorzugt, eigene Berechnung als Rückfall"-Reihenfolge wie
backendseitig in distanz_seit_tankung() (tankerkennung.py), hier nur zur
Vorbefüllung im Formular, da der neue Datensatz noch nicht existiert. */
function distanzVorschlag(aktuellerKm) {
const id = ENTITAETEN && ENTITAETEN.werte && ENTITAETEN.werte.TANK_DISTANZ_SENSOR;
if (id && HASS && HASS.states[id]) {
const wert = parseFloat(HASS.states[id].state);
if (Number.isFinite(wert)) return wert;
}
return distanzVorschlagBerechnet(aktuellerKm);
}
function tankFelder(praefix, f) {
// Ein zuvor hochgeladener, noch nicht gespeicherter Beleg (belegEntwurf)
// überlagert hier nur die Beleg-Felder - Kilometerstand/Distanz kommen
@@ -469,7 +469,7 @@ button.sicherheitszeile:active { background: var(--tile-2); }
}
.leaf .k { font-size: 14px; color: var(--fg); display: flex; flex-direction: column; gap: 3px; line-height: 1.35; }
.leaf .k small { font-size: 12px; color: var(--fg3); }
.leaf .v { font-size: 13px; color: var(--fg2); text-align: right; display: flex; flex-direction: column; flex: 0 0 auto; }
.leaf .v { font-size: 13px; color: var(--fg2); text-align: right; display: flex; flex-direction: column; gap: 3px; flex: 0 0 auto; }
.leaf .v small { font-size: 12px; color: var(--fg3); }
/* cursor/:active nur für echte .leaf-Buttons (data-go, navigieren bei Klick)
- die Batterie-Messwertliste (vBatterieliste()) ist bewusst ein reines
@@ -1,7 +1,7 @@
{
"domain": "audi_dashboard",
"name": "Audi Dashboard",
"version": "2026.8.28.10",
"version": "2026.8.28.12",
"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"],