NEWS
[Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe
-
@pittini Nun sind nur noch Geräte mit einem Zahlenwert in der Liste
javascript.0 2021-10-17 11:16:13.928 error at processImmediate (internal/timers.js:463:21) javascript.0 2021-10-17 11:16:13.927 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1988:38) javascript.0 2021-10-17 11:16:13.927 error at Object.<anonymous> (script.js.common.Sicherheit.Sensoren.Andere.Batteriestandsüberwachung:110:13) javascript.0 2021-10-17 11:16:13.927 error at main (script.js.common.Sicherheit.Sensoren.Andere.Batteriestandsüberwachung:252:5) javascript.0 2021-10-17 11:16:13.926 error at MakeTable (script.js.common.Sicherheit.Sensoren.Andere.Batteriestandsüberwachung:587:75) javascript.0 2021-10-17 11:16:13.916 error Error in callback: TypeError: Cannot read property 'toFixed' of undefined
Das ist nur ein Beispiel aber um sie alle zu zeigen sind es viel zu viele... Ist auch erst seit dem Update auf die 1.8.2
-
@dragon sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
@pittini Welche Funktion nutze ich denn bei Geräten die einen BatteryLow Datenpunkt haben? Oder geht bei dem Skript noch nicht?
Anleitung .1: Dies gilt auch für Geräte welche nur Lowbat oder % ausgeben, auch diese haben ja irgendeine, klar definierte, Batteriespannung.
-
@dragon sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Nun sind nur noch Geräte mit einem Zahlenwert in der Liste
Muß nich nur Zahlenwert sein, darf auch % Wert sein oder Boolscher Wert (true/false) bei lowbat Datenpunkten.
Die Meldung:
2021-10-17 11:16:13.926 error at MakeTable (script.js.common.Sicherheit.Sensoren.Andere.Batteriestandsüberwachung:587:75)
weist ja auf Zeile 587 und genau da wird die IstSpannung ausgegeben, welche offenbar bei irgendeinem DAtenpunkt immer noch leer ist, grad nach neuinstallationen ist das typisch wenn z.B. ein Sensor nich richtig gepairt ist und keine Daten ankommen etc. Bitte kontrollier nochmal jeden Datenpunkt dem Du die Funktion BatterieSpannung_xx gegeben hast, ob da auch was drinsteht. Hilft das nicht, kannste mal das logging im Skript aktivieren und hier posten, evtl. seh ich dann mehr.
-
@pittini sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
@dominik-f sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Wäre es vielleicht möglich, dass nur beim erstmaligen unterschreiten des Wertes eine Meldung verschickt wird?
Wird ja so gemacht, nur wenn der Wert danach wieder hochgeht, und dann wieder runter isses ja wieder ein erstmaliges Unterschreiten.
nicht ganz, der Wert hat sich ja die ganze Zeit unter dem Limit von 2,2V bewegt, das Limit war also die ganze Zeit unterschritten. Oder hab ich da einen Denkfehler?
-
@dominik-f
Versteh was Du meinst, das Problem ist, das ich den alten Wert ja nicht mehr hab. D.h. ich müßte den iwo zwischenspeichern und dann mit dem neuen Wert vergleichen. Aktuell wird gegen das Limit geprüft, daher das Verhalten. Relevant ist Zeile 439, evtl. magst ja selber bisserl "spielen". Ansonsten, mach bitte nen Git Issue, damit ichs nicht vergess.if (Sensor[x].value <= Sensor[x].batteryMinLimit) { //Wenn Min. Wert unterschritten
-
@pittini Hat einiges an Nerven gekostet, aber es gab tatsächlich Probleme mit einem Zigbee Gerät. Das war der Auslöser. Vielen Dank!
-
@pittini
Ich danke dir, habe ein Issue erstellt. -
Hallo! Vielen Dank für die tolle Visualisierung. Alle meine Geräte werden zurzeit rot angezeigt obwohl die Prozentanteil für die Batterie noch über 80% liegt (teilweise 100%). Was mache ich falsch? Vielen Dank im Voraus!
-
-
@kgb sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
Vielen Dank für die tolle Visualisierung. Alle meine Geräte werden zurzeit rot angezeigt obwohl die Prozentanteil für die Batterie noch über 80% liegt (teilweise 100%). Was mache ich falsch? Vielen Dank im Voraus!
Der shelly ganz unten im Screenshot hat ne undefined Spannung, korrigier das mal, kann sein dass da das Problem liegt.
-
@pittini ich habe das Gerät aus der Aufzählung gelöscht, hat aber leider nicht geholfen.
Was ich aber gemerkt habe, die Auswertung findet nur in der erste Zeile statt. Ich habe mehrer Geräte gelöscht und wieder hinzugefügt, aber jedes Mal ist das so, dass ab der 2 Zeile alle Geräte rot sind. -
@pittini P.S.: ich habe auch ehrlich gesagt nicht ganz verstanden wie es mit der Messung von Volt funktioniert.. kann man diese Funktion ausschalten, damit einfach nur auf Prozente der Batterieladung geschaut wird? Vielleicht, liegt das Problem auch da..
-
@kgb sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:
@pittini P.S.: ich habe auch ehrlich gesagt nicht ganz verstanden wie es mit der Messung von Volt funktioniert.. kann man diese Funktion ausschalten, damit einfach nur auf Prozente der Batterieladung geschaut wird? Vielleicht, liegt das Problem auch da..
Prozente sind ja nur ne andere Angabe der Spannung, also nein, kann man nicht ausschalten, braucht man nicht ausschalten. Zeig doch mal nen Screenshot aus der Objektliste wo ich seh wie Du die Batteriespannungsfunktion setzt und wo. Und falls Du Änderungen an den Skriptsettings gemacht hast, bitte auch davon nen Auszug.
Wenn Du Geräte aus den Aufzählungen dazunimmst oder raus löschst, mußte den JS Controller danach neustarten damit der das neu einliest. Haste das gemacht? -
@pittini hier sind ein paar Screenshots. Danke für deine Unterstützung!!! ![IMG_3269.jpeg](/assets/uploads/files/1636999083 169-img_3269-resized.jpeg)
-
-
@kgb gemäß Script gibt es eine Variable "FunktionBaseName" (vorbelegt meine ich mit "BatterieSpannung_") diese muss dann für die jeweiligen Batteriespannungen verwendet werden.
Beispiele:
Geräte mit 3V Batteriespannung müssen in die Funktion "BatterieSpannung_30"
Geräte mit 1,5V Batteriespannung müssen in die Funktion "BatterieSpannung_15"
usw.Aus dem Zahlenwert wird ggf. die Sollspannung berechnet. Bei dir sind es 1V, was bei 50% dann eben nur 0,5V Ist-Spannung ergibt, also quasi 0.
-
@kgb Also zum einen ist der Raum falsch zugeordnet, das ganze Gerät ist in diesem Raum und nicht nur ein Datenpunkt. Zum anderen, wenn Du Bat_10 verwendest, mußte das auch in den Einstellungen im Skript anpassen. Wobei ich jetzt weder ein Gerät kenne, noch ne Batterie mit 1V. Siehe auch was @Chrunchy völlig korrekt anmerkte.
-
Hallo,
Version 1.8.2
iobroker alles auf Stand, JavaScript 5.2.8alles nach Anweisung eingebaut. Es kommen aber zunächst folgende Fehlermeldungen:
javascript.0 2021-11-16 11:19:08.110 error at CheckNextLowBatt (script.js.tmpNoRun.**Batterieüberwachung:379**:97) javascript.0 2021-11-16 11:19:08.109 error Error in callback: TypeError: Cannot read property 'toFixed' of undefined javascript.0 2021-11-16 11:20:37.885 error at MakeTable (script.js.tmpNoRun.**Batterieüberwachung:578**:105) javascript.0 2021-11-16 11:20:37.884 error Error in callback: TypeError: Cannot read property 'common' of null javascript.0 2021-11-16 11:22:06.519 error at MakeTable (script.js.tmpNoRun.**Batterieüberwachung:587**:75) javascript.0 2021-11-16 11:22:06.519 error Error in callback: TypeError: Cannot read property 'toFixed' of undefined
Aktiviert (BatterieSpannung_30) ist zunächst nur ein homematic Heizkörperventil:
Ich habe hoffentlich alle Kommentare gelesen aber nichts für mich auffälliges entdeckt.
Evtl. hat jmd, eine Idee bevor ich anfange zu debuggen?Gruß TS
-
@kgw Na, das kann nicht gehen. Du hast die Funktion dem ganzen Gerät zugeordnet, das ist sinnfrei. Die Funktion ist nur einem Datenpunkt zuzuweisen, der Raum dem ganzen Gerät, steht auch explizit so in der Anleitung inkl. Screenshot.
-
@pittini Herzlichen Dank!
im Eifer des Gefechts total übersehen! Wie üblich: Lesen hilft.
Werde ich heute abend gleich checken.Heute Abend:
Kaum macht man's richtig...