Files
audi-app/testumgebung/konfiguration.yaml
T
Paul Nothaft 4395ff6ac6 Native iOS-Huelle in Betrieb, drei Darstellungsfehler behoben
Xcode ist vorhanden, die Huelle liess sich also wirklich bauen statt nur
vorzubereiten: Capacitor 8 fuer iOS und Android, Build fuer den Simulator
erfolgreich, App laeuft und zeigt echte Daten vom Server.

CapacitorHttp eingeschaltet. Das ist keine Feinheit: die native Huelle
liefert die Oberflaeche unter eigenem Ursprung aus, jede Anfrage an Home
Assistant ist damit ursprungsuebergreifend, und die WebView lehnt sie ohne
CORS-Freigabe ab. Nativ gestellte Anfragen kennen keine CORS-Pruefung -
die App braucht dadurch keine CORS-Einstellung am Server.

Drei Fehler, die erst die Bildschirmfotos zeigten:

1. Der Fahrzeug-Block auf der Uebersicht war unsichtbar. Ursache war der
   Flexbox-Fallstrick: "overflow: hidden" setzt die automatische Mindesthoehe
   auf 0, und sobald die Seite laenger ist als der Bildschirm, quetscht
   flex-shrink den Block auf Hoehe 0. Modellname, Typenschild und Kennzeichen
   waren damit schlicht weg.
2. Neben dem Typenschild stand der Modellname noch einmal komplett, obwohl
   das Schild ihn bereits zeigt. Das alte Panel loest das laengst richtig -
   nur der Zusatz gehoert daneben. Nachgezogen, samt Entdopplung, wenn die
   Ausfuehrung schon im Namen steckt.
3. In der Fotogalerie liefen die Dateinamen ueber den Rand der Miniaturen.

Dazu: Datumszeile in Listen bricht um statt abzuschneiden, Statistik nutzt
auf der Flaeche mehrere Spalten.

Im Backend war das Kilometerstand-Screening kaputt: es rief urlopen direkt
auf, was Home Assistant seit 2026.8 als blockierenden Aufruf abbricht. Jede
Fahrt blieb dadurch ohne Strecke - sichtbar nur als Warnung im Protokoll.
Laeuft jetzt ueber task.executor und rechnet an der Testinstanz wieder echte
Strecken aus dem Verlauf.

Die CORS-Freigabe fuer die Web-Fassung ist in der Testkonfiguration
hinterlegt. Sie greift in Home Assistant 2026.8 allerdings nicht - deshalb
wird die App aus Home Assistant selbst ausgeliefert (gleicher Ursprung, kein
CORS), was ohnehin der geplante Weg ist.

Die erzeugten Ordner ios/ und android/ bleiben ungetrackt; sie entstehen
jederzeit neu aus dem Webbuendel.
2026-08-11 12:44:11 +02:00

171 lines
5.3 KiB
YAML

