Files
audi-app/testumgebung
tobias db3c870910 Testinstanz heisst jetzt Data-Metric-360
Der Docker-Container auf :18123 ist umbenannt (Ansage des Eigentuemers).
Umgestellt sind nur die betriebsrelevanten Verweise:

  testumgebung/aufsetzen.sh    NAME=
  testumgebung/README.md       docker rm -f
  companion-app/vite.config.ts Kommentar am Entwicklungs-Proxy

Die uebrigen ~120 Nennungen in AGENTS.md stehen in Verlaufsabschnitten und
bleiben, wie sie geschrieben wurden - stattdessen eine bindende Notiz oben in
der Datei, dass "audi_ha_test" in allen aelteren Abschnitten denselben
Container meint. Sie haelt auch fest, dass aufsetzen.sh mit "docker rm -f" auf
diesen Namen beginnt: ein Lauf loescht den Container samt allem, was darin
aufgezeichnet ist.

Geprueft: Portzuordnung 18123 unveraendert, Container startet unter dem neuen
Namen sauber (Audi Dashboard 2026.9.6.9 eingerichtet, kein Traceback), Profil
und Daten unberuehrt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 15:40:32 +02:00
..

testumgebung/ — Wegwerf-Home-Assistant für Entwicklung und Tests

Setzt eine vollständige Home-Assistant-Instanz in Docker auf, in der die Integration dieses Projekts echt läuft: eigene Entitäten, echte Dienstaufrufe, nachgebildete Fahrzeugsensoren. Gedacht als Ziel für die Abnahmekriterien aus ../UMSETZUNGSPLAN.md (Phasen 1, 6, 9).

Die ursprüngliche Testinstanz aus der Entwicklung des HA-Panels war eine Wegwerfinstanz ohne Skript und ist verloren gegangen — deshalb liegt der Aufbau hier als ausführbares Skript statt als Anleitung.

Aufsetzen

./aufsetzen.sh

Das Skript ist mehrfach ausführbar (löscht einen vorhandenen Container vorher). Es lädt das offizielle Image, startet den Container auf Port 18123, legt per API einen Testnutzer an, erzeugt ein langlebiges Zugriffstoken, kopiert ../custom_components/audi_dashboard hinein, startet neu und legt den Konfigurationseintrag über die API an.

Seit dem Umbau zur eigenen Integration (2026-08-23) fällt dabei einiges weg, was vorher nötig war: pyscript herunterladen und einrichten, das Backend nach pyscript/ und die Oberfläche nach www/ kopieren, ein Fahrzeugprofil aus der Vorlage anlegen, den Belegleser ablegen und ein Zugriffstoken in eine Datei schreiben. Alles davon macht die Integration jetzt selbst.

Am Ende schreibt es das Token nach ../companion-app/.env.local (Variable VITE_TEST_TOKEN, gitignored) — von dort holen es die authentifizierten Tests.

Zugang: http://localhost:18123 · Benutzer test · Passwort testtest123

Was nachgebildet wird

konfiguration.yaml bildet zwei Datenquellen als Template-Sensoren nach, damit das Backend echte Werte sieht. Steuerbar zur Laufzeit über Helfer — damit lassen sich die Erkennungsabläufe (Fahrt, Tanken, Reifen) wirklich auslösen:

Helfer Steuert Wofür
input_boolean.test_zuendung binary_sensor.testzone_fmm003_engine_ignition_or_acc_status Fahrterkennung (Start/Ende, einstellungen.ZUENDUNG_SENSOR)
input_number.test_kilometerstand sensor.audi_rs_4_avant_mileage Reifenzähler, Fahrtabschluss-Screening (nur bei manueller Zuordnung über das Setup-Menü, KM_SENSOR ist per Default leer)
input_number.test_tankfuellstand sensor.audi_rs_4_avant_fuel_level automatische Tankerkennung (nur bei manueller Zuordnung, TANK_SENSOR ist per Default leer)
input_number.test_reichweite sensor.audi_rs_4_avant_range_primary Übersichtsanzeige (nur bei manueller Zuordnung, RANGE_SENSOR ist per Default leer)
input_boolean.test_tuer_vl Tür vorne links „sicher abgestellt" (nur bei manueller Zuordnung)
input_boolean.test_fenster_vl Fenster vorne links „sicher abgestellt" (nur bei manueller Zuordnung)

Die Kilometerstand-/Tankfüllstand-/Reichweite- und Tür-/Fenster-Sensoren bilden die Entitäten der abgelösten HACS-Integration TommiG1/HA_VAG-EU-Data-Act nach (siehe custom_components/audi_dashboard/einstellungen.py) — für den Standardbetrieb ohne Bedeutung, aber weiterhin nützlich, um die manuelle Zuordnung über das Setup-Menü zu testen. (Türschloss- und Haubenschloss-Erkennung wurden 2026-08-16 ersatzlos aus der App entfernt, siehe AGENTS.md.)

Beispiel — Fahrt auslösen (Zündung/ACC an, dann aus):

T=$(grep VITE_TEST_TOKEN ../companion-app/.env.local | cut -d= -f2)
curl -X POST -H "Authorization: Bearer $T" -H "Content-Type: application/json" \
  -d '{"entity_id":"input_boolean.test_zuendung"}' \
  http://localhost:18123/api/services/input_boolean/turn_on

Aufräumen

docker rm -f Data-Metric-360

Die Konfiguration liegt außerhalb des Repos unter dem im Skript gesetzten ZIEL-Pfad; es werden keine echten Fahrzeugdaten verwendet, sondern fahrzeugprofil.example.json.