NEWS
Javascript Absturz mit Blockly Programm
-
Hallo,
folgendes Blockly:
funktioniert eigentlich wie es soll, d.H. es schickt einen http Befehl zu einem Wemos D1 mini wo ein LCD Display angeschlossen ist und zeigt die Aussentemperatur an. Sobald ich aber den Wemos vom Strom nehme, stürzt der javascript adapter ab und wird rot, bootet dann wieder und stürzt bei diesem Blockly wieder ab, solange bis ich den Wemos wieder mit Strom versorge oder das Script stoppe.
Was läuft da falsch?
Das log:
javascript.0 2017-08-29 00:19:04.458 info starting. Version 3.4.0 in C:/Program Files/ioBroker/node_modules/iobroker.javascript, node: v8.4.0
host.NUC 2017-08-29 00:19:01.786 info instance system.adapter.javascript.0 started with pid 5016
host.NUC 2017-08-29 00:18:31.748 info Restart adapter system.adapter.javascript.0 because enabled
host.NUC 2017-08-29 00:18:31.748 error instance system.adapter.javascript.0 terminated with code 0 (OK)
javascript.0 2017-08-29 00:18:31.717 error
javascript.0 2017-08-29 00:18:31.717 error at TCP._handle.close [as _onclose] (net.js:545:12)
javascript.0 2017-08-29 00:18:31.717 error at Socket.emit (events.js:210:7)
javascript.0 2017-08-29 00:18:31.717 error at emitOne (events.js:120:20)
javascript.0 2017-08-29 00:18:31.717 error at Socket.socketCloseListener (_http_client.js:377:9)
javascript.0 2017-08-29 00:18:31.717 error at ClientRequest.emit (events.js:210:7)
javascript.0 2017-08-29 00:18:31.717 error at emitOne (events.js:115:13)
javascript.0 2017-08-29 00:18:31.717 error at Request.onRequestError (C:\Program Files\ioBroker\node_modules\iobroker.javascript\node_modules\request\request.js:884:8)
javascript.0 2017-08-29 00:18:31.717 error at Request.emit (events.js:210:7)
javascript.0 2017-08-29 00:18:31.717 error at emitOne (events.js:115:13)
javascript.0 2017-08-29 00:18:31.717 error at Request. (script.js.wemo1b:6:111)
javascript.0 2017-08-29 00:18:31.717 error ReferenceError: e is not defined
javascript.0 2017-08-29 00:18:31.717 error uncaught exception: e is not defined
javascript.0 2017-08-29 00:18:31.717 error
javascript.0 2017-08-29 00:18:31.717 error at emitErrorNT (internal/streams/destroy.js:64:8)
javascript.0 2017-08-29 00:18:31.717 error at Socket.emit (events.js:210:7)
javascript.0 2017-08-29 00:18:31.717 error at emitOne (events.js:115:13)
javascript.0 2017-08-29 00:18:31.717 error at Socket.socketErrorListener (_http_client.js:401:9)
javascript.0 2017-08-29 00:18:31.717 error at ClientRequest.emit (events.js:210:7)
javascript.0 2017-08-29 00:18:31.717 error at emitOne (events.js:115:13)
javascript.0 2017-08-29 00:18:31.717 error at Request.onRequestError (C:\Program Files\ioBroker\node_modules\iobroker.javascript\node_modules\request\request.js:884:8)
javascript.0 2017-08-29 00:18:31.717 error at Request.emit (events.js:210:7)
javascript.0 2017-08-29 00:18:31.717 error at emitOne (events.js:115:13)
javascript.0 2017-08-29 00:18:31.717 error at Request. (script.js.wemo1b:6:111)
javascript.0 2017-08-29 00:18:31.717 error ReferenceError: e is not defined
javascript.0 2017-08-29 00:18:31.717 error uncaught exception: e is not defined
javascript.0 2017-08-29 00:16:20.628 info script.js.wemo1b: registered 0 subscriptions and 1 schedule
javascript.0 2017-08-29 00:16:20.549 info Start javascript script.js.wemo1b
javascript.0 2017-08-29 00:16:15.350 info Stop script script.js.wemo1b
javascript.0 2017-08-29 00:15:19.810 info Stop script script.js.wemo1b
-
var timeout;
schedule("*/10 * * * * *", function () {
try {
require("request")('http://192.168.1.64/control?cmd=lcdcmd,clear').on("error", function () {console.error(e);});
} catch (e) { console.error(e); }
console.debug("request: " + 'http://192.168.1.64/control?cmd=lcdcmd,clear');
timeout = setTimeout(function () {
try {
require("request")((['http://192.168.1.64/control?cmd=lcd,1,1,Aussentemp. ',getState("hm-rpc.0.JEQ0157625.1.TEMPERATURE").val,' Cß'].join(''))).on("error", function () {console.error(e);});
} catch (e) { console.error(e); }
console.debug("request: " + (['http://192.168.1.64/control?cmd=lcd,1,1,Aussentemp. ',getState("hm-rpc.0.JEQ0157625.1.TEMPERATURE").val,' Cß'].join('')));
}, 1000);
});
Ich glaub der Beitrag ist ähnlich: http://forum.iobroker.net/viewtopic.php?f=21&t=7828
-
Welche Version des JavaScript Adapters hast Du installiert? Bitte mal updaten. Das sollte schon gefixt sein
-
Hallo,
Vorher hatte ich 3.4.1 dann die 3.4.0 jetzt mit 3.4.3 getestet aber gleicher Fehler.
-
Hallo,
Vorher hatte ich 3.4.1 dann die 3.4.0 jetzt mit 3.4.3 getestet aber gleicher Fehler. `
Hi, Blockly nochmal neu speichern und neu starten.
Dann wird der Code eventuell neu angepasst.
Grüße
-
Gerade getestet, funktioniert aber auch nicht.
-
Hallo,
ich habe das gleiche Blockly mal testweise auf meinem Mulithost Raspberry laufen lassen, hier aber auch gleiches Verhalten. Könnte man durch erweitern des Scripts den Fehler abfangen, bevor der Adapter abstürzt?
-
Könnte man das gleiche Script auch über node-red erstellen? Läuft das dann auch zusätzlich über den javascript Adapter oder extra?
-
Hi zusammen ich habe das selbe Problem ich versuche ein Samsung Tab A mit einem http befehl zu wecken aber wenn es nicht im Wlan ist kommt der Javascript nicht klar und Stürzt ab, hat hier schon jemand eine Idee wie das zu verhindern ist?
on({id: 'javascript.0.scriptEnabled.Bildschirm_Tab_AN', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; try { require("request")('http://192.168.12.68:50000/tasker=Bildschirm%20An').on("error", function () {console.error(e);}); } catch (e) { console.error(e); } }); on({id: 'javascript.0.scriptEnabled.Bildschirm_Tab_Aus', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; try { require("request")('http://192.168.12.68:50000/tasker=Bildschirm%20Aus').on("error", function () {console.error(e);}); } catch (e) { console.error(e); } });
Gruß Christian
2113_unbenannt.png -
Hallo,
installiere mal das neueste javascript update vom git, dann gings bei mir. Musste aber das Blockly nochmal neu zusammenstellen, mit dem vorhandenen stürzte der Adapter wieder ab. Jetzt kommt nur noch eine Fehlermeldung im log wenn der Wemos nicht erreichbar ist, der Adapter läuft aber weiter.