NEWS
JS Adapter/Scriptfehler
-
Ich bekomme bei vielen meiner Scripte Fehler und ich weiß nicht warum.
Sie sind teilweise copy/paste vorlagen aus dem Forum die ja anscheinend bei allen funktionieren. Jedenfalls habe ich noch keine Beiträge gesehen wo es Fehler gibt.
Teilweise bekomme ich auch bei eigene Scripte Fehler aber die liefen früher mal.
In den Logs bekomme ich folgende Ausgaben:
javascript.0 2018-06-10 13:38:30.804 error at ContextifyScript.Script.runInContext (vm.js:35:29) javascript.0 2018-06-10 13:38:30.804 error at script.js.User.Verschiedene.Backup:417:1 javascript.0 2018-06-10 13:38:30.804 error at $ (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:554:34) javascript.0 2018-06-10 13:38:30.804 error at Object.getObjectEnumsSync (/opt/iobroker/node_modules/iobroker.javascript/lib/eventObj.js:20:38) javascript.0 2018-06-10 13:38:30.803 error ReferenceError: context is not defined javascript.0 2018-06-10 13:38:30.803 error ^ javascript.0 2018-06-10 13:38:30.803 error for (let i = 0, l = context.enums.length; i < l; i++) { javascript.0 2018-06-10 13:38:30.803 error script.js.User.Verschiedene.Backup: /opt/iobroker/node_modules/iobroker.javascript/lib/eventObj.js:20
Hier mal das Servicemeldung Script:
! ````
javascript.0 2018-06-10 13:42:25.882 error at ContextifyScript.Script.runInContext (vm.js:35:29)
javascript.0 2018-06-10 13:42:25.882 error at script.js.User.Homematic.Servicemeldung:8:13
javascript.0 2018-06-10 13:42:25.882 error at getIdByName (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1398:24)
javascript.0 2018-06-10 13:42:25.882 error ReferenceError: names is not defined
javascript.0 2018-06-10 13:42:25.882 error ^
javascript.0 2018-06-10 13:42:25.881 error return names[name];
javascript.0 2018-06-10 13:42:25.881 error script.js.User.Homematic.Servicemeldung: /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1398
javascript.0 2018-06-10 13:42:25.877 info Start javascript script.js.User.Homematic.Servicemeldung
javascript.0 2018-06-10 13:42:25.874 error at ContextifyScript.Script.runInContext (vm.js:35:29)
javascript.0 2018-06-10 13:42:25.874 error at script.js.User.Homematic.Servicemeldung:8:13
javascript.0 2018-06-10 13:42:25.873 error at getIdByName (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1398:24)
javascript.0 2018-06-10 13:42:25.873 error ReferenceError: names is not defined
javascript.0 2018-06-10 13:42:25.873 error ^
javascript.0 2018-06-10 13:42:25.873 error return names[name];
javascript.0 2018-06-10 13:42:25.872 error script.js.User.Homematic.Servicemeldung: /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1398>! ```` // Servicemeldungen in Datei loggen und Anzahl in einem Datenpunkt erfassen // Datenpunkt für anzahl der Servicemeldungen var datenpunkt = "zählen_ServiceMeldungen.Fehler"; // Pfad und Dateiname zum loggen var logdat = "/opt/iobroker/iobroker-data/servicemeldungen.log"; >! createState(datenpunkt, 0); var cntid = getIdByName(datenpunkt); >! on(/UNREACH|LOWBAT|CONFIG_PENDING|FAULT_REPORTING$/, function(dp) { var val = dp.state.val; var old = dp.oldState.val; if (val != old) flog(dp.common.name + ": " + val); var cnt = getState(cntid).val; if(val && !old) cnt++; else if (!val && old) cnt--; if (cnt < 1 ) { cnt = 0; } setState(cntid, cnt); }); >! // Logging in Datei >! var fs = require('fs'); var fn = logdat; >! function flog(txt) { var ts = new Date(); ts = formatDate(ts, "YYYY-MM-DD hh:mm:ss.sss") + " \t"; fs.appendFileSync(fn, ts + txt + "\n"); }
Irgendwas muss da nicht stimmen
-
Welche Version vom JavaScript? Dieser Fehler trat mal bei einem bestimmten github Stand des Adapters auf. Wenn du, warum auch immer sts d vom github hattest dann bitte Update oder mach downgrade auf die Version von npm/latest
-
Installierte Version: 3.7.0
nach einem Downgrade auf 3.6.4 geht es wieder