NEWS
Gelöst! Logdatenerstellung Script Fehler
-
Hallo in die Runde,
bin in den letzten 2 Wochen von Raspi auf Cubox umgestiegen was alles super geklappt hat.
Bis auf ein Script und dessen Verwurzelungen in anderen Scripten.
Von Bluefox wurde mal ein Script ins Forum gestellt wo man seine eigene Logdaten erstellen kann.
createState('Logdatenerstellung.Log', ''); function getTimeAsString(d) { var date = d || new Date(); return date.getFullYear() + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + ('0' + date.getDate()).slice(-2) + ' --- '+ ('0' + date.getHours()).slice(-2) + ':' + ('0' + date.getMinutes()).slice(-2) + ':' + ('0' + date.getSeconds()).slice(-2); } function toLog(text, addTimestamp) { console.log(text); var lines = getState('Logdatenerstellung.Log').val; lines = lines.split(" "); if (addTimestamp) { lines.push(getTimeAsString() + ' --- ' + text); } else { lines.push(text); } if (lines.length > 33) lines.splice(0,1); setState('Logdatenerstellung.Log', lines.join(" "), true); }Das tolog benutze ich jetzt in mehreren Scripten z.B. in diesem
on({ id: "hm-rpc.0.LEQ1174762.1.STATE"/*Keller Fensterkontakt Hinten:1.STATE*/, change: "ne", val: true, logic: "and" }, function (obj) { Absenktemperatur(); }); function Absenktemperatur() { toLog('Keller Absenktemperatur eingestellt...Raumfenster wurde geöffnet', true); setState("hm-rpc.0.LEQ0998154.2.MANU_MODE"/*Keller Wandthermostat:2.MANU_MODE*/, 5); setState("hm-rpc.0.MEQ0800941.4.MANU_MODE"/*Keller Heizkörperthermostat:4.MANU_MODE*/, 5); } on({ id: "hm-rpc.0.LEQ1174762.1.STATE"/*Keller Fensterkontakt Hinten:1.STATE*/, change: "ne", val: false, logic: "and" }, function (obj) { Modus_Hand_10(); }); function Modus_Hand_10() { toLog('Keller Raumtemperatur eingestellt...Raumfenster wurde geschlossen', true); setState("hm-rpc.0.LEQ0998154.2.MANU_MODE"/*Keller Wandthermostat:2.MANU_MODE*/, 10); setState("hm-rpc.0.MEQ0800941.4.MANU_MODE"/*Keller Heizkörperthermostat:4.MANU_MODE*/, 10); }Öffne ich jetzt das Fenster kommt folgende Fehlermeldung
TypeError: 2016-07-03 14:39:44.233 error at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:215:17) TypeError: 2016-07-03 14:39:44.233 error at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:537:17) TypeError: 2016-07-03 14:39:44.233 error at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2644:28) TypeError: 2016-07-03 14:39:44.233 error at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2644:28) TypeError: 2016-07-03 14:39:44.233 error at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2650:45) TypeError: 2016-07-03 14:39:44.233 error at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:541:48 TypeError: 2016-07-03 14:39:44.233 error at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1207:48) TypeError: 2016-07-03 14:39:44.233 error at Object. (script.js.Keller.Absenktemperatur:376:5) TypeError: 2016-07-03 14:39:44.233 error at Absenktemperatur (script.js.Keller.Absenktemperatur:381:5) TypeError: 2016-07-03 14:39:44.233 error at toLog (script.js.Keller.Absenktemperatur:201:18) TypeError: 2016-07-03 14:39:44.233 error Cannot read property 'split' of undefined message 2016-07-03 14:39:44.220 error hm-rpc.0.LEQ1174762.1.STATE [object Object] Cannot read property 'split' of undefinedKann mir da jemand weiterhelfen?
Sebastian
-
Hallo paul53,
das toLog ist aber nur in diesem Script aktiv , in den anderen ist es auskommentiert.
Kommentiere ich es im Keller Script auch aus funktioniert alles tadellos.
Auch das Script für die Logdatenerstellung läuft vor sich hin, solange kein anderes Script mit toLog beschrieben ist und es zur Auslösung kommt wie zum z.B. durch den Datenpunkt Kellerfenster.
Wenn ich mir die Fehlermeldungen anschaue kommt es mir so vor das vielleicht irgendein node-module vielleicht nicht richtig installiert wurde was beim Raspi damals in Ordnung war.
Sebastian
-
…das toLog ist aber nur in diesem Script aktiv , in den anderen ist es auskommentiert.
Kommentiere ich es im Keller Script auch aus funktioniert alles tadellos. `
Dann ist vielleicht früher etwas (ein Objekt) in das Log geraten ? Es darf nur aus mehreren Textzeilen bestehen. -
Aber die Scripte wurden original vom Raspi übernommen wo sie alle funktionierten.
Das ist ja das merkwürdige an der Geschichte…wenn Änderungen stattgefunden hätten wüsste ich wo ich suchen muß.
Der Raspi lief noch mit node 0.10.22 Raspbian Wheezy und die Cubox mit dem neusten was gibt..siehe Signatur.
Nur dort sind Unterschiede.
Sebastian
-
Die Fehlermeldung ist doch eindeutig:
Cannot read property 'split' of undefinedAlles andere sind Folgefehler.
Schreibe mal die Log-Variable neu, indem Du folgende Zeile an Dein Script anhängst, damit sie beim Skriptstart ausgeführt wird:
setState('Logdatenerstellung.Log', "Logzeile 1 "), true);Anschließend die Zeile auskommentieren oder löschen.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden