pyscript-Backend zur echten HA-Integration umgebaut (HACS-fähig)
Das Backend liegt jetzt als custom_components/audi_dashboard/ vor - eine normale Home-Assistant-Integration mit Config-Flow, einer sensor-Plattform und 18 Diensten. Damit ist die App über HACS installierbar; bis das Repo auf GitHub gespiegelt ist (HACS spricht ausschließlich mit GitHub), installiert homeassistant/installationspaket/install.ps1 denselben Ordner ohne HACS. Fünf Installationsschritte entfallen ersatzlos: der pyscript:-Block, der panel_custom:-Block, das Kopieren der Oberfläche nach www/, das langlebige Zugriffstoken (der Verlauf wird direkt über die recorder-API gelesen) und "pip install pypdf" (steht in manifest.json). Das Fahrzeugprofil legt die Integration beim ersten Start aus ihrer Vorlage an. Drei alte Schwächen sind dabei mit erledigt: - Die Nutzlast landet nicht mehr in der Recorder-Datenbank (_unrecorded_attributes - das kann nur eine echte Entität). - Eine laufende Fahrt überlebt einen Neustart (Store statt Arbeitsspeicher); fiel sie während eines Ausfalls ins Ende, schließt nach_neustart_fortsetzen() sie beim letzten aufgezeichneten Zeitpunkt. - Sensor-Zuordnungen wirken sofort - die Zustandsbeobachter werden neu gebunden, der Neustart-Hinweis und der Neustart-Dienst sind weg. Namensvertrag geändert, beide Oberflächen mitgezogen: pyscript.audi_dashboard_x -> sensor.audi_dashboard_x, pyscript.audi_dashboard_y -> audi_dashboard.y. Eine Companion-App vom alten Stand findet nach dem Umstieg nichts mehr und muss neu gebaut werden; das Panel liegt in der Integration und kann nicht driften. Der selbstgebaute Updater entfällt - HACS ist die Update-Mechanik, die Home Assistant kennt. Die Versionierung schrumpft auf eine Quelle: manifest.json. Geprüft am laufenden Testcontainer (Container byteweise identisch mit dem Repo): alle 18 Dienste, Panel, Config-Entry neu laden, Historienimport, echter Shell-Beleg in-process, Neuinstallation im Wegwerf-Container blank mit automatisch nachinstalliertem pypdf. Companion-App: tsc sauber, 112/112 Tests, beide Rauchtests gegen das laufende Backend grün. Belegparser 8/8. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+6
-5
@@ -47,7 +47,7 @@ selbst wurde NICHT aus diesem Export übernommen**, um diese bereits fertigen Fu
|
||||
verlieren.
|
||||
|
||||
**Aktivierung 2026-08-11:** `audi-dashboard-ios.css` ist jetzt in
|
||||
`../homeassistant/www/audi-dashboard-app.js` (Stylesheet-Loader, ~Zeile 3098) fest verdrahtet - als
|
||||
`../custom_components/audi_dashboard/frontend/audi-dashboard-app.js` (Stylesheet-Loader, ~Zeile 3098) fest verdrahtet - als
|
||||
zweiter `<link>` neben `audi-dashboard.css`, rein additiv. Im Docker-Testcontainer bei 375px
|
||||
(Handy: `.phone` bleibt `flex`, Tab-Leiste unten) und 1280px (Desktop: `.phone` wird `grid`,
|
||||
264px-Seitennavigation, Inhalt bis 860px begrenzt) verifiziert.
|
||||
@@ -59,10 +59,11 @@ Dabei zwei Fixes nötig, die für künftige Arbeit an dieser Datei wichtig sind:
|
||||
Zentrierung aus `audi-dashboard.css` (`max-width:412px`, für die alte Einzelgröße gedacht) musste
|
||||
deshalb **unbedingt** statt bedingt (nur ab 860px) die Deckelung genommen werden - auf schmalen
|
||||
Bildschirmen macht der Viewport selbst die Breite eng genug, das ist folgenlos.
|
||||
2. **`audi-dashboard-version.json` muss bei jeder CSS-/JS-Änderung im Testcontainer hochgezählt
|
||||
werden**, sonst liefert der Browser die alte Datei aus dem HTTP-Cache aus, obwohl der Server
|
||||
längst die neue hat (an `audi-dashboard-panel.js`'s eigenem Cache-Busting-Mechanismus erkennbar,
|
||||
siehe dessen Kommentar). Zusätzlich cacht `window.__audiDashboardStarten` das Ladeergebnis pro
|
||||
2. **Die Version in `manifest.json` muss bei jeder CSS-/JS-Änderung hochgezählt werden**, sonst
|
||||
liefert der Browser die alte Datei aus dem HTTP-Cache aus, obwohl der Server längst die neue
|
||||
hat. Die Integration hängt diese Zahl als `?v=…` an die Panel-URL; sie ist der Cache-Brecher
|
||||
(siehe VERSIONIERUNG.md). *Bis 2026-08-23 stand sie in `audi-dashboard-version.json` - die
|
||||
Datei gibt es nicht mehr.* Zusätzlich cacht `window.__audiDashboardStarten` das Ladeergebnis pro
|
||||
Browser-Tab - eine SPA-interne Navigation zur selben Panel-URL lädt nicht neu; ein neuer Tab
|
||||
(oder echter Hard-Reload) ist bei Verifikationen nötig.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user