OTA-Updates für die iOS-App; HACS-Fehlannahme korrigiert
HACS kann laut eigener Dokumentation grundsätzlich nicht mit privaten GitHub-Repositories arbeiten (hacs.xyz/docs/faq/private_repositories) - keine Ausnahme für Tokens oder verbundene Konten. Meine frühere Annahme, HACS käme damit zurecht, wenn es unter dem richtigen Konto angemeldet ist, war falsch. Da das Repository aus Lizenzgründen privat bleiben muss (Audi-Hausschrift, Typenschilder), ist install.ps1 damit nicht die Rückfallebene, sondern der einzige Installationsweg - README, INSTALL.md, ANLEITUNG.md, install.ps1 und VERSIONIERUNG.md korrigiert. Oberflächen-Updates für die iOS-App laufen jetzt ohne Xcode: @capgo/capacitor-updater eingebaut, ein Update-Abschnitt in den Einstellungen lädt ein neues Bündel und tauscht die Oberfläche aus. Kein Selbstlauf (autoUpdate: false) - nur auf Tastendruck, nie während der Benutzung. Das Bündel liegt in der Integration selbst (custom_components/audi_dashboard/frontend/app/), nicht unter /local/: so reist es bei jeder Installation automatisch mit, ohne zweiten Auslieferungsweg. Gebaut von companion-app/scripts/ota-paket.ps1 (neuer Befehl: npm run ota), gemeldet über sensor.audi_dashboard_app_version (neues Feld daten.buendel). Ein echter Bug beim Bauen gefunden: [IO.Compression.ZipFile]::CreateFrom- Directory schreibt unter Windows PowerShell 5.1 Backslashes in die Zip-Einträge - iOS hätte das Archiv falsch entpackt. Behoben, indem die Einträge von Hand mit "/" geschrieben werden. Rückfallebene: notifyAppReady() läuft erst, wenn React nachweislich gerendert hat (App.tsx). Kommt diese Meldung nicht, rollt das Plugin nach 20 Sekunden von selbst auf das vorherige Bündel zurück. Am laufenden Testcontainer verifiziert: die ausgelieferte Zip hasht exakt auf den in bundle.json hinterlegten Wert, 13 Einträge, index.html in der Wurzel, keine Backslashes, keine Beschädigung. tsc sauber, 117/117 Tests (5 davon neu für buendelPasst() - dabei eine echte Lücke gefunden: die Funktion hätte bei unbekannter eigener Version fälschlich ein Update angeboten, jetzt genauso vorsichtig wie versionVergleichen). Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
@@ -147,5 +147,6 @@ Ordner wird ersetzt, die Fahrzeugdaten unter `audi_dashboard\` und die eigenen
|
||||
Fotos unter `www\bilder\` bleiben unangetastet. Danach HA neu starten (oder
|
||||
kürzer: **Einstellungen → Geräte & Dienste → Audi Dashboard → Neu laden**).
|
||||
|
||||
Liegt das Projekt auf GitHub, übernimmt HACS das: es meldet neue Fassungen
|
||||
von selbst, installiert sie und kann zurückrollen.
|
||||
HACS ist hier bewusst keine Alternative: es kann laut eigener Dokumentation
|
||||
grundsätzlich nicht mit privaten GitHub-Repositories arbeiten, und das
|
||||
Repository ist privat, weil es lizenzierte Audi-Assets enthält.
|
||||
|
||||
@@ -14,14 +14,20 @@
|
||||
Fahrzeugprofil aus der Vorlage an und bringt pypdf über ihre manifest.json
|
||||
mit, das Home Assistant beim ersten Laden nachinstalliert.
|
||||
|
||||
WOFÜR ES DIESES SKRIPT ÜBERHAUPT NOCH GIBT
|
||||
------------------------------------------
|
||||
Der eigentliche Weg ist HACS. HACS spricht aber ausschließlich mit GitHub
|
||||
(github.com/api.github.com stecken fest im Code) - solange dieses Projekt
|
||||
nur auf der eigenen Gitea-Instanz liegt, findet HACS es nicht. Dieses Skript
|
||||
ist der Weg dorthin, der ohne GitHub auskommt. Es installiert exakt
|
||||
denselben Ordner, den auch HACS installieren würde; ein späterer Wechsel auf
|
||||
HACS überschreibt ihn einfach.
|
||||
WOFÜR ES DIESES SKRIPT ÜBERHAUPT GIBT
|
||||
--------------------------------------
|
||||
HACS scheidet für dieses Repository aus, und zwar endgültig: laut eigener
|
||||
Dokumentation (hacs.xyz/docs/faq/private_repositories) kann HACS
|
||||
"grundsätzlich nicht" mit privaten GitHub-Repositories arbeiten - ohne
|
||||
Ausnahme für Tokens oder verbundene Konten. Das Projekt wird zwar von der
|
||||
eigenen Gitea-Instanz nach github.com/T130B/DM360 gespiegelt, aber das
|
||||
Repository bleibt privat: es enthält die Audi-Hausschrift und die
|
||||
Typenschilder, die nur für diese eine private Installation lizenziert
|
||||
sind, und öffentlich machen ist deshalb keine Option.
|
||||
|
||||
Dieses Skript ist damit nicht die Rückfallebene, sondern der einzige Weg.
|
||||
Es installiert exakt den Ordner, den auch HACS installieren würde, wenn es
|
||||
könnte - dieselbe Prüfung, ohne die HACS-Voraussetzung.
|
||||
|
||||
SICHERHEIT GEGENÜBER DER BESTEHENDEN HA-INSTALLATION
|
||||
----------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user