Tab "Fahrzeuge" > Button "Status" #8
Labels
No labels
blocked
claude
in-progress
needs-review
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
aiways/Backend#8
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kannst du im Admin Web Dashboard unter der Navigation "Fahrzeuge">"Status" dieses Popup mit den Werten bearbeiten?
Anstatt Position etc (ist ja auch obsolet, wenn du da den neuen "latest" endpoint ziehst, der "gps" liefert) eine kleine Karte mit Standort einblenden? Plus: Siehst du eine Möglichkeit die Restweite "dynamisch" zu errechnen, falls sie mit null geliefert wird?
Umgesetzt in
d4a3fc1(release) — CI grün, deployt, live verifiziert.1. Karte statt Koordinatenzeile
Das Status-Popup zieht die Position aus dem
gps-Feld von/latestund zeigt sie als eingebettete OpenStreetMap-Karte mit Marker (~600 m Ausschnitt). Darunter stehen Koordinaten, Alter des Fixes und ein Link „größer auf OpenStreetMap“. Die Zeile Position ist damit weg.Bewusst ohne Kartenbibliothek: ein
iframeauf den OSM-Embed — kein API-Key, kein Tracker, kein zusätzliches Frontend-Bundle. Ohne Fix erscheint statt einer leeren Karte der Hinweis „Kein Standort bekannt“. Auf dem Telefon wird die Karte flacher (180 statt 240 px).2. Restweite dynamisch — ja, aus dem eigenen Verbrauch
Meldet das Fahrzeug kein
range_km(cache_data führt die Spalte nicht), liefert/vehicles/:id/latestjetzt zusätzlichrange_estimate. Statt eine Herstellerangabe fest zu verdrahten, wird der Verbrauch aus der eigenen Fahrhistorie der letzten 30 Tage gemessen: Kilometer je SoC-Prozentpunkt, mal aktueller SoC. Das passt sich Fahrprofil, Jahreszeit und Batteriealterung von selbst an.Live an Fahrzeug 1 (SoC 60 %, kein
range_km):4,6 km/% ≈ 21 kWh/100 km — für den U5 plausibel. Im Dashboard steht das als
ca. 276 km (geschätzt aus 4.6 km/% · 59.8 km Fahrt, SoC von vor 8 d).Was nicht mitzählt (sonst lügt die Zahl):
.inxundcache_datamelden für denselben Wagen Odometerstände, die ~1800 km auseinanderliegen. Jede Quelle wird deshalb eigen verkettet — sonst misst man den Versatz statt den Verbrauch.Reicht die Basis nicht (< 3 Segmente oder < 5 % SoC-Hub), gibt es bewusst keine Zahl statt einer geratenen. Die Schätzung steht in einem eigenen Feld und ist im Dashboard mit „ca.“ plus Datenbasis markiert — sie darf sich nicht als Messwert ausgeben.
Annahmen (Blocker-Policy: proceed-with-default)
range_kmwirklich fehlt.Selbsttests für beides laufen in CI: Bounding-Box-Mathematik und Kartenaufbau (
routes/selftest.ts), Schätzlogik inkl. Laden/Stehen/Lücken/Quellentrennung (vehicles/rangeSelftest.ts).