"""Trigger-Registrierung für den zweistufigen Fahrtabschluss (§7.2).

Die eigentliche Logik liegt in pyscript/modules/fahrtabschluss_logik.py
(importierbares Modul, auch von fahrterkennung.py genutzt). Diese Datei
sorgt nur dafür, dass ein Screening auch dann läuft, wenn der Kilometerstand-
Sensor sich ändert - unabhängig vom Fahrtende-Ereignis selbst, weil der Wert
laut §10 Punkt 4 auch erst mit der nächsten Fahrt eintreffen kann.

Entity-IDs stehen zentral in pyscript/modules/einstellungen.py.
"""

import einstellungen
import fahrtabschluss_logik


# Ohne konfigurierten Kilometerstand-Sensor keinen Trigger registrieren -
# eine leere Entity-ID als @state_trigger-Ausdruck ist ungetestetes
# Verhalten, siehe gleiches Muster in fahrterkennung.py.
if einstellungen.KM_SENSOR:
    @state_trigger(f"{einstellungen.KM_SENSOR}")
    def kilometerstand_geaendert(value=None, old_value=None):
        if value is None or old_value is None:
            return
        fahrtabschluss_logik.screening_durchfuehren(einstellungen.KM_SENSOR)


@service
def audi_dashboard_screening_jetzt():
    """Manueller Anstoß des Screenings, z. B. aus der Oberfläche heraus
    (pyscript.audi_dashboard_screening_jetzt)."""
    fahrtabschluss_logik.screening_durchfuehren(einstellungen.KM_SENSOR)
