NEWS
[Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe
-
@Saschag sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Habe es jetztnmal hoch gestellt und beobachtet, die Geräte bleiben alle "tot" obwohl die Datenpunkte aktualisiert werden???
Da Du bisher der einzige von etlichen Nutzern, mich eingeschlossen, mit dem Problem bist, kontrollier bitte noch mal alles. Und dann zeig mir einen solchen Datenpunkt exemplarisch als Screenshot und das Log dazu.
-
@Saschag Vielleicht auch mal das Skript oder den ganzen JS-Adapter neu starten. Manchmal klemmt da was und Skripte bekommen Änderungen von Datenpunkten nicht mit.
P.S.: Wegen einiger Deconz-Batterie-Geräte bin ich mittlerweile im Script auf 2 Wochen Dead-Zeit hoch. Es gibt da doch welche, die es nur so alle 10 Tage mal schaffen, einen Wert zu liefern. Komischerweise alle baugleich von IKEA. Ein paar senden täglich einen Batteriestand, ein paar alle Tage mal und eine Fernbedienung hat noch nie einen Wert gesendet, funktioniert aber normal...
Gruss, Jürgen
-
@Saschag sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Habe es jetztnmal hoch gestellt und beobachtet, die Geräte bleiben alle "tot" obwohl die Datenpunkte aktualisiert werden???
Das hat mir jetzt keine Ruhe gelassen und ich glaub ich habs gefunden, blöder Schreibfehler, mach mal in Zeile 253 aus den eckigen Klammern, runde und sag dann obs das war..
-
Danke, echt super von Dir. Hab es geändert
else if (SensorState[x] == "dead") { //Wenn Sensor als tot gelistet, aber wieder aktualisiert, Status prüfen CheckBatterys(x); };
sieht nach dem ersten Start gut aus, die HM-Rauchmelder und die HM-Handsender sind noch "dead", aber die senden auch anscheinden sehr selten.
Beobachte es und melde mich dann.
Danke nochmal!
-
Guten Morgen. Also das Skript läuft und alle Geräte konnten erfasst werden. Vielen Dank dafür.
Ich habe bisher nichts mit dem vis Adapter zutun gehabt. Für die Batterieüberwachung habe ich mir jedoch eine vis angelegt (HTML VARIANTE). Gestern habe ich einen neuen Schalter im Conbee2 angelernt und dieser hat für die ersten zwei Stunden erfahrungsgemäß einen falschen Batteriewert. Nach einiger zeigt ist der Batteriewert von 0% auf 100% gesprungen.
Leider wurden die Aktualisierungen bezüglich des hinzugefügten Schalters und dessen Batteriestand nicht übernommen.
Ich habe die HTML-Daten jeweils neu eingefügt. Aber das müsste doch auch automatisch gehen.
Was muss ich in vis einstellen, damit das Skript immer aktuell angezeigt wird.JS-Engine 4.6.17
JS-Controller 3.1.4
VIS 1.2.4
Node.js v12.17.0
NPM 6.14.4
Browser Chromium/Chrom -
@hassoya sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Für die Batterieüberwachung habe ich mir jedoch eine vis angelegt (HTML VARIANTE).
Was genau verstehst Du darunter? Die immer aktualisierte Tabelle generiert das Skript unter "javascript.0.BatterieUeberwachung.OverviewTable". Die vom mir bereitgestellten Vis Widgets greifen auch nur darauf zu.
Leider wurden die Aktualisierungen bezüglich des hinzugefügten Schalters und dessen Batteriestand nicht übernommen.
Das Skript nach dem hinzufügen des Schalters schon mal neugestartet? Wird der Schalter angezeigt aber nicht aktualisiert oder gar nicht angezeigt?
Ich habe die HTML-Daten jeweils neu eingefügt. Aber das müsste doch auch automatisch gehen.
Du kopierst die HTML Daten aus obigem Datenpunkt manuell in Deine Vis? Dann kann das auch nicht gehen, dafür nimmt man ein Binding. Ich hab doch was für Vis bereitgestellt, warum nimmst das nicht zumindest zum spicken?
-
Hab's jetzt anständig importiert. Vielen Dank.
Ich musste einfach nur die Widgets importieren. Dann steht im HTML-Feld auch {javascript.0.BatterieUeberwachung.OverviewTable} drin.
-
@hassoya sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Dann steht im HTML-Feld auch {javascript.0.BatterieUeberwachung.OverviewTable} drin.
Genau. Und das nennt sich Binding.
-
@Saschag sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Danke, echt super von Dir. Hab es geändert
else if (SensorState[x] == "dead") { //Wenn Sensor als tot gelistet, aber wieder aktualisiert, Status prüfen CheckBatterys(x); };
sieht nach dem ersten Start gut aus, die HM-Rauchmelder und die HM-Handsender sind noch "dead", aber die senden auch anscheinden sehr selten.
Beobachte es und melde mich dann.
Danke nochmal!
@Pittini habe das Script vor paar Tagen auf 1.6.2 aktualisiert und seit dem wieder das Problem dass die HM Geräte alle „tot“ bleiben?!?!
Hat’s du die Version 1.6.1 noch mal für mich vielleicht zum testeten?
Danke und Grüße
-
@Saschag sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
habe das Script vor paar Tagen auf 1.6.2 aktualisiert und seit dem wieder das Problem dass die HM Geräte alle „tot“ bleiben?!?!
Hm, seltsam, den damaligen Fehlerfix hab ich in der 1.6.2 ja integriert, kontrollier bitte mal ob die Geräte wirklich aktualisiert haben.
Hat’s du die Version 1.6.1 noch mal für mich vielleicht zum testeten?
Nein, ich heb nicht jede Zwischenversion auf.
-
Danke nochmal!
Habe jetzt mal die DP „beobachtet“ diese werden tatsächlich sehr selten (bin jetzt bei 14Tagen im Script) aktualisiert.
Naja da werde ich wohl leben müssen mit.Grüße
-
@Pittini
Vielen Dank für das tolle Skript. Ich bin auf der 1.6.4 und bei mir funktioniert die dead device Erkennug für HM Geräte ebenfalls nciht. Mal werden alle, mal nur einzelne Devices als dead erkannt. Ich bekomme mindestens alle 180min eine Meldung. -
@passuff sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Vielen Dank für das tolle Skript. Ich bin auf der 1.6.4 und bei mir funktioniert die dead device Erkennug für HM Geräte ebenfalls nciht. Mal werden alle, mal nur einzelne Devices als dead erkannt. Ich bekomme mindestens alle 180min eine Meldung.
Bitte erst mal prüfen ob die Geräte tatsächlich aktualisieren und das Skript das falsch meldet. Wenn die erst sehr spät aktualisieren kann ja das Skript nix für, dann mußt halt die Zeit hochsetzen in den Einstellungen.
-
@Pittini die Geräte sind soweit in Ordnung.
Wenn ich das skript starte bekomme ich alle hm Geräte direkt als dead gelistet. Aktuell sind 180 Minuten konfiguriert. Nach einer gewissen Zeit heilt sich das system bis auf ein HM device. Es ist immer das erste in der Functions Liste. MiHome und shelly funktionieren augenscheinlich... -
@passuff sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
die Geräte sind soweit in Ordnung.
Das will ich ja auch gar nicht anzweifeln, aber die können trotzdem evtl. sehr spät aktualisieren. Was passiert denn wenn Du die Zeit auf 360min hochsetzt?
Wenn ich das skript starte bekomme ich alle hm Geräte direkt als dead gelistet.
HM Geräte werden an sich vom Skript nicht anders behandelt als alle anderen auch. Wenn das Skript das so meldet, wirds so sein, vorallem wenn die anderen ja passen wie Du sagst. Wenn nicht, dann bitte Screenshot aus der Objektliste von so nem Gerät wo ich auch seh wann die letzte Aktualisierung war und ein komplettes Startlog mit eingeschaltetem Logging.
-
@Pittini
Nach näherer Betrachtung muss ich dir Recht geben. Die Batteriestati der HM Geräte (Lowbat false/true) werden nicht so oft aktualisiert wie die eigentlichen Sensorwerte (z.B. Verschluss geöffnet).
D.h. aber auch, die Dead Device Auswertung macht bei HM Geräten m.E. generell auf diese Weise keinen Sinn. Man müsste den Batteriestatus für den Low Bat Alarm und den Sensorwert für die Dead Device Auswertung heranziehen. Wäre es möglich für die Dead Device Auswertung eine zusätzliche Function im Skript zu definieren? Das würde zum einen das Problem mit HM Geräten beheben und zum anderen könnte ich so auch unabhängig von der Batteriespannung andere Geräte überwachen (anstelle oder zusätzlich zum Ping Adapter)EDIT: Einfacher: kann ich die Batterieauswertung ausschalten und nur dead devices aktivieren? Dann würde ich einfach zwei Skripte laufen lassen, wenn sich die globalen Variablen nicht in die Quere kommen....
-
@passuff sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Wäre es möglich für die Dead Device Auswertung eine zusätzliche Function im Skript zu definieren? Das würde zum einen das Problem mit HM Geräten beheben und zum anderen könnte ich so auch unabhängig von der Batteriespannung andere Geräte überwachen (anstelle oder zusätzlich zum Ping Adapter)
Möglich is immer alles, die Frage ist meist obs Sinn macht. In diesem Fall find ich das ne gute Idee und schöne Erweiterung für das Skript. Das is aber auch nix was man "mal schnell so" einbaut. Fazit: Wird kommen kann aber bisserl dauern.
-
@Pittini : Mit dieser Aussage kann ich super leben. Danke noch mal für das tolle Skript. Kostet sicherlich viel Zeit und die ist rar!
-
@Pittini ich habe gerade noch mal einige Devices überprüft. HM ist da wohl sehr eigen. Die Variablen werden oft nur bei einer Änderung aktualisiert. Eine Regelmäßigkeit scheint es zumindest nicht wirklich zu geben, daher macht eine Auswertung der HM Zeitstempel in meinen Augen keinen Sinn. Da HM aber einen "unreach" Status schickt, könnte man auch diesen auswerten.
-
@Pittini Auch Mihome Devices sind nicht so einfach als dead devices zu erkennen. Der Zeitstempel hilft hier alleine nicht weiter, da dieser auch aktualisiert wird, wenn die devices schon nicht mehr reagieren. Das Gateway sendet immer wieder den zuletzt bekannten Wert. Die Spannung kann man allerdings super überwachen.