Die urspruengliche Wegwerf-Testinstanz war verloren, weil sie nur als Anleitung existierte. testumgebung/aufsetzen.sh baut sie jetzt vollstaendig neu auf: Container, Nutzer, langlebiges Token, pyscript als Custom Component, Projektdateien und nachgebildete Fahrzeugsensoren als Template-Entitaeten, die ueber Helfer zur Laufzeit steuerbar sind. Verifiziert: pyscript veroeffentlicht alle acht Entitaeten, Fahrzeugsensoren liefern Werte, beide Smoke-Tests gruen.
testumgebung/ — Wegwerf-Home-Assistant für Entwicklung und Tests
Setzt eine vollständige Home-Assistant-Instanz in Docker auf, in der das
pyscript-Backend dieses Projekts echt läuft: eigene Entitäten, echte Service-Aufrufe,
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, installiert
pyscript als Custom Component, kopiert ../homeassistant/{pyscript,www,data}
hinein und startet neu.
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 die Entitäten der HACS-Integration
TommiG1/HA_VAG-EU-Data-Act als Template-Sensoren nach, damit das Backend echte
Werte sieht. Steuerbar zur Laufzeit über Helfer — damit lassen sich die
@state_trigger-Abläufe wirklich auslösen:
| Helfer | Steuert | Wofür |
|---|---|---|
input_number.test_kilometerstand |
sensor.audi_rs_4_avant_mileage |
Reifenzähler, Fahrtabschluss-Screening |
input_number.test_tankfuellstand |
sensor.audi_rs_4_avant_fuel_level |
automatische Tankerkennung |
input_number.test_reichweite |
sensor.audi_rs_4_avant_range_primary |
Übersichtsanzeige |
input_text.test_wlan |
sensor.iphone_wifi_connection |
Fahrterkennung (Start/Ende) |
input_boolean.test_tuer_vl |
Tür vorne links | „sicher abgestellt" |
input_boolean.test_fenster_vl |
Fenster vorne links | „sicher abgestellt" |
input_boolean.test_entriegelt |
Türschloss vorne links | „sicher abgestellt" |
Beispiel — Fahrt auslösen (WLAN des Fahrzeugs verbinden, dann trennen):
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_text.test_wlan","value":"Audi_MMI"}' \
http://localhost:18123/api/services/input_text/set_value
Der WLAN-Name muss zu fahrzeug.wlan_ssid in
audi_dashboard/fahrzeugprofil.json passen.
Aufräumen
docker rm -f audi_ha_test
Die Konfiguration liegt außerhalb des Repos unter dem im Skript gesetzten
ZIEL-Pfad; es werden keine echten Fahrzeugdaten verwendet, sondern
fahrzeugprofil.example.json.