# 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 ```bash ./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): ```bash 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 ```bash 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`.