2d76f10c1c
Sechs gemeldete Punkte plus ein Fund beim Nachlesen des Ladevorgangs: - HECKKLAPPENSCHLOSS_SENSOR ueberall entfernt (einstellungen.py, entitaeten.py-Katalog, _sicherheitscheck()). HECKKLAPPE_SENSOR bleibt. - Bild-Platzhalter in den Einstellungen war halb abgeschnitten: die bare .carfix-Regel der Desktop-Container-Query traf auch den Platzhalter-Div, dessen inset:0 von der festen Hoehe uebersteuert wurde. Auf .bildbox eingegrenzt. - Inspektion bekommt eine eigene "voraussichtlich am ..."-Zeile (nur Datum). oelwechselPrognose() dafuer auf den gemeinsamen Kern servicePrognose() zurueckgefuehrt. - "Neue Fahrt" bietet jetzt alle Felder, die die Einzelfahrt anzeigt, und die Einzelfahrt laesst sich bearbeiten - gemeinsames fahrtFelder()/ fahrtFormularWerte() nach dem Muster von tankFelder(). Backend: Service audi_dashboard_fahrt_aktualisieren, profil.fahrt_bearbeiten() (edited_fields schuetzt gegen die Automatik, nicht gegen den Nutzer). Die Art-Pille speichert jetzt ebenfalls statt nur lokal umzuschalten. - Titelzeile steht auf dem Handy buendig zu den Kacheln: .back:not(.on) gibt seine Breite und den Gap auf allen Breiten frei, .topbar links 16px. - Ladebildschirm: nachladeAnstossen() und datenLaden() stiegen bei fehlendem HASS aus, ohne eine naechste Runde zu planen - genau die Sackgasse, aus der bisher nur ein Menueklick half. Beide planen jetzt weiter, der Timer wird beim Abhaengen gestoppt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
93 lines
4.3 KiB
Python
93 lines
4.3 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 = []
|
|
|
|
# Heckklappe und Motorhaube - keine Quelle mehr vorhanden.
|
|
HECKKLAPPE_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"
|