Fahrgestellnummer (FIN) automatisch aus den zugeordneten Sensoren ableiten

Neues identitaet.py: durchsucht das Geräte-Register der aktuell im Setup
zugeordneten Sensoren (cupra_eu_data_act, FMM003, ...) nach einem
VIN-förmigen Geräte-Identifier/Seriennummer, statt ein eigenes Setup-Feld zu
verlangen. Mehrere übereinstimmende Quellen werden akzeptiert, abweichende nur
geloggt statt geraten; eine bereits von Hand eingetragene FIN wird nie
überschrieben. Läuft nach jedem Start und nach jeder Setup-Änderung
(koordinator.py/dienste.py).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-28 11:47:08 +02:00
parent 8f88ccf581
commit c0acc836f0
5 changed files with 189 additions and 3 deletions
@@ -47,7 +47,7 @@ from homeassistant.helpers.event import (
from homeassistant.helpers.start import async_at_started
from homeassistant.helpers.storage import Store
from . import batterie, fahrterkennung, reifen, screening, sicherung, tankerkennung
from . import batterie, fahrterkennung, identitaet, reifen, screening, sicherung, tankerkennung
from .ablage import Ablage
from .const import (
BUENDEL_INFO,
@@ -149,6 +149,11 @@ class Koordinator:
async def _nach_start(self, _hass: HomeAssistant) -> None:
await fahrterkennung.nach_neustart_fortsetzen(self)
# Erst hier (nicht in starten()): das Geräte-/Entity-Register der
# zugeordneten Sensoren ist vor async_at_started oft noch nicht
# vollständig - siehe die Begründung von trigger_neu_binden() oben.
await identitaet.fin_ableiten_und_uebernehmen(self.hass, self.zuordnung, self.ablage)
await self.profil_veroeffentlichen()
async def beenden(self) -> None:
for abmelden in (*self._takte, *self._beobachter):