NEWS
[gelöst] JS Engine Absturz
-
Hi
Ich habe das WiffiPump Script etwas erweitern wollen und bin in meiner "naiven" Art davon ausgegangen, dass folgendes reicht:
var idJson = "parser.0.WiffiPump"; var state1 = "javascript.0.WiffiPump.T1"; var state2 = "javascript.0.WiffiPump.T2"; var state3 = "javascript.0.WiffiPump.T3"; var state4 = "javascript.0.WiffiPump.On"; //var state5; createState(state1, {name: "T1", unit: "°C"}); createState(state2, {name: "T2", unit: "°C"}); createState(state3, {name: "T3", unit: "°C"}); createState(state4, {name: "On",}); //createState(state5, {name: "D1", unit: "°C"}); function werteAuslesen(jsonStr) { var myJson = JSON.parse(jsonStr); var T1 = myJson.vars[1].value; var T2 = myJson.vars[2].value; var T3 = myJson.vars[3].value; var On = myJson.vars[4].value; //var D1 = myJson.vars[3].value - myJson.vars[2].value; log("wiffiPumpT1: " + T1 + "°C"); log("wiffiPumpT2: " + T2 + "°C"); log("wiffiPumpT3: " + T3 + "°C"); log("wiffiPumpOn: " + On); setState(state1, T1); setState(state2, T2); setState(state3, T3); setState(state4, On); //setState(state5, D1); } on({id:idJson,change:'ne'}, function (obj) { werteAuslesen(obj.state.val); });
Die mit "//" derzeit aaskommentierten Zeilen sind meine. Wenn ich die so reinnehme, schmiert die JS engine komplett ab.
Jetzt stelle ich mir gerade die Frage: Was mache ich falsch?
Ich deklariere "state5", berechnen diesen als Gelte zwischen T3 und T2 und schreiben in dann zurück in den Datenpunkt.
Wahrscheinlich übersehe ich wieder mal etwas völlig offensichtliches.
Danke
-
Und mit welchem Fehler schmiert er ab?
Gesendet vom Handy …
-
State5 ist leer deklariert, du willst also in einen leeren dp schreiben bzw. Erstellen..
-
Hallo
hier die Fehlermeldung(en)
` > host.tinkerboard 2019-01-28 13:15:40.241 error instance system.adapter.javascript.0 terminated with code 0 (OK)Caught 2019-01-28 13:15:40.241 error by controller[0]: at TCP.onread (net.js:601:20)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at Socket.Readable.push (_stream_readable.js:208:10)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at readableAddChunk (_stream_readable.js:250:11)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at addChunk (_stream_readable.js:263:12)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at Socket.emit (events.js:211:7)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at emitOne (events.js:116:13)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at Socket._ultron.on (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:138:22)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at Receiver.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:139:10)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at Receiver.startLoop (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:165:16)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at Receiver.getData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:330:12)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at Receiver.dataMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:389:14)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at Receiver._receiver.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:141:47)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at WebSocket.emit (events.js:211:7)
Caught 2019-01-28 13:15:40.240 error by controller[0]: at emitOne (events.js:116:13)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at WebSocket.onMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/EventTarget.js:99:16)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/websocket.js:147:10)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:137:8)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:145:8)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at WS.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at WS. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:273:10)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:456:14)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at Socket. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:335:16)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-parser/index.js:251:12)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at Decoder. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)
Caught 2019-01-28 13:15:40.239 error by controller[0]: at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8)
Caught 2019-01-28 13:15:40.238 error by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
Caught 2019-01-28 13:15:40.238 error by controller[0]: at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)
Caught 2019-01-28 13:15:40.238 error by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:244:12)
Caught 2019-01-28 13:15:40.238 error by controller[0]: at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:319:9)
Caught 2019-01-28 13:15:40.238 error by controller[0]: at Socket. <anonymous>(/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1697:34)
Caught 2019-01-28 13:15:40.238 error by controller[0]: TypeError: Cannot read property 'match' of undefined
javascript.0 2019-01-28 13:15:40.216 info terminating</anonymous></anonymous></anonymous></anonymous></anonymous> `
Ich dachte ich müsste erstmal einen "leeren" DP erstellen, damit er dann danach per Rechnung mit Werten gefüllt wird.
Aber wahrscheinlich habe hier ich hier wieder einen dämlichen Denkfehler.
Danke
-
Ich dachte ich müsste erstmal einen "leeren" DP erstellen, `
Es kann keine Objekte ohne ID geben !!!var state5 = "javascript.0.WiffiPump.D1";
-
diese Idee ist mir nach dem Absenden der Logs auch gekommen. Ich war wahrscheinlich verwirrt, da ich dachte, es hätte mit dem parser zu tun und dieser DP hat mit dem Parser ja nix am hut.
Nun funktioniert es prima … wieder was gelernt
Danke!
-
Nun funktioniert es prima `
Bitte das Thema im Betreff des ersten Beitrags als [gelöst] markieren. -
Done!