flespi: echtes Lesen statt Zwischenspeicher, und kein Gleichstand ohne Grundlage
Der Waechter meldete am 04.09.2026 "stimmt ueberein" fuer
trip_scenario.ign_off_timeout: 900 gegen unsere Konstante NACHLAUF_S = 900.
Das Geraet hat dort 0 - das Trip-Szenario ist abgeschaltet. flespis
Zwischenspeicher trug den Stand vom 01.09. 13:15, dreieinhalb Tage alt.
Der Eigentuemer hat es aufgedeckt: "die gelesenen werte sind veraltet".
Zwei Aenderungen:
1. "Jetzt lesen" leert erst den Zwischenspeicher der ueberwachten
Einstellungen (DELETE /gw/devices/{id}/settings/{name} - die
API-Entsprechung des Panel-Knopfes "clear cache and synchronize"; loescht
den gespeicherten Wert, nicht den im Geraet) und holt dann neu.
Einstellungen mit einem AUSSTEHENDEN Wert werden uebersprungen: dasselbe
DELETE wuerde ihn verwerfen, und die Aenderung kaeme nie an - wie
1003/1004, die am 04.09. acht Stunden in der Warteschlange standen.
2. `abweichung` ist dreiwertig: true, false und **null (kein Urteil)**. Null
steht dort, wo ein Vergleich nichts aussagt - der Wert wurde nie vom
Geraet bestaetigt, oder es ist gerade eine Aenderung unterwegs. Dazu
traegt jede Zeile `gemeldet_am` (flespis `updated`), und beide
Oberflaechen zeigen es an: "bestaetigt 01.09.2026 (4 T. alt)" bzw.
"nie bestaetigt".
Ein stiller Gleichstand mit einem veralteten Wert ist schlimmer als gar kein
Vergleich: er behauptet Sicherheit, wo keine ist.
tsc sauber, 271 Tests, vite build sauber, Panel als Modul geparst,
py_compile sauber, audi_ha_test auf 2026.9.4.26 ohne Traceback.
This commit is contained in:
@@ -255,7 +255,15 @@ export interface DongleWert {
|
||||
offen: unknown;
|
||||
/** Unser eigener Wert, sofern es einen zu vergleichen gibt. */
|
||||
unser: number | null;
|
||||
abweichung: boolean;
|
||||
/** Dreiwertig: true weicht ab, false stimmt überein, **null kein
|
||||
Urteil** — der Wert wurde nie vom Gerät bestätigt, oder es ist
|
||||
gerade eine Änderung zu ihm unterwegs. Bis zum 04.09.2026 war das
|
||||
ein Bool, und `false` behauptete Übereinstimmung auch gegen einen
|
||||
tagealten Wert. */
|
||||
abweichung: boolean | null;
|
||||
/** Wann das Gerät diesen Wert zuletzt bestätigt hat (flespis
|
||||
`updated`) — null heißt: nie. */
|
||||
gemeldet_am?: string | null;
|
||||
}
|
||||
|
||||
export interface DongleStand {
|
||||
@@ -264,6 +272,10 @@ export interface DongleStand {
|
||||
anzahl?: number;
|
||||
werte?: DongleWert[];
|
||||
abweichungen?: number;
|
||||
/** Zeilen ohne Urteil: nie bestätigt oder gerade unterwegs. */
|
||||
unbekannt?: number;
|
||||
/** Welche Zwischenspeicher dieser Abruf geleert hat. */
|
||||
geleert?: string[];
|
||||
/** Wie viele der gezeigten Werte noch zum Gerät unterwegs sind. */
|
||||
offen?: number;
|
||||
fehler: string | null;
|
||||
|
||||
Reference in New Issue
Block a user