Einzelbeleg: CI poi pin from the receipt address, plus a centre button
The station marker was a red circleMarker. It is now the CI poi pin (poi-l/poi-s via tankstellenMarkerSVG) - the plain pin rather than poi-car, so the vehicle and the station stay distinguishable on a map. While testing it turned out nothing in the backend ever writes station_lat / station_lon, so that marker had never been reachable in practice. The receipt address is now geocoded in the frontend via Nominatim /search (adresseAufloesen, the forward counterpart to the existing reverse lookup), with results cached in localStorage - negative ones too, since a station address does not move and Nominatim's terms ask for caching. Verified live: "Shell, SÖLDEN" resolves to 46.9756 / 11.0111. The map card gained a centre button (CI.gps, which is byte-identical to the delivered gps-s.svg), disabled until the coordinates arrive. .mapbox needed position:relative so the control anchors to the card instead of an ancestor. Only in the Einzelbeleg, as requested - the Standort fullscreen already has its own centre controls. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -804,6 +804,38 @@ wraps the web app for iPhone; a PWA home-screen install is the accepted intermed
|
||||
un-ignoring. **Keep it in sync whenever `pyscript/` or `www/` changes** — that was already the
|
||||
working rule, but it is now visible in the repo when it is forgotten.
|
||||
Deployed to `audi_ha_test` (version `1786766000`).
|
||||
- [x] Fifth round the same day (2026-08-16) — one-click installer and the Einzelbeleg map:
|
||||
(1) **`installationspaket/Installieren.cmd` + `install.ps1`** automate steps 1–3 of
|
||||
`ANLEITUNG.md`. The `.cmd` wrapper exists because double-clicking a `.ps1` opens it in an
|
||||
editor and the execution policy blocks it; the bypass is per-call, the machine policy is not
|
||||
touched. Safe to re-run: never overwrites `fahrzeugprofil.json`, `fahrten.jsonl`,
|
||||
`tankvorgaenge.jsonl`, `entitaeten.json`, `ha_token.txt`; backs `configuration.yaml` up to
|
||||
`.bak` and replaces its own marker-delimited block instead of appending twice; refuses to
|
||||
touch the file at all when `pyscript:`/`panel_custom:` are already there from another source
|
||||
(duplicate top-level keys are invalid YAML — HA would not start); aborts before writing if
|
||||
the target has no `configuration.yaml`. `-Pruefen` is a dry run. **`install.ps1` is stored
|
||||
UTF-8 *with* BOM on purpose** — PowerShell 5.1 reads scripts as ANSI otherwise and mangles
|
||||
every umlaut; the files it *writes* stay BOM-less (YAML). Verified against a fake config
|
||||
tree: fresh install, re-run idempotency, data preservation, foreign-key refusal,
|
||||
wrong-directory abort, and the merged YAML parses.
|
||||
(2) **Tankstellenposition im Einzelbeleg.** The red `circleMarker` is now the CI `poi` pin
|
||||
(`CI.poiL`/`CI.poiS` from `poi-l.svg`/`poi-s.svg`, via `tankstellenMarkerSVG()`) — deliberately
|
||||
the plain pin, not `poi-car`, so vehicle and station stay distinguishable.
|
||||
**Found while testing: nothing in the backend ever writes `station_lat`/`station_lon`**, so
|
||||
this marker had never actually been reachable. Fixed by geocoding the receipt address in the
|
||||
frontend (`adresseAufloesen()`, Nominatim `/search` — the forward counterpart to the existing
|
||||
`standortAdresseAufloesen()`), with results cached in `localStorage` (`audi_dashboard_geocache`)
|
||||
including negative results, since a station address does not move and Nominatim's terms ask
|
||||
for caching. Confirmed live: `Shell, SÖLDEN` → 46.9756/11.0111.
|
||||
(3) **Zentrieren-Knopf** in the Einzelbeleg map card (`mapBoxMitZentrieren()`, `CI.gps` —
|
||||
byte-identical to the delivered `gps-s.svg`), disabled until the coordinates arrive. `.mapbox`
|
||||
gained `position:relative` so the control anchors to the card. Only there, per explicit
|
||||
request — the Standort fullscreen already has its own centre controls.
|
||||
Deployed to `audi_ha_test` (version `1786769000`).
|
||||
Note for testing map behaviour in this app: `initMap()` runs on **every** `render()`, and the
|
||||
app re-renders on each backend push (~30 s), rebuilding the map and re-centring it. Panning
|
||||
the map from the console and checking later therefore proves nothing — spy on
|
||||
`L.Map.prototype.flyTo` instead.
|
||||
- [ ] Fix remaining documentation drift (statistics claim, README gaps, obsolete TODO comment) —
|
||||
text-only changes; INSTALL.md's WLAN/TommiG1 drift and stale variable names were fixed
|
||||
2026-08-12 (see section B); `DESIGN_REVIEW_2026-08-13.md` and `REVIEW_main_2026-08-13.md`
|
||||
|
||||
Reference in New Issue
Block a user