Fehlerspeicher, Amber statt Gruen, Tankbalken rot ab 90 km

- Neue Sensorrolle FEHLERSPEICHER_SENSOR (number_of_diagnostic_trouble_codes
  vom CAN) und eine fuenfte Zeile auf der Sicherheitsseite: "Keine
  Fehlermeldungen". Bewusst NICHT im _sicherheitscheck(): "gesichert"
  rechnet ein UND ueber diese Liste, und ein Eintrag im Fehlerspeicher sagt
  nichts darueber, ob der Wagen verschlossen dasteht.
- "Zuendung an" ist Amber statt Gruen. Gruen las sich als "alles in Ordnung
  und sicher"; unterwegs ist kein guter Zustand, sondern ein anderer.
- Das Modell-Auswahlfeld bekam dm-eingabe statt dm-auswahl - nur letzteres
  setzt appearance:none, deshalb zeichnete der Browser seinen nativen Pfeil
  neben den des Design-Systems. Die Breitenregel heisst jetzt
  dm-feld--fahrzeug und gilt fuer input und select.
- "aktuell" erscheint erst nach einer Pruefung, und fuer beide Abschnitte
  gemeinsam. Der App-Abschnitt zeigte die Marke schon, sobald ein Buendel
  vorlag - also unmittelbar nach einem Update wieder.
- Der Tankbalken wird rot ab 90 km Restreichweite, in Kilometern und nicht
  in Prozent: die Reichweite ist die Aussage, um die es geht, und das
  Fahrzeug rechnet die Fahrweise darin bereits ein. Farbe --red (Audi-CI,
  #F50537), nicht --bad-flaeche - letzteres ist fuer weisse Schrift darauf
  gewaehlt, und hier steht keine drauf.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-05 17:31:52 +02:00
co-authored by Claude Opus 5
parent 255a593b50
commit e76252505f
14 changed files with 258 additions and 20 deletions
@@ -190,6 +190,26 @@ def _sicherheitscheck(hass: HomeAssistant, werte: Sensorzuordnung) -> list[dict]
return eintraege
def _fehlerspeicher(hass: HomeAssistant, werte: Sensorzuordnung) -> dict:
"""Wie viele Diagnosecodes im Fehlerspeicher stehen.
BEWUSST NICHT Teil von _sicherheitscheck(): dort steht ausschliesslich,
was zu oder verriegelt ist, und daraus rechnet "gesichert" ein UND ueber
alle Punkte. Ein Fehlerspeichereintrag sagt nichts darueber, ob der Wagen
sicher abgestellt ist - er wuerde die Aussage still verfaelschen.
"anzahl" ist None, solange kein Sensor zugeordnet ist oder er nichts
meldet; die Oberflaechen zeigen das als "unbekannt" und raten nicht auf
"keine Fehler".
"""
roh = zustand_oder_none(hass, werte.FEHLERSPEICHER_SENSOR)
anzahl = _zu_zahl(roh)
if anzahl is None:
return {"anzahl": None, "ok": None}
ganz = int(anzahl)
return {"anzahl": ganz, "ok": ganz == 0}
def fahrzeugstatus(
hass: HomeAssistant,
werte: Sensorzuordnung,
@@ -238,6 +258,8 @@ def fahrzeugstatus(
"batteriespannung": spannung,
"gesichert": gesichert,
"sicherheitscheck": sicherheitscheck,
# Getrennt vom Sicherheitscheck, siehe _fehlerspeicher().
"fehlerspeicher": _fehlerspeicher(hass, werte),
# Fährt das Fahrzeug gerade? Kommt aus derselben Zündungs-Entität, die
# auch die Fahrterkennung als maßgebliches Signal für Fahrtbeginn und
# -ende nimmt - damit sagen Anzeige und Erfassung zwangsläufig