Ein Update-Knopf, Modell als Auswahlfeld, abgestellt schliesst fahrend aus
- Die Update-Kachel hat genau einen Knopf am Ende. Er traegt in jedem Zustand den naechsten faelligen Schritt (suchen, installieren, Neustart, Neuladen); Beschriftung und Fuellung wechseln mit. Die Abschnitte darueber behalten ihre Werte und verlieren nur ihre Knoepfe. - Abstand unter der Trennlinie von 28 auf 16 px: das padding-top verhindert das Kollabieren des margin der Werteliste, also zaehlt jetzt nur noch das padding. - Modell ist in der App ein Auswahlfeld statt eines Textfelds, wie im Panel. Die Liste liegt als Zweitschrift in daten/fahrzeugmodelle.ts; fahrzeugmodelle.test.ts liest die Panel-Quelle ein und vergleicht sie Eintrag fuer Eintrag, damit die beiden nicht auseinanderlaufen. - Faehrt der Wagen, sagen Uebersicht und Sicherheitsseite das, statt "sicher abgestellt" zu behaupten. Die Zuendung meldet der Dongle in Sekunden, Tuer- und Schlossmeldungen kommen verzoegert - die schnellere Quelle hat Vorrang, weil sonst das Wort nicht stimmt. - tankerkennung: der Tiefststand wird vor dem Anlegen gesetzt. Ein gepufferter Schwung Datensaetze legte sonst denselben Tankvorgang zweimal an, weil der zweite Zustandswechsel waehrend des Wartens noch den alten Tiefststand las (04.09.2026, 29,8 l und 29,7 l). - flespi: nach dem Leeren des Zwischenspeichers wird nur abgeglichen, wenn ein Geraetewert vorliegt. Sonst ueberschrieb der Waechterfehler den frisch gelesenen Stand in der Kachel. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -678,4 +678,30 @@ async def jetzt_lesen(k: Koordinator) -> None:
|
||||
await k.flespi_stand_setzen(stand)
|
||||
# Ein frischer Stand kann eine Abweichung erst sichtbar machen - dann gehört
|
||||
# sie gleich behoben, statt bis zum nächsten Speichern zu warten.
|
||||
await wunsch_uebernehmen(k)
|
||||
#
|
||||
# ABER nur, wenn nach dem Leeren überhaupt schon ein Gerätewert
|
||||
# zurückgekommen ist. Schläft der Dongle, ist der Wert nicht abweichend,
|
||||
# sondern schlicht unbekannt - ein Schreibversuch scheitert dann am Schutz
|
||||
# in schlaf_timeout_schreiben() und ersetzte den eben gelesenen Stand durch
|
||||
# eine Fehlermeldung. Am 05.09.2026 genau so passiert: nach "Jetzt lesen"
|
||||
# stand in der Kachel nur noch "Der Schlafmodus des Geräts ist gerade
|
||||
# unbekannt", statt der Werte.
|
||||
if _schlafwert_bekannt(stand):
|
||||
await wunsch_uebernehmen(k)
|
||||
else:
|
||||
_LOGGER.debug(
|
||||
"Nach dem Leeren liegt noch kein Gerätewert vor - kein Abgleich,"
|
||||
" bis der Dongle sich meldet."
|
||||
)
|
||||
|
||||
|
||||
def _schlafwert_bekannt(stand: dict) -> bool:
|
||||
"""Ob der Anzeigestand einen Schlaf-Timeout vom Gerät kennt.
|
||||
|
||||
Ein ausstehender Wert (`offen`) zählt mit: er ist unterwegs, und das
|
||||
dazugehörige `mode`-Objekt liegt dann in flespi vor."""
|
||||
for zeile in stand.get("werte", []):
|
||||
if zeile.get("schluessel") != SCHLAF_SCHLUESSEL:
|
||||
continue
|
||||
return zeile.get("geraet") is not None or zeile.get("offen") is not None
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user