NEWS
Absturz Javascript Adapter bei request
-
Hallo,
habe ein kleines Script erstellt um meinen WiFFI Pump von VIS aus zu steuern, leider stürz mir der Javascript Adapter dabei ab und ich weiß nicht warum und ob es am Adapter oder Script liegt.
Hab noch ein Script mit einem http request, das funktioniert.
Hier das Script:
createState("zkpumpe"); on("javascript.0.zkpumpe", function (obj){ var request = require("request"); if(obj.newState.val === true){ request("http://192.168.XX.XX/trigger:on:"); } else if(obj.newState.val === false){ request("http://192.168.XX.XX/trigger:off:"); } });
Und hier das Log vom Javascript Adapter:
cubietruck 2017-02-08 19:40:53.034 info host.cubietruck Restart adapter system.adapter.javascript.0 because enabled cubietruck 2017-02-08 19:40:53.018 error host.cubietruck instance system.adapter.javascript.0 terminated with code 0 (OK) javascript.0 2017-02-08 19:40:52.125 error javascript.0 Error: socket hang up at createHangUpError (_http_client.js:213:15) at Socket.socketCloseListener (_http_client.js:245:23) at emitOne (events.js:82:20) at Socket.emit (eve javascript.0 2017-02-08 19:40:52.124 error javascript.0 uncaught exception: socket hang up javascript.0 2017-02-08 19:40:52.123 error javascript.0 Error: Parse Error at Error (native) at Socket.socketOnData (_http_client.js:322:20) at emitOne (events.js:77:13) at Socket.emit (events.js:169:7) at readableAddChunk javascript.0 2017-02-08 19:40:52.111 error javascript.0 uncaught exception: Parse Error
-
Hallo,
habe ein kleines Script erstellt um meinen WiFFI Pump von VIS aus zu steuern, leider stürz mir der Javascript Adapter dabei ab und ich weiß nicht warum und ob es am Adapter oder Script liegt.
Hab noch ein Script mit einem http request, das funktioniert.
Hier das Script:
createState("zkpumpe"); on("javascript.0.zkpumpe", function (obj){ var request = require("request"); if(obj.newState.val === true){ request("http://192.168.XX.XX/trigger:on:"); } else if(obj.newState.val === false){ request("http://192.168.XX.XX/trigger:off:"); } });
Und hier das Log vom Javascript Adapter:
cubietruck 2017-02-08 19:40:53.034 info host.cubietruck Restart adapter system.adapter.javascript.0 because enabled cubietruck 2017-02-08 19:40:53.018 error host.cubietruck instance system.adapter.javascript.0 terminated with code 0 (OK) javascript.0 2017-02-08 19:40:52.125 error javascript.0 Error: socket hang up at createHangUpError (_http_client.js:213:15) at Socket.socketCloseListener (_http_client.js:245:23) at emitOne (events.js:82:20) at Socket.emit (eve javascript.0 2017-02-08 19:40:52.124 error javascript.0 uncaught exception: socket hang up javascript.0 2017-02-08 19:40:52.123 error javascript.0 Error: Parse Error at Error (native) at Socket.socketOnData (_http_client.js:322:20) at emitOne (events.js:77:13) at Socket.emit (events.js:169:7) at readableAddChunk javascript.0 2017-02-08 19:40:52.111 error javascript.0 uncaught exception: Parse Error ```` `
Wenn du das so schreibst, fängt man den Fehler damit ab ohne das die Instanz neu startet.
var request = require ('request'); createState("zkpumpe"); on("javascript.0.zkpumpe", function (obj){ if(obj.newState.val === true){ request("http://192.168.XX.XX/trigger:on:").on ('error', function (e) { log(e, 'error');}); } else if(obj.newState.val === false){ request("http://192.168.XX.XX/trigger:off:").on ('error', function (e) { log(e, 'error');}); } });
PS: Das Modul sollte/muss man nicht in einen on… immer neu laden. Daher ausserhalb des on laden.````
var request = require('request') -
Ja den request hatte ich zuvor auch vor dem "on" stehen, war gerade nur zum Test, ob sich was ändert.
Danke, abgefangen wird so schon mal.
Jetzt ist nur die Frage wieso der parse Error kommt
-
Was passiert wenn du genau die URL in den Browser eingibst?
-
Dann öffnet sich das WebInterface des Wiffi Pump und das Relais des Wiffi Pump wird getriggert.
Wenn ich den Javascript Datenpunkt über VIS auf true triggere, schaltet auch das Relais des Wiffi Pump, aber es kommt eben der parse Error