Fehler im Log...
MichaelSchaaf999 opened this issue · 28 comments
...die ich mir natürlich nicht erklären kann, sonst würde ich nicht fragen:
javascript.0 | 2021-03-23 08:23:02.354 | error | (21433) at processTicksAndRejections (internal/process/task_queues.js:97:5) |
---|---|---|---|
javascript.0 | 2021-03-23 08:23:02.354 | error | (21433) at runMicrotasks () |
javascript.0 | 2021-03-23 08:23:02.354 | error | (21433) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 |
javascript.0 | 2021-03-23 08:23:02.354 | error | (21433) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) |
javascript.0 | 2021-03-23 08:23:02.353 | error | (21433) at /opt/iobroker/node_modules/iobroker.objects-redis/index.js:1:93703 |
javascript.0 | 2021-03-23 08:23:02.353 | error | (21433) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2870:21 |
javascript.0 | 2021-03-23 08:23:02.353 | error | (21433) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1971:38 |
javascript.0 | 2021-03-23 08:23:02.352 | error | (21433) at Object. (script.js.common.BattUeberwachung01:121:13) |
javascript.0 | 2021-03-23 08:23:02.352 | error | (21433) at main (script.js.common.BattUeberwachung01:248:5) |
javascript.0 | 2021-03-23 08:23:02.352 | error | (21433) at CheckNextLowBatt (script.js.common.BattUeberwachung01:382:94) |
javascript.0 | 2021-03-23 08:23:02.351 | error | (21433) Error in callback: TypeError: Cannot read property 'toFixed' of undefined |
Ist sicher mein Fehler: Aber wie entnehme ich das dem Log hier, was falsch ist?
LG
Michael
Irgendwo ist ein leeres Feld was nicht leer sein dürfte. Um das genauer zu bestimmen, bitte logging im Skript aktivieren und mir ein komplettes startlog posten.
okay, aber schon beim Speichern kommen diese Zeilen:
10:06:06.195 | info | javascript.0 (21433) script.js.common.BattUeberwachung01: registered 0 subscriptions and 0 schedules |
---|---|---|
10:06:06.202 | error | javascript.0 (21433) at CheckNextLowBatt (script.js.common.BattUeberwachung01:382:94) |
10:06:06.203 | error | javascript.0 (21433) at main (script.js.common.BattUeberwachung01:248:5) |
10:06:06.203 | error | javascript.0 (21433) at Object. (script.js.common.BattUeberwachung01:121:13) |
Wie finde ich ggfls diese Zeilen?
Logging wäre diese Zeile:
11 const logging = false; //Logging aktivieren?
Wohin schreibt er dann bitte das Logfile?
Ja, wäre diese Zeile. Das Log erscheint da wo es jetzt auch ist, kommt halt nur mehr.
Ach ja, zeig mal bitte auch Deine Einstellungen im Skript.
Skript:
//Grund Einstellungen
const praefix = "javascript.0.BatterieUeberwachung01."; //Grundpfad für Script DPs
const logging = false; //Logging aktivieren?
const FunktionBaseName = "BatterieSpannung_"; //Name der Funktion welche für die Batterieüberwachung genutzt wird
const DeadFunktionName = "DeadCheck"; //Name der Funktion welche für die Batterieüberwachung genutzt wird
const UseTelegram = true; // Sollen Nachrichten via Telegram gesendet werden?
const UseMail = false; // Sollen Nachrichten via Mail gesendet werden?
const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
const AlexaId = ""; // Die Alexa Seriennummer
const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Funktion des Authors, sollte bei Anwendern auf false gesetzt werden.
const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Funktion des Authors, sollte bei Anwendern auf false gesetzt werden.
const UsePopUp = false // Soll PopUp angezeigt werden? Funktion des Authors, sollte bei Anwendern auf false gesetzt werden.
const ProzMeansLive = true; //Zeigen Prozentwerte des Gerätedatenpunktes Batteriekapazität oder restliche Lebensdauer?
let DeadIsAfter = 360; // In Minuten - Zeit nach der ein Gerät als "tot" gewertet wird wenn keine Statusänderung (ts) erfolgte.
const NotifyDeadDevices = true; //Sollen auch "tote" Geräte gemeldet werden?
const DeconzNameFromDP = false; //Nimmt für Deconz den Namen aus dem Datenpunkt statt aus dem übergeordnetem Channel
Log miot Logging=true:
javascript.0 | 2021-03-23 14:37:26.053 | info | (4084) script.js.Benachrichtigungen.A: registered 1 subscription and 0 schedules |
---|---|---|---|
javascript.0 | 2021-03-23 14:37:26.052 | info | (4084) script.js.Benachrichtigungen.A: subscribe: {"pattern":{"id":"deconz.0.Lights.8.on","change":"ne","q":0},"name":"script.js.Benachrichtigungen.A"} |
javascript.0 | 2021-03-23 14:37:26.024 | info | (4084) Start javascript script.js.Benachrichtigungen.A |
javascript.0 | 2021-03-23 14:37:19.741 | info | (4084) Stop script script.js.common.BattUeberwachung01 |
Schaust Du Dir eigentlich auch an was Du hier postest? Was soll ich mit Logs ohne Inhalt? Die wichtige Spalte fehlt.
ja, Mist, sehe es: Wusste nur nicht, wie ich richtig rauskopiere...
javascript.0 | 2021-03-23 14:40:45.191 | error | (4084) at processTicksAndRejections (internal/process/task_queues.js:97:5)
javascript.0 | 2021-03-23 14:40:45.191 | error | (4084) at runMicrotasks ()
javascript.0 | 2021-03-23 14:40:45.191 | error | (4084) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
javascript.0 | 2021-03-23 14:40:45.191 | error | (4084) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
javascript.0 | 2021-03-23 14:40:45.190 | error | (4084) at /opt/iobroker/node_modules/iobroker.objects-redis/index.js:1:93703
javascript.0 | 2021-03-23 14:40:45.190 | error | (4084) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2870:21
javascript.0 | 2021-03-23 14:40:45.190 | error | (4084) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1976:38
javascript.0 | 2021-03-23 14:40:45.190 | error | (4084) at Object. (script.js.common.BattUeberwachung01:121:13)
javascript.0 | 2021-03-23 14:40:45.189 | error | (4084) at main (script.js.common.BattUeberwachung01:248:5)
javascript.0 | 2021-03-23 14:40:45.189 | error | (4084) at CheckNextLowBatt (script.js.common.BattUeberwachung01:382:94)
javascript.0 | 2021-03-23 14:40:45.188 | error | (4084) Error in callback: TypeError: Cannot read property 'toFixed' of undefined
Beim Save des JS:
18:45:43.417 | error | javascript.0 (4084) at CheckNextLowBatt (script.js.common.BattUeberwachung01:382:94) |
---|---|---|
18:45:43.417 | error | javascript.0 (4084) at main (script.js.common.BattUeberwachung01:248:5) |
18:45:43.417 | error | javascript.0 (4084) at Object. (script.js.common.BattUeberwachung01:121:13) |
Und ich hab immer noch kein startlog. Das is lang und fängt an mit:
18:55:16.715 | info | javascript.0 (1314) Start javascript script.js.common.BatterieUeberwachung
-- | -- | --
18:55:16.725 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: starting Batterieüberwachung V.1.7.3
18:55:16.726 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: Reaching FillWelcheFunktionVerwenden
18:55:16.726 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: Found Function BatterieSpannung_30
18:55:16.726 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: Found Function BatterieSpannung_72
18:55:16.726 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: InitialSpannung 0 gesetzt auf 80%= 2.4
18:55:16.726 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: InitialSpannung 1 gesetzt auf 80%= 5.760000000000001
18:55:16.727 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: registered 1 subscription and 0 schedules
18:55:16.771 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: CreateStates fertig!
18:55:16.772 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: Reaching main()
18:55:16.772 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: Reaching init()
18:55:16.772 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: BattMinLimit Value conversion - success
18:55:16.772 | info | javascript.0 (1314) script.js.common.BatterieUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=number getState(Sensor[counter]).val=2.9
Startlog? Dies...
web.0 | 2021-03-23 19:44:17.927 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.152 |
---|---|---|---|
web.0 | 2021-03-23 19:44:16.953 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.152 vis.0 |
web.0 | 2021-03-23 19:44:12.049 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.108 |
host.raspberrypi | 2021-03-23 19:44:06.102 | info | instance system.adapter.mobile-alerts.0 terminated with code 0 (NO_ERROR) |
web.0 | 2021-03-23 19:43:13.867 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.108 vis.0 |
host.raspberrypi | 2021-03-23 19:42:00.048 | info | instance system.adapter.mobile-alerts.0 started with pid 16587 |
web.0 | 2021-03-23 19:41:52.162 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.108 |
web.0 | 2021-03-23 19:41:52.162 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.108 |
web.0 | 2021-03-23 19:41:52.160 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.108 |
web.0 | 2021-03-23 19:41:42.073 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.108 vis.0 |
web.0 | 2021-03-23 19:41:42.063 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.108 vis.0 |
web.0 | 2021-03-23 19:41:42.060 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.108 vis.0 |
web.0 | 2021-03-23 19:40:56.799 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.80 |
web.0 | 2021-03-23 19:40:55.624 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.80 vis.0 |
web.0 | 2021-03-23 19:40:43.495 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.108 |
web.0 | 2021-03-23 19:40:33.425 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.108 vis.0 |
host.raspberrypi | 2021-03-23 19:40:08.393 | info | instance system.adapter.dwd.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) |
dwd.0 | 2021-03-23 19:40:07.840 | info | (16504) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason |
dwd.0 | 2021-03-23 19:40:02.114 | info | (16504) starting. Version 2.7.5 in /opt/iobroker/node_modules/iobroker.dwd, node: v12.20.0, js-controller: 3.1.6 |
host.raspberrypi | 2021-03-23 19:40:00.077 | info | instance system.adapter.dwd.0 started with pid 16504 |
web.0 | 2021-03-23 19:38:17.608 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.152 |
web.0 | 2021-03-23 19:38:16.865 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.152 vis.0 |
web.0 | 2021-03-23 19:36:02.928 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.108 |
web.0 | 2021-03-23 19:36:02.172 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.108 vis.0 |
host.raspberrypi | 2021-03-23 19:35:45.828 | info | instance system.adapter.mobile-alerts.0 terminated with code 0 (NO_ERROR) |
host.raspberrypi | 2021-03-23 19:35:00.087 | info | instance system.adapter.mobile-alerts.0 started with pid 16317 |
web.0 | 2021-03-23 19:34:56.469 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.80 |
web.0 | 2021-03-23 19:34:55.501 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.80 vis.0 |
web.0 | 2021-03-23 19:32:20.150 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.108 vis.0 |
web.0 | 2021-03-23 19:32:17.595 | info | (1770) ==>Connected system.user.admin from ::ffff:192.168.178.152 |
web.0 | 2021-03-23 19:32:16.756 | info | (1770) <==Disconnect system.user.admin from ::ffff:192.168.178.152 vis.0 |
javascript.0 | 2021-03-23 19:32:07.941 | error | (4084) at processTicksAndRejections (internal/process/task_queues.js:97:5) |
javascript.0 | 2021-03-23 19:32:07.941 | error | (4084) at runMicrotasks () |
javascript.0 | 2021-03-23 19:32:07.941 | error | (4084) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 |
javascript.0 | 2021-03-23 19:32:07.940 | error | (4084) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) |
javascript.0 | 2021-03-23 19:32:07.939 | error | (4084) at /opt/iobroker/node_modules/iobroker.objects-redis/index.js:1:93703 |
javascript.0 | 2021-03-23 19:32:07.939 | error | (4084) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2870:21 |
javascript.0 | 2021-03-23 19:32:07.938 | error | (4084) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1976:38 |
javascript.0 | 2021-03-23 19:32:07.937 | error | (4084) at Object. (script.js.common.BattUeberwachung01:121:13) |
javascript.0 | 2021-03-23 19:32:07.937 | error | (4084) at main (script.js.common.BattUeberwachung01:248:5) |
javascript.0 | 2021-03-23 19:32:07.936 | error | (4084) at CheckNextLowBatt (script.js.common.BattUeberwachung01:382:94) |
javascript.0 | 2021-03-23 19:32:07.935 | error | (4084) Error in callback: TypeError: Cannot read property 'toFixed' of undefined |
javascript.0 | 2021-03-23 19:32:07.932 | info | (4084) script.js.common.BattUeberwachung01: Reaching CheckNextLowBatt() |
javascript.0 | 2021-03-23 19:32:07.931 | info | (4084) script.js.common.BattUeberwachung01: Alle Batterien ok, Lastmessage gelöscht |
javascript.0 | 2021-03-23 19:32:07.930 | info | (4084) script.js.common.BattUeberwachung01: Reaching CheckAllBatterysOk - Lastmessage= |
javascript.0 | 2021-03-23 19:32:07.929 | info | (4084) script.js.common.BattUeberwachung01: Reaching CheckAllBatterys() found 0 Devices |
javascript.0 | 2021-03-23 19:32:07.929 | info | (4084) script.js.common.BattUeberwachung01: Reaching CheckDeadBatt() |
javascript.0 | 2021-03-23 19:32:07.928 | info | (4084) script.js.common.BattUeberwachung01: Reaching init() |
javascript.0 | 2021-03-23 19:32:07.927 | info | (4084) script.js.common.BattUeberwachung01: Reaching main() |
javascript.0 | 2021-03-23 19:32:07.927 | info | (4084) script.js.common.BattUeberwachung01: CreateStates fertig! |
javascript.0 | 2021-03-23 19:32:07.921 | info | (4084) script.js.common.BattUeberwachung01: registered 0 subscriptions and 0 schedules |
javascript.0 | 2021-03-23 19:32:07.920 | info | (4084) script.js.common.BattUeberwachung01: Reaching FillWelcheFunktionVerwenden |
javascript.0 | 2021-03-23 19:32:07.919 | info | (4084) script.js.common.BattUeberwachung01: starting Batterieüberwachung V.1.7.0 |
javascript.0 | 2021-03-23 19:32:07.890 | info | (4084) Start javascript script.js.common.BattUeberwachung01 |
Zeig mir mal nen Screenshot von der Objektliste wie und wo Du die Funktion eingetragen hast und die Raumzuordung dazu. Laut Log hast Du weder eine Funktion definiert, noch gesetzt.
Sorry für meine unbeholfene Art, aber ich bin nicht so der JS Entwickler.
Musst Du auch nicht sein, es würde genügen sich an die Anleitung zu halten. Was soll die Funktion "checkbattery" sein? Wo ist die Funktion mit der Batteriespannung deklariert? Warum zeigst Du mir die Deklarationen, aber nicht die Zuordnung derselben in der Objektliste wie erbeten?
Sorry, was die Objektliste ist, wie man ein Log postet, etc. sollte man schon wissen, sonst wirds echt zäh.
// was die Objektliste ist,
ja, bestätigt, weiß ich
// wie man ein Log postet
weiß ich nicht so genau: Und dass da die wichtigste Spalte fehlte, hab ich in der Eile übersehen. Ich dachte "markieren und dann mit copy und paste einfügen" würde reichen. Mein Fehler.
// Wo ist die Funktion mit der Batteriespannung deklariert?
Mit Funktionen steh ich - noch - auf Kriegsfuß: Wo muss sie denn deklariert werden bitte?
// nicht die Zuordnung derselben in der Objektliste wie erbeten
Dann meinst Du dieses?
Sorry, dass ich so konfus bin.
Was muss denn da in die Columns Raum und Funktion eingetragen werden?
Wenn ich EIN Beispiel mal richtig habe, dann kann ich das ja verstehen und dann auch auf andere Objekte übertragen.
Sorry, ich mach jetzt hier dicht. Es steht alles ganz genau in der Anleitung, inkl. Screenshots. Lies die Anleitung. Dann lies die Anleitung nochmal. Dann mach was drinsteht. Klappts dann immer noch nicht, kannste Dich gern nochmal melden.
Schwere Geburt.
Deine Anleitung ist schon nicht schlecht, aber doch stellenweise noch verbesserungsfähig. Wenn Du magst, schreib ich Dir mal eine, die nix auslässt.
Nun bin ich seeeehr viel weiter, es ergeben sich nur noch wenige Fragen:
zu 1: Warum steht da "null"?
zu 2: Das ist quasi der "Header" der ID. Hinter "...Sensors" kommt ja noch bspw "10" und "SmokeSensor02".
Wie kann man das bitte in der Tabelle zeigen? Siehe auch "zu 3:".
zu 3: Diese Column heisst "Sensor Name", sagt aber leider nur "information" - dieser Begriff steht so gar
nicht in der Objektliste. Was kann man tun? Muss ich die Spalten breiter machen - IN Deinem Script?
Feintuning, ich weiß.
zu 4: Wenn man Sensor Name hätte, dann könnte man auch schauen, welches Objekt keinem Raum zugewiesen ist.
zu 5: Ich habe gar keine Eigenschaften betreffend Spannung bzw "Volt". Habe da meine "value.battery" der Funktion
"BatterieSpannung_30" zugewiesen, bei mir ist das aber "%". So stehen meine "87%" bei (7) in diesem Objekt in
Deiner Spalte "% live". Schön, Frage nur: Rechnest Du das mehr oder weniger automatisch um?
Ja, Deine Umrechnungserläuterungen in der Anleitung habe ich gelesen.
Da ich aber meinen Datenpunkt mit den 87% der Funktion "BatterieSpannung_30" zugewiesen habe, grübele
ich gerade, wie Du damit umgehen kannst.
- Weil Du evtl. den Skriptpfad geändert, das Vis aber nicht dementsprechend angepasst hast?
- Skript Zeile 22
- siehe .2
- siehe .2
- Das Skript erkennt % anhand der Unit % und geht von lowbat aus wenn boolsche Werte (true/false) kommen. Alles andere wird als Spannung gewertet, somit sind alle Varianten abgedeckt. Und ja, es wird dann entsprechend rückwärts gerechnet bei % und bei lowbat wird nur zwischen 0 und 100% unterschieden.
Zu 1: Nicht den Pfad nicht angepasst, war einfach ein "falscher" Datenpunkt
Zu 2: Danke: Ich nehme mal an, Du meintest Skript Zeile "24":
"24 const DeconzNameFromDP = true; //Nimmt für Deconz den Namen aus dem Datenpunkt statt aus dem
übergeordnetem Channel" - hab ich jetzt auf "true" gesetzt.
Zu 3: Wie kann ich Spalten breiter machen? Da finde ich nirgends eine Info.
Zu 4: Erl.
Zu 5: Danke!
Wie oft läuft das Script? Oder ist das Event-getriggert? Auf die Batterie-Spannungen oder %e beispielsweise?
- Die Spalten sollten sich autom. anpassen sobald Du das ganze Widget verbreiterst.
Das Skript läuft Eventgetriggert was die Batts angeht. DeadCheck läuft minütlich.
Danke sehr!
Ja, sobald man das Widget verbreitert, werden auch die Spalten breiter. Ungewöhnlich, finde ich: Automatische Spaltenbreiten, die sich nicht am Inhalt orientieren oder keine Möglichkeit der Spaltenbreiten-Definition - aber gut so.
Bei "DeadCheck" hab ich leider noch nicht verstanden, Du schreibst "hiermit könnt Ihr EINEN anderen Datenpunkt innerhalb der gleichen Channelroot zur Ausfallüberwachung hinzufügen" - was verstehst Du hier bitte unter "gleiche Channelroot"? Ich HABE die Meldung, dass mein SmartSwitch02 "dead" sein soll, der erfreut sich aber bester Gesundheit.
Bei den meisten Geräten wird der Batteriedatenpunkt alle x Stunden mal aktualisiert, somit kann man daraus ableiten ob das Gerät lebt oder nicht. Einige, speziell HM Geräte, aktualisieren den Batt DP aber so selten dass das Skript annimmt sie wären tot. Deswegen gibts den 2ten "DeadCheck", damit kannst Du einen anderen Datenpunkt des Geräts für den DeadCheck bestimmen, z.B. Buttonpressed, dann wird da nochmal geguggt ob der auch nicht aktualisiert wurde und erst dann "tot" gemeldet.
Danke für die Erläuterung zum 2ten DeadCheck.
Aber: Bei "DeadCheck" hab ich leider noch ein Gedankenproblem mit "hiermit könnt Ihr EINEN anderen Datenpunkt innerhalb der gleichen Channelroot zur Ausfallüberwachung hinzufügen" - was verstehst Du hier bitte unter "gleiche Channelroot"?
Und: Wenn ich hier den indicator.reachable mit der Funktion DeadCheck belege wie im Bild, ist das erstmal richtig? Und dann müsste ich für den 2ten DeadCheck bspw den Punkt sensor.motion mit DeadCheck belegen (ist ein Bewegungsmelder)? Welchen Punkt nimmt denn dann die Funktion als ersten und welchen als zweiten?
Also ich habe das so verstanden:
"gleiche Channelroot" -> In deinem Beispiel sind alle Objekt im Ordner 6 innerhalb einer Channelroot. Heißt du kannst die Deadcheck funktion z. B. auf reachable legen, wie du es auch gemacht hast. Einfach ein Datenpunkt auswählen, das öfters mal aktualisiert wird. Wenn du mit der Maus über den Wert ganz rechts fährst siehst du ja, wann der Punkt das letzte mal aktualisiert wurde. Bei meinen HomeMatic Geräten gibt es z. B. Datenpunkte innerhalb eines Gerätes, die seit Monaten nicht aktualisiert wurden. Die eignen sich natürlich nicht für den DeadCheck.
Du brauchst den DeadCheck nicht 2x belegen, 1x wie in deinem Beispiel reicht aus. Die Funktion BatterieSpannung_30 prüft ja und als 2. Prüfung hast du die Funktion DeadDeck beim Datenpunkt reachable.
Zusammenfassung: Nimm für den DeadDeck einen Datenpunkt, der möglichst aktuell ist und auch aktuell gehalten wird.
Danke, dann sollte soweit alles gut sein - exzellenter Service!
Zwei Fragen noch: Gibt es eine Variable oder einen Datenpunkt, die oder den ich mit anzeigen könnte, um zu sehen, wann das Script zuletzt gearbeitet hat? Oder müsste ich die oder den selber einbauen?
Und: "Bei meinen HomeMatic Geräten gibt es z. B. Datenpunkte innerhalb eines Gerätes, die seit Monaten nicht aktualisiert wurden" - verstanden, mein SmartSwitch02 sieht so aus:
Batterie ist okay, aber dies Gerät fällt unter "He's dead, Jim": Letzte Aktualisierung (und somit Benutzung dieses Switch" war 2021-03-27T20:51:08.542Z. Also gestern Abend.
Welche Zeitspanne nimmst Du, um Geräte im DeadCheck durchfallen zu lassen? Dieser Switch ist dann für den DeadCheck wohl eher ungeeignet, richtig?
Danke, dann sollte soweit alles gut sein - exzellenter Service!
Zwei Fragen noch: Gibt es eine Variable oder einen Datenpunkt, die oder den ich mit anzeigen könnte, um zu sehen, wann das Script zuletzt gearbeitet hat? Oder müsste ich die oder den selber einbauen?
Und: "Bei meinen HomeMatic Geräten gibt es z. B. Datenpunkte innerhalb eines Gerätes, die seit Monaten nicht aktualisiert wurden" - verstanden, mein SmartSwitch02 sieht so aus:
Batterie ist okay, aber dies Gerät fällt unter "He's dead, Jim": Letzte Aktualisierung (und somit Benutzung dieses Switch" war 2021-03-27T20:51:08.542Z. Also gestern Abend.
Welche Zeitspanne nimmst Du, um Geräte im DeadCheck durchfallen zu lassen? Dieser Switch ist dann für den DeadCheck wohl eher ungeeignet, richtig?
Danke :) Schau mal auf die Datenounkt Javascript->BatterieUeberwachung->AllBatterysOk der ist bei mir immer recht aktuell. Wäre doch ein guter Indikator die Aktualisierung von diesem zu nehmen.
Ich habe die Zeitspanne vom Deadcheck hoch gesetzt, der Standard war mir "zu knapp". Im Script, Zeile 20 (angegeben in Minuten, in meinem Fall 2 Tage):
let DeadIsAfter = 2880;
ICH habe zu danken.
Datenpunkt AllBatterysOk: Das ist aber ein State, kein Datum...
Ich hab den dann aber jetzt mal auf DeadCheck gesetzt - so hattest Du das gemeint?
Zeitspanne vom DeadCheck hoch gesetzt: Da hab ich dann jetzt Deinen Wert von 2880 eingetragen.
Vielen Dank!
p.s.: Ist das so richtig? Zwei DeadChecks?
Der bislang als "He's dead, Jim" erkannte SmartSwitch02 lastupdated ist jetzt nicht mehr Dead.
Ok, du hast da jetzt was ganz falsch verstanden. Deine Frage war
Gibt es eine Variable oder einen Datenpunkt, die oder den ich mit anzeigen könnte, um zu sehen, wann das Script zuletzt gearbeitet hat? Oder müsste ich die oder den selber einbauen?
Darauf kam meine Antwort mit der Aktualisierung vom Datenpunkt AllBatterysOK als Indikator, wann das Script gelaufen ist. Ich weiß ja nicht, wofür du den Zeitpunkt brauchst. Aber da bitte nicht den DeadCheck drauf legen. Nur den DeadCheck benutzen, wie ich es oben geschrieben habe :)
Datenpunkt AllBatterysOk: Das ist aber ein State, kein Datum...
Fahr mal bei diesem Datenpunkt ganz rechts mit der Maus über den Wert, lass die Maus los und warte. Dann öffnet sich so ein kleines Fenster, da die anzeigt, wann der Datenpunkt geändert und aktualisiert wurde.
Bei dir ist doch soweit nun alles in Ordnung, es läuft alles, mach dir keinen Kopf :)
DeadCheck bei AllBatterysOK ist nun entfernt, danke für den Hinweis.
Aktualisierung, "Ich weiß ja nicht, wofür du den Zeitpunkt brauchst": Nun, so ein wenig bin ich ja Kontrollfreak.
Und wenn ich den Zeitpunkt mit anzeigen kann, dann hat man ja auch einen Hinweis darauf, ob das Script auch läuft und nicht vielleicht aus Versehen auch gestoppt und nicht wieder gestartet wurde.
Und dafür nehm ich dann den AllBatterysOK.