NEWS
[gelöst] Winexe - Fehlermeldung im Log
-
Hallo Zusammen,
ich steige gerade in das Thema iOBroker ein und beschäftige mich momentan mit Javascript. Dazu habe ich den iOBroker in einer VM laufen und dort in der Javascript-Instanz als zusätzliches Modul winexe angegeben. Ich möchte erreichen, daß die Rollade im Arbeitszimmer runterfährt sobald ich ein Spiel starte. Das Script funktioniert soweit auch. Ich habe nur noch ein paar Timingprobleme, aber dazu komme ich evtl. später.
Wenn ich jetzt folgendes Script 1 zu 1 in mein anders System, welches auf einem Raspi 3 läuft, kopiere gibt es eine Fehlermeldung und der Javascript-Adapter stürzt ab und wird neu gestartet.
Edit:
Habe, so glaube ich, rausgefunden wo ran es liegt: Der Raspi läuft unter 32-Bit, winexe scheint nur unter 64-bit zu laufen. Habe zum test mal eine VM mit 32-bit Debian gestartet. Selbes Problem wie beim Raspi. Jetzt muss ich mir etwas anderes überlegen. Vielleicht kann mir einer einen Tip geben.
Was ich versuche ist mittels iOBroker meinen Win-PC abzufragen ob ein bestimmtes Programm gestartet wurde
Bin dankbar für jeden Hinweis/Denkanstoss
! ````
host.raspi3 2017-03-19 00:29:00.844 error instance system.adapter.javascript.0 terminated with code 0 (OK)
javascript.0 2017-03-19 00:29:00.821 info terminating
javascript.0 2017-03-19 00:29:00.803 error at Timer.listOnTimeout (timers.js:92:15)
javascript.0 2017-03-19 00:29:00.803 error at [object Object]._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:479:11)
javascript.0 2017-03-19 00:29:00.803 error at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:175:10)
javascript.0 2017-03-19 00:29:00.803 error at Job.job (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1501:34)
javascript.0 2017-03-19 00:29:00.803 error at Object. (script.js.winexe:12:12)
javascript.0 2017-03-19 00:29:00.803 error at WinExe.run (/opt/iobroker/node_modules/iobroker.javascript/node_modules/winexe/lib/winexe.js:245:10)
javascript.0 2017-03-19 00:29:00.803 error at WinExe._exec (/opt/iobroker/node_modules/iobroker.javascript/node_modules/winexe/lib/winexe.js:174:14)
javascript.0 2017-03-19 00:29:00.803 error at exports.spawn (child_process.js:367:9)
javascript.0 2017-03-19 00:29:00.803 error at ChildProcess.spawn (internal/child_process.js:285:26)
javascript.0 2017-03-19 00:29:00.803 error at TypeError (native)
javascript.0 2017-03-19 00:29:00.803 error TypeError: Bad argument
javascript.0 2017-03-19 00:29:00.781 error uncaught exception: Bad argumentAnbei noch der Code meines Scriptes. Dort sind ein paar zusätzliche Datumsausgaben weil ich noch ein paar Timingprobleme habe. >! ```` createState('Corsair.Programm.Status'); >! var WinExe = require('winexe'); var winexe = new WinExe({ username: 'xxx', password: 'xx', host: '10.20.30.40', timeout: 60000 // optional timeout in ms, winexe process will be killed with SIGKILL }); schedule("*/1 * * * *", function () { // jede Minute winexe.run('powershell.exe E:\Spiel_gestartet.ps1', function (err, stdout, stderr) { // Run command on remote host log(stdout); log('winexe datum ' + new Date()); setState('Corsair.Programm.Status', stdout); }); log('nach winexe' + new Date()); if (getState('javascript.0.Corsair.Programm.Status').val == 'true\n') { log('ein'); log('nach ein ' + new Date()); setState("hm-rpc.0.NExxxx.1.STATE",true); } else if (getState('javascript.0.Corsair.Programm.Status').val == 'false\n') { log('aus'); log('nach aus ' + new Date()); setState("hm-rpc.0.NExxxx.1.STATE",false); } });
Und in dem Powersehellscript steht folgendes:
! ````
$proc = Get-Process | Where-Object {$_.ProcessName -eq "calc"}
if ($proc -imatch 'calc')
{
Write-Host „true“
}
else
{
Write-Host „false“
}Zum testen benutze ich den Taschenrechner weil das etwas einfacher ist. Versionen sind: js-controller: 0.16.2 javascript: 3.2.6 node.js: 4.8.0 npm: 2.15.11 linux: raspbery (jessy) hm-rega: 1.4.4 Was mache ich falsch? Oder liegt es am Raspi? Gruß Dolomiti