Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. ioBroker скрипты
    6. Как организовать управление компьютером

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Как организовать управление компьютером

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

      Многообещающий пакет https://github.com/octalmage/robotjs

      Напиши, что получилось 🙂

      Вот для windows https://github.com/octalmage/robotjs/issues/2

      scottmas created this issue in octalmage/robotjs

      closed Windows Support. #2

      1 Reply Last reply Reply Quote 0
      • I
        instalator last edited by

        @Bluefox:

        Многообещающий пакет https://github.com/octalmage/robotjs

        Напиши, что получилось 🙂

        Вот для windows https://github.com/octalmage/robotjs/issues/2 `
        Это только мышь и клава, а как например батник запустить из под iobroker?

        1 Reply Last reply Reply Quote 0
        • Bluefox
          Bluefox last edited by

          > а как например батник запустить из под iobroker?

          var spawn = require('child_process').spawn;
          function startBat(filename) {
          	var ls    = spawn('cmd.exe', ['/c', filename]);
          	ls.stdout.on('data', function (data) {
          		log('stdout: ' + data);
          	});
          
          	ls.stderr.on('data', function (data) {
          		log('stderr: ' + data);
          	});
          
          	ls.on('exit', function (code) {
          		log('child process exited with code ' + code);
          	});
          }
          
          startBat('c:/myBatchFile.bat');
          
          

          или просто так, если не нужно знать, что там батник говорит:

          require('child_process').spawn('cmd.exe', ['/c', 'c:/myBatchFile.bat']);
          
          1 Reply Last reply Reply Quote 0
          • I
            instalator last edited by

            @Bluefox:

            Многообещающий пакет https://github.com/octalmage/robotjs `
            Не могу установить, выдает ошибку

            c:\iobroker\node_modules\robotjs>node "C:\Program Files\nodejs\node_modules\npm\
            bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
            gyp ERR! configure error
            gyp ERR! stack Error: Can't find Python executable "python", you can set the PYT
            HON env variable.
            gyp ERR! stack     at failNoPython (C:\Program Files\nodejs\node_modules\npm\nod
            e_modules\node-gyp\lib\configure.js:103:14)
            gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node
            -gyp\lib\configure.js:64:11
            gyp ERR! stack     at Object.oncomplete (evalmachine.<anonymous>:108:15)
            gyp ERR! System Windows_NT 6.1.7601
            gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modu
            les\\node-gyp\\bin\\node-gyp.js" "rebuild"
            gyp ERR! cwd c:\iobroker\node_modules\robotjs
            gyp ERR! node -v v0.10.35
            gyp ERR! node-gyp -v v1.0.1
            gyp ERR! not ok
            
            npm ERR! robotjs@0.2.1 install: `node-gyp rebuild`
            npm ERR! Exit status 1
            npm ERR!
            npm ERR! Failed at the robotjs@0.2.1 install script.
            npm ERR! This is most likely a problem with the robotjs package,
            npm ERR! not with npm itself.
            npm ERR! Tell the author that this fails on your system:
            npm ERR!     node-gyp rebuild
            npm ERR! You can get their info via:
            npm ERR!     npm owner ls robotjs
            npm ERR! There is likely additional logging output above.
            npm ERR! System Windows_NT 6.1.7601
            npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
            ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "robotjs"
            npm ERR! cwd c:\iobroker
            npm ERR! node -v v0.10.35
            npm ERR! npm -v 1.4.28
            npm ERR! code ELIFECYCLE
            npm ERR! not ok code 0</anonymous>
            
            1 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              Ну тут немного сложнее, чем с другими пакетами:

              Нужно установить Python (2.7), VS 2013 express.

              тогда должно заработать.

              Здесь написано, что надо сделать:

              https://github.com/TooTallNate/node-gyp/#installation

              1 Reply Last reply Reply Quote 0
              • aurodionov
                aurodionov last edited by

                @Bluefox:

                Нужно установить Python (2.7), VS 2013 express. `
                То есть он только под окна получается 😮 😞

                1 Reply Last reply Reply Quote 0
                • Bluefox
                  Bluefox last edited by

                  Нет. На линксе (debian) он сам собирается. нужно только до этого вызвать:

                  sudo apt-get update
                  sudo apt-get install build-essential
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • I
                    instalator last edited by

                    @Bluefox:

                    или просто так, если не нужно знать, что там батник говорит:

                    require('child_process').spawn('cmd.exe', ['/c', 'c:/myBatchFile.bat']);
                    ```` `  
                    

                    Не получается запустить файлик таким способом. Какие еще варианты есть?

                    По первому варианту получилось. Единственный момент от какого имени запускается cmd?

                    1 Reply Last reply Reply Quote 0
                    • I
                      instalator last edited by

                      Если запускаю через radmin батник то удаленный комп отключается, если через iobroker то пишет что отказано в доступе.

                      ! javascript-0 2015-08-22 19:29:10 info script.js.Scenes: child process exited with code 5
                      ! javascript-0 2015-08-22 19:29:10 info
                      ! javascript-0 2015-08-22 19:29:10 info script.js.Scenes: stderr: 192.168.1.10: �⪠���� � ����㯥.(5)
                      ! javascript-0 2015-08-22 19:29:10 info
                      ! javascript-0 2015-08-22 19:29:10 info script.js.Scenes: stdout: shutdown /s /t 00 /m \192.168.1.10
                      ! javascript-0 2015-08-22 19:29:10 info C:\Windows\system32>
                      ! javascript-0 2015-08-22 19:29:10 info script.js.Scenes: stdout:

                      1 Reply Last reply Reply Quote 0
                      • I
                        instalator last edited by

                        Запускаю батник скриптом:

                        require('child_process').spawn('cmd.exe', ['', 'c:/compoff.bat']);
                                    var spawn = require('child_process').spawn;
                                            function startBat(filename) {
                                               var ls = spawn('cmd.exe', ['/c', filename]);
                                               ls.stdout.on('data', function (data) {
                                                  log('stdout: ' + data);
                                               });
                                               ls.stderr.on('data', function (data) {
                                                  log('stderr: ' + data);
                                               });
                                               ls.on('exit', function (code) {
                                                  log('child process exited with code ' + code);
                                               });
                                            }  
                                    startBat('c:/compoff.bat');
                        

                        Содержимое батника:

                        net use \\192.168.1.10 /user:instalator 
                        shutdown /s /t 3600 /f /m \\192.168.1.10
                        net use /delete \\192.168.1.10
                        

                        Вот что выдает в лог:

                        ! javascript.0 2015-11-05 21:39:54 info javascript.0 script.js.Scenes: child process exited with code 0
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: \192.168.1.10 �ᯥ譮 㤠���.
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: use /delete \192.168.1.10
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: net
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: C:\Windows\system32>
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stderr: 192.168.1.10: �⪠���� � ����㯥.(5)
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: /s /t 3600 /f /m \192.168.1.10
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: shutdown
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: C:\Windows\system32>
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: ������� �믮����� �ᯥ譮.
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: use \192.168.1.10 /user:instalator
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: net
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout: C:\Windows\system32>
                        ! javascript.0 2015-11-05 21:39:53 info javascript.0 script.js.Scenes: stdout:
                        Я так понимаю он рвет команды?

                        1 Reply Last reply Reply Quote 0
                        • Bluefox
                          Bluefox last edited by

                          Он рвёт вывод. А команды нормальные

                          Тебе отказано в доступе

                          shutdown (5) access is denied
                          
                          1 Reply Last reply Reply Quote 0
                          • I
                            instalator last edited by

                            @Bluefox:

                            Он рвёт вывод. А команды нормальные

                            Тебе отказано в доступе

                            shutdown (5) access is denied
                            ```` `  
                            

                            Как то читал эту кодировку не помню как), в какой он отдает?

                            Вот не пойму почему отказано, в безопасности добавил группу Все, если руками запускаю батник то все отрабатывает, а чз брокера нехотит.

                            1 Reply Last reply Reply Quote 0
                            • Bluefox
                              Bluefox last edited by

                              Эту проблему можно решить так:

                              require('child_process').spawn('chcp 866 | cmd.exe', ['', 'c:/compoff.bat']);
                                          var spawn = require('child_process').spawn;
                                                  function startBat(filename) {
                                                     var ls = spawn('cmd.exe', ['/c', filename]);
                                                     ls.stdout.on('data', function (data) {
                                                        log('stdout: ' + data);
                                                     });
                                                     ls.stderr.on('data', function (data) {
                                                        log('stderr: ' + data);
                                                     });
                                                     ls.on('exit', function (code) {
                                                        log('child process exited with code ' + code);
                                                     });
                                                  }  
                                          startBat('c:/compoff.bat');
                              
                              

                              Кодировка либо 866 либо 65001. Надо просто попробовать

                              1 Reply Last reply Reply Quote 0
                              • I
                                instalator last edited by

                                http://forum.iobroker.net/viewtopic.php?f=29&t=1783

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                484
                                Online

                                31.8k
                                Users

                                80.0k
                                Topics

                                1.3m
                                Posts

                                3
                                15
                                3191
                                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