Navigation

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

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

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

      Есть задача запускать приложения локально или на удаленном компе, возможно ли организовать такое?

      • эмуляцию кнопок осуществить (например глобальные горячие клавиши)
      1 Reply Last reply Reply Quote 0
      • 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

                                  746
                                  Online

                                  31.6k
                                  Users

                                  79.5k
                                  Topics

                                  1.3m
                                  Posts

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