NEWS
[Problem] javascript stürzt bei request() ab
-
ich habe an meinem Fernseher ein Ambilight (Hyperion) das steuere ich über einen pi mit einem webserver und einem php script
ich rufe nun über iobroker in einem script die url auf und es wird geschaltet je nach dem was für werte ich übergebe. Das hat auch bis vor ein paat tagen (nun fast ein jahr) alles wunderbar geklappt. jetzt sürzt jedoch jedesmal js ab wenn ich
request%28%22http%3A//ambipi/ambi_test.php?state=off%22%29;
aufrufe. nehme ich den browser funktioniert alles wie gehabt. kann mir jemand helfen?
Diese Fehlermeldung bekomme ich im log
host.smarthome 2017-05-18 21:24:35.620 error instance system.adapter.javascript.0 terminated with code 0 (OK) javascript.0 2017-05-18 21:24:35.534 error at TCP._onclose (net.js:490:12) javascript.0 2017-05-18 21:24:35.534 error at Socket.emit (events.js:169:7) javascript.0 2017-05-18 21:24:35.534 error at emitOne (events.js:82:20) javascript.0 2017-05-18 21:24:35.534 error at Socket.socketCloseListener (_http_client.js:245:23) javascript.0 2017-05-18 21:24:35.534 error at createHangUpError (_http_client.js:213:15) javascript.0 2017-05-18 21:24:35.534 error Error: socket hang up javascript.0 2017-05-18 21:24:35.531 error uncaught exception: socket hang up javascript.0 2017-05-18 21:24:35.526 error at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1081:14) javascript.0 2017-05-18 21:24:35.526 error at exports._exceptionWithHostPort (util.js:930:20) javascript.0 2017-05-18 21:24:35.526 error at Object.exports._errnoException (util.js:907:11) javascript.0 2017-05-18 21:24:35.526 error Error: connect EHOSTUNREACH 192.168.178.37:80 javascript.0 2017-05-18 21:24:35.525 error uncaught exception: connect EHOSTUNREACH 192.168.178.37:80
-
Versuche bitte javascript vom git zu installieren:
-
Versuche bitte javascript vom git zu installieren:
serial wird nicht mehr geladen:
javascript.0 2017-05-19 05:53:36.810 error node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.7 and node@4.8.1 (node-v46 ABI) (falling back to source compile with node-gyp) javascript.0 2017-05-19 05:53:36.810 error ERR! Tried to download(404): https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v46-linux-arm64.tar.gz javascript.0 2017-05-19 05:53:36.808 error node-pre-gyp javascript.0 2017-05-19 05:53:34.339 info > node-pre-gyp install --fallback-to-build javascript.0 2017-05-19 05:53:34.339 info > serialport@4.0.7 install /opt/iobroker/node_modules/iobroker.javascript/node_modules/serialport javascript.0 2017-05-19 05:53:34.339 info javascript.0 2017-05-19 05:53:19.548 info npm install serialport --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
und der request funtioniert auch nicht, habe mal zum test google eingegeben, gleiches Ergebnis
host.smarthome 2017-05-19 05:58:29.712 error instance system.adapter.javascript.0 terminated with code 0 (OK) javascript.0 2017-05-19 05:58:29.618 error at TCP._onclose (net.js:490:12) javascript.0 2017-05-19 05:58:29.618 error at Socket.emit (events.js:169:7) javascript.0 2017-05-19 05:58:29.618 error at emitOne (events.js:82:20) javascript.0 2017-05-19 05:58:29.618 error at Socket.socketCloseListener (_http_client.js:245:23) javascript.0 2017-05-19 05:58:29.618 error at createHangUpError (_http_client.js:213:15) javascript.0 2017-05-19 05:58:29.618 error Error: socket hang up javascript.0 2017-05-19 05:58:29.615 error uncaught exception: socket hang up javascript.0 2017-05-19 05:58:29.606 error at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1081:14) javascript.0 2017-05-19 05:58:29.606 error at exports._exceptionWithHostPort (util.js:930:20) javascript.0 2017-05-19 05:58:29.606 error at Object.exports._errnoException (util.js:907:11) javascript.0 2017-05-19 05:58:29.606 error Error: connect EHOSTUNREACH 192.168.178.37:80 javascript.0 2017-05-19 05:58:29.605 error uncaught exception: connect EHOSTUNREACH 192.168.178.37:80
edit: wollte die Datenübergabe umstellen über einen tcp Server leider auch eine Fehlermeldung
javascript.0 script.js.common.ambi: error: Error: connect EHOSTUNREACH 192.168.178.37:19444
Edit2: Auf meinem älteren testsystem läuft es ohne probleme:
Neu: admin 1.7.3 js-controller 1.0.0 node 4…
alt: admin 1.7.0 js-controller 0.16.2 node 4...(glaube ich)
-
> EHOSTUNREACH
Sicher, dass unter der IP:Port-Kombination etwas erreichbares ist? -
Ja definitiv
Gesendet von meinem SM-G930F mit Tapatalk
-
Hallo Meistertr,
hast du es mitlerweile hinbekommen? Habe auch Hyperion am laufen und würde es gern per vis Befehl aus bzw einschalten. Könntest du mir kurz erklären wie du Hyperion angesprochen hast?
-
Hallo Meistertr,
hast du es mitlerweile hinbekommen? Habe auch Hyperion am laufen und würde es gern per vis Befehl aus bzw einschalten. Könntest du mir kurz erklären wie du Hyperion angesprochen hast? `
Ja nach langem probieren hat es geklappthier mein script:
! ````
// Zum Ansteuern von Hyperion
// Copyright by Meistertr
//Version 0.2
! createState('ambipi.on', false);
createState('ambipi.clear', false);
createState('ambipi.color');
createState('ambipi.tvmode',true);
createState('ambipi.effects');
createState('ambipi.sel_effect');
! var logging = true;
var ip = "ambipi"; //hier die IP oder den Hostname
var port = 19444; // Port vin Hyperion nicht ändern
var onByOther = false;
! var eff = "Cinema brighten lights;Cinema dim lights;Knight rider;Blue mood blobs;Cold mood blobs;Full color mood blobs;Red mood blobs;Green mood blobs;Warm mood blobs;Police Lights Single;Police Lights Solid;Rainbow mood;Rainbow swirl fast;Rainbow swirl;Running dots;System Shutdown;Snake;Sparks Color;Sparks;X-Mas";
! setState("javascript.0.ambipi.effects",eff);
! var net = require('net');
! function sendMessage(message) {
var client = net.connect({host:ip, port: port}, function () {
! if(logging)console.log('connected to server!');
try{
client.write(message);
}catch(e){
console.log("Konnte Wert nicht an Ambipi senden, Fehler: " + e);
}
});
}
! subscribe({id:"javascript.0.ambipi.color"}, function (obj) {
if (obj.newState.val != obj.oldState.val){
onByOther=true;
var r = parseInt(obj.newState.val.substr(1, 2), 16);
var g = parseInt(obj.newState.val.substr(3, 2), 16);
var b = parseInt(obj.newState.val.substr(5, 2), 16);
console.log(r +" "+g+ " "+b);
if(logging) log(" Ambipi: Die Farbe wurde auf "+ r + g + b + " gesetzt" );
sendMessage('{ "color": ['+ r +','+ g +','+ b +'], "command": "color", "priority": 100 }\r\n');
if(obj.newState.val !== "#000000")setState("javascript.0.ambipi.on", true);
}
! });
! subscribe({id:"javascript.0.ambipi.on"}, function (obj) {
if (obj.newState.val === true && onByOther === false){
turnON(true);
}
else if(obj.newState.val === false){
turnON(false);
}
! });
! subscribe({id:"javascript.0.ambipi.sel_effect", valNe:""}, function (obj) {
if (obj.newState.val !== obj.oldState.val) {
onByOther= true;
sendMessage('{ "command": "effect", "effect": {"name": "'+ obj.newState.val +'"}, "priority": 100 }\r\n');
if(logging) log(" Ambipi: Ambipi auf Effect " + obj.newState.val + " geschaltet" );
setState("javascript.0.ambipi.on", true);
! }
else {
! }
});
! subscribe({id:"javascript.0.ambipi.clear", value:true}, function (obj) {
if (obj.newState.val ===true && getState("javascript.0.ambipi.on").val ){
sendMessage('{"command": "clear", "priority": 100 }\r\n');
if(logging) log(" Ambipi: Set to default" );
setState("javascript.0.ambipi.sel_effect","");
}
});
! subscribe({id:"hm-rpc.1.CUX2803003.1.STATE"/TV:1.STATE/}, function (obj) {
if (obj.newState.val ===true){
! setState("javascript.0.ambipi.on", true);
turnON (true);
if(logging) log(" Ambipi: wurder durch TV eingeschaltet" );
}
if (obj.newState.val ===false){
turnON (false);
setState("javascript.0.ambipi.on", false);
if(logging) log(" Ambipi: wurder durch TV ausgeschaltet" );
}
});
! function turnON (param){
if (param === true) {sendMessage('{"command": "clear", "priority": 100 }\r\n'); if(logging) log(" Ambipi: Ambipi wurde angeschaltet" ); } else { sendMessage('{ "color": [0,0,0], "command": "color", "priority": 100 }\r\n'); if(logging) log(" Ambipi: Ambipi wurde abgeschaltet" ); setState("javascript.0.ambipi.sel_effect",""); onByOther=false;
! }
}
! ````