install.sh in ha_install.md aufnehmen
Das Dokument beschrieb bisher nur die kuenftige Integration und liess offen, wie eine Installation heute ablaeuft. Neuer Abschnitt 1a: was install.sh abnimmt, die drei Eigenschaften, auf die es dabei ankommt (mehrfach ausfuehrbar, vorhandene Daten unangetastet, Sicherung der configuration.yaml), und eine Tabelle, was danach von Hand bleibt - jeweils mit der Spalte, was davon die Integration aufloest. Dazu zwei Stellen nachgezogen: die Erstinstallation der Integration laesst sich genauso automatisieren, das Skript schrumpft dann auf einen Kopiervorgang; und der erste Punkt der Reihenfolge (die drei Setup-Fehler) ist seit dem 13.08. erledigt. Ausserdem ein toter Verweis auf UMSETZUNGSPLAN.md korrigiert - die Datei liegt nur im Feature-Branch.
This commit is contained in:
+60
-5
@@ -8,9 +8,10 @@ Alle unten genannten Schnittstellen sind **an der laufenden Instanz geprüft** (
|
|||||||
2026.8.1 im Container `audi_ha_test`), nicht aus der Dokumentation abgeschrieben. Die geprüften
|
2026.8.1 im Container `audi_ha_test`), nicht aus der Dokumentation abgeschrieben. Die geprüften
|
||||||
Signaturen stehen jeweils dabei.
|
Signaturen stehen jeweils dabei.
|
||||||
|
|
||||||
Verwandte Dokumente: `homeassistant/INSTALL.md` (heutiger, manueller Weg — bleibt gültig, bis diese
|
Verwandte Dokumente: `homeassistant/install.sh` (der heutige, automatisierte Weg — siehe §1a),
|
||||||
Umstellung steht), `UMSETZUNGSPLAN.md`, `REVIEW_main_2026-08-13.md` (die Fehler, die hier
|
`homeassistant/INSTALL.md` (ausführliche Handanleitung), `REVIEW_main_2026-08-13.md` (die Fehler,
|
||||||
konstruktionsbedingt verschwinden).
|
die hier konstruktionsbedingt verschwinden). Im Branch `umsetzung-datametric360` liegt zusätzlich
|
||||||
|
`UMSETZUNGSPLAN.md` mit dem Phasenplan der Companion-App.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -27,6 +28,54 @@ konstruktionsbedingt verschwinden).
|
|||||||
| Neustart | einmalig, wie bei jeder Integration |
|
| Neustart | einmalig, wie bei jeder Integration |
|
||||||
| Updates über `update.ps1` per Samba | Knopfdruck in *Einstellungen → System → Updates* |
|
| Updates über `update.ps1` per Samba | Knopfdruck in *Einstellungen → System → Updates* |
|
||||||
|
|
||||||
|
## 1a. Was heute schon geht: `install.sh`
|
||||||
|
|
||||||
|
Solange die Integration nicht steht, erledigt **`homeassistant/install.sh`** die linke Spalte der
|
||||||
|
Tabelle oben in einem Aufruf. Am einfachsten direkt auf der Instanz, im Add-on *Terminal & SSH*:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash <(curl -fsSL https://gitea.nothaft.cloud/paul/audi-app/raw/branch/main/homeassistant/install.sh)
|
||||||
|
```
|
||||||
|
|
||||||
|
Bei privatem Repository mit Zugangstoken in der URL (`--repo https://<nutzer>:<token>@…`);
|
||||||
|
von einem Rechner aus alternativ `--ziel /Volumes/config --von ~/Development/audi-app`.
|
||||||
|
`--hilfe` zeigt alle Optionen.
|
||||||
|
|
||||||
|
**Was es abnimmt:** pyscript installieren (neueste Version von GitHub), `pyscript/` und `www/`
|
||||||
|
einspielen, den Belegleser mitliefern (er liegt in `data/`, ist aber Code), fehlende Datenbestände
|
||||||
|
aus der Vorlage anlegen, den Abschnitt in die `configuration.yaml` eintragen und `UPDATE_REPO_URL`
|
||||||
|
setzen — damit funktioniert „Update suchen" in der App, und weitere Updates sind ein Knopfdruck
|
||||||
|
statt eines Kopiervorgangs über Samba.
|
||||||
|
|
||||||
|
**Drei Eigenschaften, auf die es dabei ankommt:**
|
||||||
|
|
||||||
|
- **Mehrfach ausführbar.** Der Abschnitt in der `configuration.yaml` steht zwischen Markern und wird
|
||||||
|
beim zweiten Lauf ersetzt statt angehängt. Stehen `pyscript:` oder `panel_custom:` bereits
|
||||||
|
außerhalb dieses Abschnitts, weist das Skript darauf hin, statt einen doppelten Schlüssel zu
|
||||||
|
erzeugen.
|
||||||
|
- **Vorhandene Daten bleiben unangetastet.** Fahrzeugprofil, Fahrten, Tankvorgänge und ein bereits
|
||||||
|
hinterlegtes Token werden nie überschrieben, nur Fehlendes wird angelegt.
|
||||||
|
- **Die `configuration.yaml` wird vor jeder Änderung mit Zeitstempel gesichert.**
|
||||||
|
|
||||||
|
Geprüft gegen eine frische Home-Assistant-Instanz im Container: HA startet ohne
|
||||||
|
Konfigurationsfehler, alle neun pyscript-Entitäten werden veröffentlicht, das Panel ist als
|
||||||
|
„Mein Audi" mit `mdi:car-sports` unter `/audi-dashboard-panel` registriert und rendert mit fünf
|
||||||
|
Tabs. Ein zweiter Durchlauf ließ Profil und Token unverändert und den Konfigurationsabschnitt genau
|
||||||
|
einmal stehen.
|
||||||
|
|
||||||
|
**Was danach von Hand bleibt** — und genau das löst die Integration auf:
|
||||||
|
|
||||||
|
| Bleibt heute | Warum | Nach der Umstellung |
|
||||||
|
|---|---|---|
|
||||||
|
| Home Assistant neu starten | `configuration.yaml` hat sich geändert | einmalig beim Hinzufügen der Integration |
|
||||||
|
| Zugriffstoken hinterlegen | der Fahrtabschluss liest den Verlauf über die REST-API | entfällt (Recorder direkt, §4) |
|
||||||
|
| Sensoren zuordnen | — | bleibt, aber als HA-Konfigurationsdialog (§3) |
|
||||||
|
| Fahrzeugdaten eintragen | Profilinhalte, keine Installation | bleibt |
|
||||||
|
|
||||||
|
Das Skript wird durch die Integration also nicht überflüssig, sondern **schrumpft**: Übrig bliebe
|
||||||
|
das einmalige Kopieren eines Ordners nach `custom_components/`. Alles andere — YAML, pyscript,
|
||||||
|
Token, Datenordner — fällt weg.
|
||||||
|
|
||||||
## 2. Die Bausteine, die HA dafür mitbringt
|
## 2. Die Bausteine, die HA dafür mitbringt
|
||||||
|
|
||||||
Alle in 2026.8.1 vorhanden und geprüft:
|
Alle in 2026.8.1 vorhanden und geprüft:
|
||||||
@@ -187,6 +236,11 @@ Zahl, und die Release-Beschreibung lässt sich über `release_notes` direkt anze
|
|||||||
Integrationen aus Nicht-GitHub-Quellen gibt es keinen nativen Installationsweg. Jedes weitere
|
Integrationen aus Nicht-GitHub-Quellen gibt es keinen nativen Installationsweg. Jedes weitere
|
||||||
Update ist danach ein Knopfdruck.
|
Update ist danach ein Knopfdruck.
|
||||||
|
|
||||||
|
Das lässt sich genauso automatisieren wie heute: `install.sh` (§1a) schrumpft dann auf genau diesen
|
||||||
|
einen Kopiervorgang zusammen — kein pyscript, kein YAML, kein Token, keine Datenordner. Wer den
|
||||||
|
Aufruf ohnehin schon einmal benutzt hat, merkt vom Wechsel bei der Installation also kaum etwas;
|
||||||
|
der Unterschied liegt danach, in der Einrichtung.
|
||||||
|
|
||||||
## 6. Datenhaltung — bewusst zu entscheiden
|
## 6. Datenhaltung — bewusst zu entscheiden
|
||||||
|
|
||||||
Zwei Möglichkeiten, beide vertretbar:
|
Zwei Möglichkeiten, beide vertretbar:
|
||||||
@@ -226,8 +280,9 @@ Nicht gelöst werden dadurch: die Frontend-Befunde (Standort-Dauerfeuer, Barrier
|
|||||||
|
|
||||||
Realistisch einige Tage, nicht Wochen — der Großteil ist Umschreiben von Dekoratoren.
|
Realistisch einige Tage, nicht Wochen — der Großteil ist Umschreiben von Dekoratoren.
|
||||||
|
|
||||||
1. **Zuerst die drei Setup-Fehler roh fixen** (etwa eine Stunde). Sonst läuft die Instanz bis zur
|
1. ~~Zuerst die drei Setup-Fehler roh fixen.~~ **Erledigt am 2026-08-13** — siehe
|
||||||
Umstellung mit einem Datenverlust-Pfad.
|
`REVIEW_main_2026-08-13.md`. Die Instanz läuft bis zur Umstellung ohne den Datenverlust-Pfad,
|
||||||
|
der Zeitdruck ist damit raus.
|
||||||
2. **Gerüst aufsetzen:** `manifest.json`, `config_flow.py`, Panel- und Dateiregistrierung. Die
|
2. **Gerüst aufsetzen:** `manifest.json`, `config_flow.py`, Panel- und Dateiregistrierung. Die
|
||||||
pyscript-Skripte laufen dabei zunächst unverändert weiter.
|
pyscript-Skripte laufen dabei zunächst unverändert weiter.
|
||||||
3. **Logik Datei für Datei herüberziehen**, beginnend mit `fahrtabschluss_logik.py` — dort
|
3. **Logik Datei für Datei herüberziehen**, beginnend mit `fahrtabschluss_logik.py` — dort
|
||||||
|
|||||||
Reference in New Issue
Block a user