# Wegwerf-Testinstanz fuer DataMetric360.
# Bildet die Entitaeten der HACS-Integration TommiG1/HA_VAG-EU-Data-Act nach,
# damit das pyscript-Backend echte Werte sieht. Ueber die input_*-Helfer sind
# die Werte zur Laufzeit aenderbar (Fahrterkennung, Reifenzaehler, Tankerkennung
# haengen an @state_trigger).
default_config:
# Die App laeuft unter einer anderen Adresse als Home Assistant. Ohne diese
# Freigabe lehnt der Browser jede Anfrage ab, noch bevor sie den Server
# erreicht (CORS). Gilt genauso im Echtbetrieb - siehe
# ../homeassistant/REVERSE_PROXY.md.
http:
cors_allowed_origins:
- http://localhost:4173 # Vorschau des Produktionsbuendels
- http://localhost:5173 # Entwicklungsserver
- capacitor://localhost # native Huelle iOS
- ionic://localhost # native Huelle Android
pyscript:
allow_all_imports: true
panel_custom:
- name: audi-dashboard-panel
sidebar_title: Mein Audi
sidebar_icon: mdi:car-sports
module_url: /local/audi-dashboard-panel.js?v=1
embed_iframe: false
trust_external_script: false
input_number:
test_kilometerstand:
name: Test Kilometerstand
min: 0
max: 999999
step: 1
initial: 48250
mode: box
test_tankfuellstand:
name: Test Tankfuellstand
min: 0
max: 100
step: 1
initial: 62
mode: box
test_reichweite:
name: Test Reichweite
min: 0
max: 1200
step: 1
initial: 385
mode: box
input_text:
test_wlan:
name: Test WLAN
initial: Zuhause
max: 60
input_boolean:
test_tuer_vl:
name: Test Tuer vorne links
test_fenster_vl:
name: Test Fenster vorne links
test_entriegelt:
name: Test entriegelt
template:
- sensor:
- name: "iPhone WiFi Connection"
unique_id: test_iphone_wifi
state: "{{ states('input_text.test_wlan') }}"
- name: "Audi RS 4 Avant Mileage"
unique_id: test_audi_mileage
state: "{{ states('input_number.test_kilometerstand') | int(0) }}"
unit_of_measurement: km
state_class: total_increasing
- name: "Audi RS 4 Avant Fuel Level"
unique_id: test_audi_fuel
state: "{{ states('input_number.test_tankfuellstand') | int(0) }}"
unit_of_measurement: "%"
- name: "Audi RS 4 Avant Range Primary"
unique_id: test_audi_range
state: "{{ states('input_number.test_reichweite') | int(0) }}"
unit_of_measurement: km
- name: "Audi RS 4 Avant Oil Change Due"
unique_id: test_audi_oil_due
state: "2027-03-14T00:00:00+00:00"
device_class: timestamp
- name: "Audi RS 4 Avant Oil Change Distance"
unique_id: test_audi_oil_dist
state: "-11750"
unit_of_measurement: km
- name: "Audi RS 4 Avant Inspection Due"
unique_id: test_audi_insp_due
state: "2027-03-14T00:00:00+00:00"
device_class: timestamp
- name: "Audi RS 4 Avant Inspection Distance"
unique_id: test_audi_insp_dist
state: "-11750"
unit_of_measurement: km
- binary_sensor:
- name: "Audi RS 4 Avant Front Left Door"
unique_id: test_audi_door_fl
state: "{{ is_state('input_boolean.test_tuer_vl', 'on') }}"
device_class: door
- name: "Audi RS 4 Avant Front Right Door"
unique_id: test_audi_door_fr
state: "off"
device_class: door
- name: "Audi RS 4 Avant Rear Left Door"
unique_id: test_audi_door_rl
state: "off"
device_class: door
- name: "Audi RS 4 Avant Rear Right Door"
unique_id: test_audi_door_rr
state: "off"
device_class: door
- name: "Audi RS 4 Avant Front Left Window"
unique_id: test_audi_win_fl
state: "{{ is_state('input_boolean.test_fenster_vl', 'on') }}"
device_class: window
- name: "Audi RS 4 Avant Front Right Window"
unique_id: test_audi_win_fr
state: "off"
device_class: window
- name: "Audi RS 4 Avant Rear Left Window"
unique_id: test_audi_win_rl
state: "off"
device_class: window
- name: "Audi RS 4 Avant Rear Right Window"
unique_id: test_audi_win_rr
state: "off"
device_class: window
- name: "Audi RS 4 Avant Front Left Door Lock"
unique_id: test_audi_lock_fl
state: "{{ is_state('input_boolean.test_entriegelt', 'on') }}"
device_class: lock
- name: "Audi RS 4 Avant Front Right Door Lock"
unique_id: test_audi_lock_fr
state: "off"
device_class: lock
- name: "Audi RS 4 Avant Rear Left Door Lock"
unique_id: test_audi_lock_rl
state: "off"
device_class: lock
- name: "Audi RS 4 Avant Rear Right Door Lock"
unique_id: test_audi_lock_rr
state: "off"
device_class: lock
- name: "Audi RS 4 Avant Tailgate"
unique_id: test_audi_tailgate
state: "off"
device_class: door
- name: "Audi RS 4 Avant Tailgate Lock"
unique_id: test_audi_tailgate_lock
state: "off"
device_class: lock
- name: "Audi RS 4 Avant Hood"
unique_id: test_audi_hood
state: "off"
device_class: door
- name: "Audi RS 4 Avant Hood Lock"
unique_id: test_audi_hood_lock
state: "off"
device_class: lock
input_button:
test_refresh:
name: Test Refresh Now