"""Technische Konfiguration — die einzige Stelle, die vor der Installation angepasst werden muss (siehe INSTALL.md Schritt 4). Alles andere (WLAN-Name des Fahrzeugs, Pausenzeit, Reifendaten, ...) ist Teil des Fahrzeugprofils (data/fahrzeugprofil.json) und über die Oberfläche änderbar. Diese Entity-IDs sind es bewusst nicht: @state_trigger und die Fahrzeugstatus-Abfrage brauchen sie als festen Wert, bevor überhaupt ein Profil gelesen werden kann. In Home Assistant unter Entwicklerwerkzeuge -> Zustände nachschlagen. Werte lassen sich außerdem über das Setup-Menü in der Oberfläche zuordnen (siehe entitaeten.py) - Änderungen von dort werden zur Laufzeit auf diese Variablen angewendet (überschreiben also die hier hinterlegten Standardwerte), ohne diese Datei anzufassen. 2026-08-12: Die HACS-Integration TommiG1/HA_VAG-EU-Data-Act (bisherige Quelle für Kilometerstand, Tankfüllstand, Türen/Fenster/Schlösser, Ölwechsel-/Inspektionsdaten) wird nicht mehr verwendet - die zugehörigen Entity-IDs sind deshalb unten bewusst leer. Neue Datenquelle ist der Teltonika FMM003 (GPS-Tracker mit CAN-Anbindung, siehe AGENTS.md Abschnitt B); er liefert Standort, Zündungsstatus und Batteriespannung, aber keinen Tankfüllstand, keine Tür-/Fenster-/Schlossdaten und keine Ölwechsel-/ Inspektionstermine - die entsprechenden Kacheln zeigen deshalb bis auf Weiteres "unbekannt" statt eines falschen Werts (siehe zustand_oder_none() in frontend_veroeffentlichung.py). Bleibt ein Wert leer ("") oder passt eine Entity-ID nicht zur tatsächlichen Integration, liefert zustand_oder_none() für das jeweilige Feld None statt abzustürzen. """ # Fahrterkennung (§7.1): Start/Ende einer Fahrt wird über den Zündungs-/ACC- # Status des FMM003 erkannt (on = Fahrt läuft), nicht mehr über die WLAN- # Verbindung des iPhones zum Fahrzeug (siehe fahrterkennung.py). ZUENDUNG_SENSOR = "binary_sensor.testzone_fmm003_engine_ignition_or_acc_status" # Kilometerstand - bisher aus der TommiG1-Integration, aktuell keine Quelle # vorhanden. Der FMM003 liefert unter sensor.testzone_fmm003_total_calculated_mileage # einen selbst berechneten Wert, der aber auf einer anderen Zählbasis beruht # als der echte Fahrzeug-Kilometerstand (GPS-Streckenberechnung statt # Tacho) - bewusst NICHT automatisch übernommen, um Reifenzähler, # Ölwechsel-Prognose und Fahrtabschluss-Screening nicht mit einem # inkonsistenten Basiswert zu verfälschen. Bei Bedarf über das Setup-Menü # gezielt zuordnen. KM_SENSOR = "" # Tankfüllstand (Prozent) - keine Quelle mehr vorhanden (der FMM003 ist kein # Tankgeber). TANK_SENSOR = "" # Reichweite (§5.1 Übersicht) - keine Quelle mehr vorhanden. RANGE_SENSOR = "" # 12V-Batteriespannung (Mein Audi -> Zustand). Vom FMM003 geliefert - # external_power_voltage ist die vom Gerät gemessene Bordnetzspannung des # Fahrzeugs, NICHT battery_voltage (das ist die interne Pufferbatterie des # Trackers selbst und hat mit der Fahrzeugbatterie nichts zu tun). BATTERIE_SENSOR = "sensor.testzone_fmm003_external_power_voltage" # Knopf für eine sofortige Neuabfrage beim Fahrzeug - kam aus der # TommiG1-Integration, keine Entsprechung beim FMM003 vorhanden. REFRESH_BUTTON = "" # Türen (§4.1) - keine Quelle mehr vorhanden. TUER_SENSOREN = [] # Fenster (§4.1) - keine Quelle mehr vorhanden. FENSTER_SENSOREN = [] # Heckklappe und Motorhaube - keine Quelle mehr vorhanden. HECKKLAPPE_SENSOR = "" HECKKLAPPENSCHLOSS_SENSOR = "" HAUBE_SENSOR = "" # Vom Fahrzeug selbst gemeldete Service-Fälligkeit (ergänzt die App-eigene, # aus dem Servicebuch berechnete Prognose) - keine Quelle mehr vorhanden. NAECHSTER_OELWECHSEL_SENSOR = "" OELWECHSEL_STRECKE_SENSOR = "" NAECHSTE_INSPEKTION_SENSOR = "" INSPEKTION_STRECKE_SENSOR = "" # Live-GPS-Position des Fahrzeugs (Übersicht -> Standort-Kachel). Breiten-/ # Längengrad als zwei eigene sensor-Entities (flespi liefert Koordinaten so, # nicht als Attribute einer device_tracker-Entity - siehe _standort() in # frontend_veroeffentlichung.py). STANDORT_LAT_SENSOR = "" STANDORT_LON_SENSOR = "" # Update-Funktion (Einstellungen -> "Update suchen", siehe # updateverwaltung.py): Git-Repository, in das dieses Projekt gepflegt wird - # z. B. ein privates GitHub-Repo, genau wie für die HACS-Integration bereits # verwendet. Leer lassen, solange es keins gibt - "Update suchen" meldet dann # nur "keine Update-Quelle eingerichtet", ohne etwas zu tun. UPDATE_REPO_URL = "" UPDATE_BRANCH = "main"