NEWS
HM-Sec-MDIR-3 Datenpunkte werden nicht alle aktualisiert
-
@paul53 den Punkt zu treffen kann dauern
hab ich zum testen des lowbat Skriptes versucht.
selbst mit Akkus -
@paul53 said in HM-Sec-MDIR-3 Datenpunkte werden nicht alle aktualisiert:
@legro sagte: BWM dazu bringen, LOWBAT zu senden.
Batterie einlegen, deren Spannung für LOWBAT niedrig genug ist, die es aber ermöglicht, dass noch gesendet wird.
Das könnte des Rätsels Lösung sein, dass mir beim Batteriewechsel eine älter Batterie dazwischen geraten sein mag.
Halt! Nein! Irgendwie - so scheint es mir - suchen wir an der falschen Stelle.
All die (mittlerweile drei) Jahre, waren diese Klimmzüge nicht nötig. Immer wenn ich die Batterien wechselte, so waren die verwendeten Widgets, die ich zum Anzeigen von LOWBAT=true verwendete, korrekt in ihrer Anzeige. Nun wollte ich mittels eines JavaScripts mir eine Liste derjenigen Geräte senden lassen, für die LOWBAT=true ist. Hierdurch bemerkte ich erst, dass mittlerweile auch die Anzeigen in den Widgets fälschlicherweise leere Batterien anzeigen, weil urplötzlich NULL-Werte in den LOWBAT-Datenpunkten stehen. Zudem waren die Batterien definitiv (noch) nicht leer.
-
@legro sagte in HM-Sec-MDIR-3 Datenpunkte werden nicht alle aktualisiert:
weil urplötzlich NULL-Werte in den LOWBAT-Datenpunkten stehen. Zudem waren die Batterien definitiv (noch) nicht leer.
NULL ist nicht leer!
NULL bedeutet nur, dass noch keine Info über den Batteriestatus von der piVCCU geliefert wurde seit die Instanz gestartet wurde.
-
@legro sagte: weil urplötzlich NULL-Werte in den LOWBAT-Datenpunkten stehen.
Dann trage manuell false ein oder ändere das Skript.
-
@paul53 said in HM-Sec-MDIR-3 Datenpunkte werden nicht alle aktualisiert:
Dann trage manuell false ein oder ändere das Skript.
Die ganzen Skripte möchte ich nicht ändern müssen. Ich trage lieber in dem JSON-Datensätze bei Bedarf den Wert false per Hand ein.
Was mir nach wie vor völlig rätselhaft bleibt: Warum war diese Akrobatik all die Jahre nicht vonnöten? Zuvor galt: Batterien gewechselt und alles war in Ordnung.
-
@legro sagte in HM-Sec-MDIR-3 Datenpunkte werden nicht alle aktualisiert:
Ich trage lieber in dem JSON-Datensätze bei Bedarf den Wert false per Hand ein.
wieso da?
ei fach in den objekten wo null steht
-
@legro sagte in HM-Sec-MDIR-3 Datenpunkte werden nicht alle aktualisiert:
Zuvor galt: Batterien gewechselt und alles war in Ordnung.
dann waren sie vorher leer.
Das ist jetzt nicht der Fall!
@homoran sagte in HM-Sec-MDIR-3 Datenpunkte werden nicht alle aktualisiert:
NULL ist nicht leer!
NULL bedeutet nur, dass noch keine Info über den Batteriestatus von der piVCCU geliefert wurde seit die Instanz gestartet wurde.mag sein, dass das Verhalten der CCU sich mittlerweile geändert hat, damit noch weniger unnötig gesendet wird und das bei einem Update der CCU neu kam.
Ist aber nur eine mögliche Vermutung! -
@legro sagte: Warum war diese Akrobatik all die Jahre nicht vonnöten?
Weil nun der js-controller Datenpunkte ohne Zustand strikter behandelt als früher.
-
Danke euch beiden. Habe es jetzt verstanden.
Zwar bleiben einige Ungereimtheiten, die unserer Diskussion zu widersprechen scheinen. Aber vielleicht überblicke ich auch noch nicht jedes Detail, wie ich bei den Batteriewechseln vorgegangen bin.
Sei's d'rum! Ich stelle halt bis auf Weiteres bei Bedarf den Wert für LOWBAT von Hand um.
Nochmals vielen Dank.
-
@homoran said in HM-Sec-MDIR-3 Datenpunkte werden nicht alle aktualisiert:
@legro sagte in HM-Sec-MDIR-3 Datenpunkte werden nicht alle aktualisiert:
Ich trage lieber in dem JSON-Datensätze bei Bedarf den Wert false per Hand ein.
wieso da?
ei fach in den objekten wo null steht
So einfach geht das doch gar nicht. Das Feld steht doch auf read only. Ich muss als in den JSON-Datensatz.
-
@legro sagte: Das Feld steht doch auf read only. Ich muss als in den JSON-Datensatz.
In den Expertenmodus schalten! Der JSON enthält keinen Zustand.
-
@legro sagte: So einfach geht das doch gar nicht.
Das kann auch ein kleines Skript erledigen:
$('hm-rpc.*.0.LOWBAT').each(function (id, i) { if(!existsState(id)) setState(id, false, true); });
-
@paul53 said in HM-Sec-MDIR-3 Datenpunkte werden nicht alle aktualisiert:
In den Expertenmodus schalten! Der JSON enthält keinen Zustand.
Danke für den Hinweis. Ich habe den JSON natürlich nur für den Zustand "beschreibbar" verwendet. Das kann ich nun wieder rückgängig machen.
Ja, mit den Skripten wird's bei mir noch ein wenig dauern. Da muss ich mich erst noch tiefer in JavaScript einarbeiten.
-
@legro sagte: Da muss ich mich erst noch tiefer in JavaScript einarbeiten.
Das Skript kannst Du kopieren wie es ist und einmal kurz starten. Danach stehen alle LOWBAT, die keinen Zustand haben (null), auf false.
-
Resümee bzw. Versuch einer Zusammenfassung ..
Ausgangspunkt ..
Ich hatte monatelang die nachfolgend dargestellten Widgets in Verwendung.
Sie sollten Auskunft liefern über die Beleuchtungsstärke, Batteriestand und Funkverbindung, wobei die beiden letzten nur angezeigt wurden, wenn die verknüpften Datenpunkte von false nach true wechselten. Das hat unter dem alten admin so auch tadellos funktioniert. Als ich dann auf die Version admin 5.x umstieg, gab's dann diese Probleme: Die Icons für Batterie und Funkverbindung wurden beständig angezeigt, obwohl alles in Ordnung war.
Die Fehlersuche liefert die Erkenntnis, dass diese Datenpunkt nunmehr alle NULL enthielten - zuvor stand hier false, wenn alles in Ordnung war. Hierdurch wurden sie nun angezeigt, obwohl kein Fehler vorlag.
Erklärungsversuche ..
Entweder handhabt der neue admin 5.x das Ganze strenger und schreibt NUL in die Datenpunkte, wenn sie undefiniert bleiben oder aber der Adapter hm-rega liefert neuerdings kein false mehr, wenn alles in Ordnung ist und die Datenpunkte eigentlich von Homematic undefiniert blieben, weil diese super Software sich spartanisch gibt.
meine Lösung ..
Ich bin ohnehin dabei unsere gesamte Visualisierung auf Inventwo umzustellen. Hierbei kann ich nun das Problem beheben, indem ich NULL-Werte wie false behandle und gut ist's. Mithin werde ich die elegante Lösung von @paul53 nicht umsetzen - aber vielen Dank dafür!