Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Winexe - Fehlermeldung im Log

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Winexe - Fehlermeldung im Log

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dolomiti
      Dolomiti last edited by

      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 argument

      
      Anbei 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
      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      1.0k
      Online

      31.7k
      Users

      79.8k
      Topics

      1.3m
      Posts

      1
      1
      486
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo