Files
audi-app/homeassistant/installationspaket/ANLEITUNG.md
T
tobias 484f2ffe6d Add one-click installer to installationspaket
Installieren.cmd (double-click) wraps install.ps1, which automates steps 1-3
of ANLEITUNG.md: find the HA config share, copy pyscript/, data/ ->
audi_dashboard/ and www/, merge the configuration.yaml snippet, optionally
write ha_token.txt. The .cmd wrapper exists because double-clicking a .ps1
opens it in an editor and the execution policy blocks it; the bypass applies
to that one call only.

Designed to be safe to re-run:
- Never overwrites fahrzeugprofil.json, fahrten.jsonl, tankvorgaenge.jsonl,
  entitaeten.json or ha_token.txt, so re-running on a live install keeps the
  vehicle profile, trips, fills and sensor mapping.
- configuration.yaml is backed up to .bak first; the inserted part sits
  between marker lines and gets replaced instead of appended twice.
- If pyscript: or panel_custom: are already there from another source, the
  file is left untouched and the script prints what to merge by hand -
  duplicate top-level keys would be invalid YAML and HA would not start.
- Aborts before writing if the target has no configuration.yaml.

Steps that cannot be automated from a Windows share (HA restart, pip install
pypdf, sensor mapping) are collected into a closing to-do list. -Pruefen shows
what would happen without writing.

install.ps1 is stored UTF-8 *with* BOM - PowerShell 5.1 reads scripts as ANSI
otherwise and mangles the umlauts; the files it writes stay BOM-less.

Verified against a fake config tree: fresh install, re-run idempotency,
existing-data preservation, foreign-key refusal, wrong-directory abort, and
the merged configuration.yaml parses as valid YAML.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 13:02:02 +02:00

4.3 KiB
Raw Blame History

Kurzanleitung — Installation auf einer neuen Home-Assistant-Instanz

Alle Dateien, die dafür nötig sind, liegen schon in diesem Ordner. Ausführliche Erklärungen, Troubleshooting und Hintergründe stehen in ../INSTALL.md — hier nur die Checkliste.

Voraussetzungen

  • HACS installiert, darüber pyscript installiert (HACS → Integrationen → „pyscript" suchen → Download → HA neu starten)
  • Das Samba-Share-Add-on in HA läuft, damit \\<HA-IP>\config vom PC aus erreichbar ist

Der schnelle Weg: Installieren.cmd

Doppelklick auf Installieren.cmd — das erledigt die Schritte 13 unten von selbst: es sucht die HA-Instanz im Netz (\\homeassistant\config und die üblichen Alternativen, sonst fragt es nach dem Pfad), kopiert pyscript\, data\audi_dashboard\ und www\, trägt die beiden Blöcke in die configuration.yaml ein und listet am Ende auf, was noch von Hand zu tun ist (Neustart, Token, Sensoren zuordnen).

Was es dabei nicht tut:

  • Bestehende Daten überschreiben. fahrzeugprofil.json, fahrten.jsonl, tankvorgaenge.jsonl, entitaeten.json und ha_token.txt bleiben unangetastet — ein zweiter Lauf auf einer laufenden Installation ist deshalb gefahrlos.
  • Die configuration.yaml blind verändern. Sie wird vorher nach configuration.yaml.bak gesichert, und stehen dort schon eigene pyscript:- oder panel_custom:-Einträge, fasst das Skript sie gar nicht an und sagt stattdessen, was zu ergänzen ist (zwei gleiche Top-Level-Schlüssel wären ungültiges YAML — HA würde nicht mehr starten).

Erst schauen, was passieren würde, ohne etwas zu schreiben:

.\install.ps1 -Pruefen

Mit festem Ziel und Token in einem Rutsch:

.\install.ps1 -Ziel "\\192.168.1.50\config" -Token "eyJhb..."

Danach weiter bei Schritt 3 (Token, falls nicht übergeben), 4 und 5.


Der Weg von Hand

Falls Installieren.cmd nicht durchläuft oder lieber nachvollziehbar Schritt für Schritt gearbeitet werden soll:

1. Dateien kopieren

Ziel ist das config-Verzeichnis der neuen HA-Instanz, z. B. über das Samba-Share-Add-on (\\<HA-IP>\config):

Aus diesem Ordner Nach
pyscript\ \\<HA-IP>\config\pyscript\
data\ \\<HA-IP>\config\audi_dashboard\ (umbenennen von data zu audi_dashboard)
www\ \\<HA-IP>\config\www\

In audi_dashboard\ danach fahrzeugprofil.example.json zu fahrzeugprofil.json umbenennen — die Platzhalter darin lassen sich nach dem ersten Start direkt in der App unter Einstellungen → Fahrzeug einrichten eintragen.

2. configuration.yaml ergänzen

Die beiden Blöcke aus configuration_snippet.yaml (pyscript: und panel_custom:) in die bestehende configuration.yaml übernehmen — nicht ersetzen. Falls dort schon pyscript: existiert, nur allow_all_imports: true ergänzen.

3. Long-Lived Access Token

Profil-Avatar (unten links) → „Long-lived access tokens" → Token erstellen → Wert in eine neue Datei audi_dashboard\ha_token.txt einfügen (nur der Token, keine Anführungszeichen). Wird fürs Kilometerstand-Screening gebraucht.

4. Neu starten

Einstellungen → System → Neu starten.

5. Sensoren zuordnen

Nach dem Neustart sollte „Mein Audi" in der Sidebar erscheinen. Dort: Einstellungen → Fahrzeug einrichten → Einrichten → „Setup — Sensoren zuordnen". Zwingend für die Fahrterkennung: der Zündungs-/ACC-Sensor (binary_sensor, meist vom Teltonika FMM003). Alles Weitere ist optional — ohne zugeordneten Sensor zeigt die App „unbekannt" statt eines Werts.

6. Optional: Beleg-Parser

Nur nötig, wenn Shell-Tankbelege hochgeladen werden sollen: im Terminal & SSH-Add-on (oder docker exec) pip install pypdf ausführen.

Künftige Updates

Nicht diesen Ordner erneut kopieren — stattdessen ..\update.ps1 aus dem Hauptprojekt verwenden:

..\update.ps1 -Ziel "\\<HA-IP-Adresse>\config"

Kopiert pyscript\ und alle www\-Dateien (inkl. audi-dashboard-ios.css und badges\, die früher hier im Skript fehlten), lässt data\/ audi_dashboard\ unangetastet. pyscript lädt automatisch neu, fürs Frontend reicht ein normales Neuladen der Seite (F5).


Details, Screenshots-Ersatz-Erklärungen und die vollständige Troubleshooting-Tabelle: siehe ../INSTALL.md.