9794193803
Setup-Menü (Einstellungen -> Fahrzeug einrichten -> Setup): ordnet alle von der App genutzten Sensor-Rollen echten HA-Entitäten zu, statt sie in einstellungen.py von Hand einzutragen - durchsuchbares Dropdown je Feld, Vorauswahl aus vorhandenen Entitäten, Schalter für "nur passende Sensoren". Neues Modul entitaeten.py (Katalog + JSON-Override, zur Laufzeit über setattr() auf einstellungen angewendet, kein Neustart nötig außer für die drei trigger-gebundenen Felder). Zusätzlich: Fahrzeug-WLAN-Erkennung und alle Entity-IDs der nicht mehr genutzten TommiG1/HA_VAG-EU-Data-Act-Integration entfernt. Fahrterkennung läuft jetzt über den Zündungs-/ACC-Status des neu angebundenen Teltonika FMM003 (ersetzt die WLAN-Verbindungserkennung); Standort und 12V- Batteriespannung kommen ebenfalls vom FMM003. Kilometerstand, Tankfüllstand, Reichweite, Türen/Fenster/Schlösser sowie Ölwechsel-/Inspektionsdaten haben dadurch vorerst keine Quelle mehr und zeigen "unbekannt" - die Funktionen selbst bleiben erhalten und lassen sich über das neue Setup-Menü jederzeit neu zuordnen. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
97 lines
4.5 KiB
Python
97 lines
4.5 KiB
Python
"""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 = []
|
|
|
|
# Verriegelung - keine Quelle mehr vorhanden.
|
|
TUERSCHLOSS_SENSOREN = []
|
|
|
|
# Heckklappe und Motorhaube - keine Quelle mehr vorhanden.
|
|
HECKKLAPPE_SENSOR = ""
|
|
HECKKLAPPENSCHLOSS_SENSOR = ""
|
|
HAUBE_SENSOR = ""
|
|
HAUBENSCHLOSS_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). Erwartet
|
|
# eine device_tracker.*-Entity mit "latitude"/"longitude"-Attributen (HA-
|
|
# Konvention, siehe _standort() in frontend_veroeffentlichung.py) - jetzt
|
|
# vom FMM003 geliefert.
|
|
STANDORT_TRACKER = "device_tracker.testzone_fmm003"
|
|
|
|
# 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"
|