diff --git a/homeassistant/installationspaket/ANLEITUNG.md b/homeassistant/installationspaket/ANLEITUNG.md index 94e178d..680c539 100644 --- a/homeassistant/installationspaket/ANLEITUNG.md +++ b/homeassistant/installationspaket/ANLEITUNG.md @@ -28,11 +28,34 @@ Was es dabei **nicht** tut: `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). +- Die `configuration.yaml` blind verändern. Sie wird vorher zeitgestempelt + gesichert (`configuration.yaml..bak`), 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). + Nach dem Schreiben liest es die Datei zurück und prüft sie; weicht auch nur + eine Kleinigkeit ab, rollt es selbsttätig auf die Sicherung zurück. + +### Ist das für meine bestehende HA-Installation gefährlich? + +Nein — und das lässt sich nachprüfen statt glauben: + +- Es **löscht nie etwas**. Im ganzen Skript kommt kein `Remove-Item` vor, und + kopiert wird ohne `robocopy /MIR`; fremde Dateien in `pyscript\` und `www\` + bleiben liegen. +- Es fasst **`.storage\` nicht an** — keine Integrationen, Geräte, Entitäten, + Benutzer, Automatisierungen. `automations.yaml`, `scripts.yaml`, `scenes.yaml` + und `secrets.yaml` werden weder gelesen noch geschrieben. +- Es **startet HA nicht neu**. Bis zum manuellen Neustart ändert sich am + laufenden Betrieb nichts. +- Die einzige Datei außerhalb der eigenen Ordner, die es überhaupt anfasst, ist + `configuration.yaml` — mit den drei Netzen oben. + +Der einzige Punkt, der einer sonst gesunden Installation gefährlich werden +kann, ist **nicht** der Installer, sondern die Datenaufbewahrung aus Schritt 3: +ein Jahr Fahrzeugverlauf braucht grob 1–1,5 GB. Auf HA OS mit SD-Karte oder +kleiner eMMC vorher unter **Einstellungen → System → Speicher** nachsehen; ist +der Datenträger voll, startet HA nicht mehr — unabhängig von dieser App. Erst schauen, was passieren würde, ohne etwas zu schreiben: @@ -46,7 +69,9 @@ 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**. +Danach weiter bei **Schritt 3** (Datenaufbewahrung — macht der Installer +bewusst nicht selbst, siehe dort), **4** (Token, falls nicht übergeben), +**5** und **6**. --- @@ -75,28 +100,71 @@ eintragen. 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. +ersetzen. Falls dort schon `pyscript:` existiert, nur die beiden Zeilen +`allow_all_imports: true` und `hass_is_global: true` ergänzen. -## 3. Long-Lived Access Token +## 3. Datenaufbewahrung — je früher, desto besser + +Auch `recorder_snippet.yaml` übernehmen. Home Assistant löscht Sensor-Verläufe +**standardmäßig nach 10 Tagen**; der Block hebt das auf ein Jahr an. + +Das ist der einzige zeitkritische Schritt der ganzen Anleitung: was der +recorder einmal gelöscht hat, ist endgültig weg und lässt sich auch mit „Daten +importieren aus Home Assistant" (Schritt 7) nicht mehr nachtragen. Jeder Tag +ohne diesen Block ist ein Tag Vergangenheit, den es später nicht mehr gibt. + +Vorher **Einstellungen → System → Speicher** ansehen: ein Jahr braucht grob +1–1,5 GB. Bei wenig Platz mit `purge_keep_days: 90` anfangen — Begründung, +gemessene Zahlen und eine `exclude:`-Liste zum Kürzen stehen im Kopf der Datei. + +Nicht betroffen sind die Bestände der App selbst (`fahrten.jsonl`, +`tankvorgaenge.jsonl`, `batteriespannung.jsonl`, `fahrzeugprofil.json`) — die +werden nirgends automatisch gekürzt. + +## 4. 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 +## 5. Neu starten **Einstellungen → System → Neu starten.** -## 5. Sensoren zuordnen +## 6. 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. +zuordnen"**. Im Auslieferstand ist **kein** Sensor vorbelegt. -## 6. Optional: Beleg-Parser +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. + +Danach **noch einmal neu starten**: die drei trigger-gebundenen Felder +(Zündung, Kilometerstand, Tankfüllstand) werden erst mit einem Neustart +wirksam. Das Setup-Menü weist bei diesen Feldern selbst darauf hin. + +Beim Kilometerstand nicht den vom FMM003 selbst berechneten Wert +(`*_total_calculated_mileage`) nehmen — der beruht auf GPS-Streckenrechnung +statt auf dem Tacho und verfälscht Reifenzähler, Ölwechsel-Prognose und +Fahrtabschluss. Richtig ist der CAN-Wert +(`*_total_vehicle_mileage_read_from_can`) oder der Kilometerstand der +EU-Data-Act-Integration. + +## 7. Optional: Vergangenheit nachtragen + +Sobald die Sensoren zugeordnet sind, holt **Einstellungen → Einrichten → +„Daten importieren aus Home Assistant"** nach, was Home Assistant schon vor +der Installation aufgezeichnet hat: Zeitraum wählen, „Importieren", fertig. +Es entstehen dieselben Fahrten, Tankvorgänge und Spannungswerte, die die +Live-Erkennung erzeugt hätte. + +Gefahrlos wiederholbar — überschneidet sich ein Zeitraum mit bereits erfassten +Fahrten, wird er übersprungen statt doppelt angelegt. Wie weit er zurückreicht, +hängt allein an Schritt 3. + +## 8. 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.