Files
audi-app/homeassistant
tobias 1354ca6b06 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 <noreply@anthropic.com>
2026-08-24 09:20:14 +02:00
..

homeassistant/ — Installation und Konfiguration

Der Code liegt nicht mehr hier. Seit dem Umbau zur Home-Assistant-Integration (2026-08-23) steht er unter ../custom_components/audi_dashboard/: Backend, Panel-Dateien, Vorlage und Belegleser in einem Ordner, der genau so installiert wird, wie HACS ihn installieren würde.

Was hier bleibt, ist alles, was um die Installation herum gebraucht wird.

Datei Wofür
INSTALL.md Installation Schritt für Schritt, inklusive Umstieg von der pyscript-Fassung
installationspaket/ Ein-Klick-Installation ohne HACS (Installieren.cmd) samt Anleitung
recorder_snippet.yaml Datenaufbewahrung von 10 Tagen auf ein Jahr anheben — der einzige YAML-Block, der noch von Hand eingetragen wird
REVERSE_PROXY.md Zugriff von außen
www/dm360-qr.html QR-Code-Seite zum Einrichten der Companion-App

Wo die Fahrzeugdaten liegen

In Home Assistant selbst, unter /config/audi_dashboard/: Fahrzeugprofil, Fahrten, Tankvorgänge, Batterieverlauf, Sensor-Zuordnung, hochgeladene Belege und die automatischen Sicherungen.

Dieser Ordner gehört dem Nutzer, nicht der Installation: kein Update — weder über HACS noch über das Installationsskript — fasst ihn an. Dasselbe gilt für die selbst hochgeladenen Fahrzeugfotos unter /config/www/bilder/.

Bis 2026-08-23 lag hier ein data/-Ordner, aus dem die Erstbefüllung von Hand kopiert werden musste. Den gibt es nicht mehr: die Integration legt das Fahrzeugprofil beim ersten Start selbst aus ihrer Vorlage an (vorlage/fahrzeugprofil.json).

Persönliche Daten

Alles Fahrzeug- und Personenspezifische (VIN, Kennzeichen, Versicherung, Werkstattkontakt, Servicehistorie, Fahrten, Tankvorgänge) liegt ausschließlich in diesem Datenordner in Home Assistant und steht nirgends im App-Code. Im Repository liegt nur die Vorlage mit Platzhaltern.

Das Backup in der App (Einstellungen → Backup) exportiert ausschließlich diese Datendateien — nie App-Code oder -Konfiguration.