Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Программа управления компьютером GetAdmin

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

      @bondrogeen:

      Не запускается программа, в диспетчере висят три процесса GetAdmin.exe *32, на попытки закрыть принудительно не отвечают.

      Запускал от администратора.

      Windows 7 64

      ! filename="1212.jpg" index="0">~~ `
      У меня тоже вин7 64 запускается норм и без администратора. С момента написания стоит в автозагрузке и глюков вообще не было.

      В итоге получилось запустить?

      1 Reply Last reply Reply Quote 0
      • B
        bondrogeen last edited by

        На моем нет, а на другом компе да, хотя там тоже стоит win 7 64.

        Может что то нужно дополнительно поставить типа NET Framework или с чем-то конфликтует?

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

          Выкладываю свой скрипт, может кому пригодится.

          ! ```
          `createState('GetAdmin.cmd', '');
          createState('GetAdmin.Key', '');
          createState('GetAdmin.Check', '');
          createState('GetAdmin.CheckRes', '');
          createState('GetAdmin.Host', '');
          createState('GetAdmin.Port', '');
          createState('GetAdmin.WOL', '');
          createState('GetAdmin.Power', '');
          createState('GetAdmin.Process', '');
          createState('GetAdmin.MonitorSwitch', '');
          createState('GetAdmin.AudioSwitch', '');
          var request = require('request');
          var wol = require('wake_on_lan');
          var ping = require('ping');
          var flag_foobar = false;
          var flag_chrome = false;
          var flag_utorrent = false;
          ! on({id: 'javascript.0.GetAdmin.cmd', change: 'any'}, function (obj) {
          var host = getState('javascript.0.GetAdmin.Host').val;
          var port = getState('javascript.0.GetAdmin.Port').val;
          if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){
          ping.sys.probe('192.168.1.15', function(isAlive){
          var pingPC = isAlive ? true : false;
          if (!pingPC && (obj.newState.val =='foobar' || obj.newState.val =='torrent' || obj.newState.val =='chrome' || obj.newState.val =='vlc')){
          log('Включаем комп и отправляем команду через 3 минуты: '+ obj.newState.val);
          setState('javascript.0.GetAdmin.WOL', '94DE802DE4CC');
          setTimeout(function() {
          sendCmdGetAdmin(obj.newState.val,host,port);
          log('Отправляем команду GetAdmin - cmd: '+ obj.newState.val);
          }, 180000);
          } else {
          sendCmdGetAdmin(obj.newState.val,host,port);
          log('Отправляем команду GetAdmin - cmd: '+ obj.newState.val);
          }
          });

          } else{log('GetAdmin. Не задана команда.');}
          

          });

          ! on({id: 'javascript.0.GetAdmin.Key', change: 'any'}, function (obj) {
          if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){
          var host = getState('javascript.0.GetAdmin.Host').val;
          var port = getState('javascript.0.GetAdmin.Port').val;
          sendKeyGetAdmin(obj.newState.val,host,port);
          log('Отправляем команду GetAdmin - Key: '+ obj.newState.val);
          }else{log('GetAdmin. Не задана команда.');}
          });
          ! on({id: 'javascript.0.GetAdmin.Check', change: 'any'}, function (obj) {
          if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){
          var host = getState('javascript.0.GetAdmin.Host').val;
          var port = getState('javascript.0.GetAdmin.Port').val;
          sendCheckGetAdmin(obj.newState.val,host,port);
          log('Отправляем команду GetAdmin - Check: '+ obj.newState.val);
          }else{log('GetAdmin. Не задана команда.');}
          });
          ! on({id: 'javascript.0.GetAdmin.Power', change: 'any'}, function (obj) {
          var pingPC = getState('ping.1.Server-PC.192_168_1_10').val;
          if((obj.newState.val == 'true' || obj.newState.val === true) && (pingPC == 'false' || pingPC === false)){
          log('Включаем PC - on');
          setState('javascript.0.GetAdmin.WOL', '94DE802DE4CC'); //
          }
          if(obj.newState.val == 'false' || obj.newState.val === false){
          log('Выключаем PC - off');
          setState('javascript.0.GetAdmin.cmd', 'shutdown');
          }
          });
          ! on({id: 'javascript.0.GetAdmin.WOL', change: 'any'}, function (obj) {
          if(obj.newState.val !== ''){
          wol.wake(obj.newState.val);
          log(obj.newState.val); //00:1B:FC:9A:8B:05
          //var magic_packet = wol.createMagicPacket('00:1B:FC:9A:8B:10');
          }
          });
          ! on({id: 'javascript.0.GetAdmin.MonitorSwitch', change: 'any'}, function (obj) {
          if(obj.newState.val == '0' || obj.newState.val === 0){
          setState('javascript.0.GetAdmin.cmd', 'monitor1', true/ack/);
          }
          if(obj.newState.val == '1' || obj.newState.val === 1){
          setState('javascript.0.GetAdmin.cmd', 'monitor2', true/ack/);
          }
          if(obj.newState.val == '2' || obj.newState.val === 1){
          setState('javascript.0.GetAdmin.cmd', 'monitorextend', true/ack/);
          }
          if(obj.newState.val == '3' || obj.newState.val === 1){
          setState('javascript.0.GetAdmin.cmd', 'monitorclone', true/ack/);
          }
          });
          on({id: 'javascript.0.GetAdmin.AudioSwitch', change: 'any'}, function (obj) {
          if(obj.newState.val == '0' || obj.newState.val === 0){
          setState('javascript.0.GetAdmin.cmd', 'audio1', true/ack/);
          setState('javascript.0.GetAdmin.Key', 'CTRL+ALT+S');
          }
          if(obj.newState.val == '1' || obj.newState.val === 1){
          setState('javascript.0.GetAdmin.cmd', 'audio2', true/ack/);
          setState('javascript.0.GetAdmin.Key', 'CTRL+ALT+A');
          }
          });
          /***************************************************************************************/
          function sendCmdGetAdmin(value, host, port){
          var options = {
          url: 'http://'+host+':'+port+'/?cmd='+value
          };
          log('Отправляем команду GetAdmin - ' +options.url);
          request(options, function (error, response, body) {
          if (!error && response.statusCode == 200) {
          log('Ответ от сервера - '+response.statusCode);
          setTimeout(function(){check_programm();}, 3000);
          }
          });
          }
          ! function sendKeyGetAdmin(value, host, port){
          var options = {
          url: 'http://'+host+':'+port+'/?key='+value
          };
          log('Отправляем команду GetAdmin - ' +options.url);
          request(options, function (error, response, body) {
          if (!error && response.statusCode == 200) {
          log('Ответ от сервера - '+response.statusCode);
          setTimeout(function(){check_programm();}, 3000);

              }
          });
          

          }

          ! function sendCheckGetAdmin(value, host, port){
          var options = {
          url: 'http://'+host+':'+port+'/?chk='+value
          };
          log('Отправляем команду GetAdmin - ' +options.url);
          request(options, function (error, response, body) {
          if (!error && response.statusCode == 200) {
          log('Ответ от сервера - '+response.statusCode);
          var resp = body.match(/
          ! (.*)</p>/g);
          resp[0] = resp[0].replace(" !", "").replace("</p>", "");
          log(resp[0]);
          setState('javascript.0.GetAdmin.CheckRes', resp[0], true/ack/);

              }
          });
          

          }
          schedule("*/10 * * * *", function () {
          check_programm();
          });

          ! function check_programm() {
          var host = getState('javascript.0.GetAdmin.Host').val;
          var port = getState('javascript.0.GetAdmin.Port').val;
          var strproc = '';
          flag_foobar = false;
          flag_chrome = false;
          flag_utorrent = false;
          ! ping.sys.probe('192.168.1.15', function(isAlive){
          pingPC = isAlive ? true : false;
          if (pingPC){
          var options = {
          url: 'http://'+host+':'+port+'/?cmd=process'
          };
          log('Отправляем команду GetAdmin - ' +options.url);
          request(options, function (error, response, body) {
          if (!error && response.statusCode == 200) {
          log('Ответ от сервера - '+response.statusCode);
          var proc = body.match(/(.*)</html>/g);
          proc[0] = proc[0].toLowerCase();
          proc[0] = proc[0].replace(//g, "").replace(/;</html>/g, "").replace(/.exe/g, "");
          //log(proc[0]);
          var parsebody = [];
          parsebody = proc[0].split(';');
          var j = parsebody.length;
          parsebody.sort();
          while (j--) {
          if (parsebody[j] == parsebody[j-1]) {
          parsebody.splice(j, 1);
          }
          if (j === 1){
          log(parsebody);
          ! for (var i = 0; i < parsebody.length-1; i++) {
          strproc += parsebody[i]+',';
          }
          setState('javascript.0.GetAdmin.Process', strproc);
          if (~strproc.indexOf("foobar2000")) {
          setState('javascript.0.GetAdmin.Process.foobar2000', 'true');
          } else {setState('javascript.0.GetAdmin.Process.foobar2000', 'false');}

                                              if (~strproc.indexOf("utorrent")){
                                                  setState('javascript.0.GetAdmin.Process.uTorrent', 'true');
                                              } else {setState('javascript.0.GetAdmin.Process.uTorrent', 'false');}
          
                                              if (~strproc.indexOf("chrome")){
                                                  setState('javascript.0.GetAdmin.Process.chrome', 'true');
                                              } else {setState('javascript.0.GetAdmin.Process.chrome', 'false');}
                                      }
                                  }
                          } else {
                              setState('javascript.0.GetAdmin.Process', '');
                          }
                       });
              } else {
                  setState('javascript.0.GetAdmin.Process', '');
              }
          
          });
          

          }`[/i]

          ! ```

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

            @instalator:

            Выкладываю свой скрипт, может кому пригодится.

            ! ```
            `createState('GetAdmin.cmd', '');
            createState('GetAdmin.Key', '');
            createState('GetAdmin.Check', '');
            createState('GetAdmin.CheckRes', '');
            createState('GetAdmin.Host', '');
            createState('GetAdmin.Port', '');
            createState('GetAdmin.WOL', '');
            createState('GetAdmin.Power', '');
            createState('GetAdmin.Process', '');
            createState('GetAdmin.MonitorSwitch', '');
            createState('GetAdmin.AudioSwitch', '');
            var request = require('request');
            var wol = require('wake_on_lan');
            var ping = require('ping');
            var flag_foobar = false;
            var flag_chrome = false;
            var flag_utorrent = false;
            ! on({id: 'javascript.0.GetAdmin.cmd', change: 'any'}, function (obj) {
            var host = getState('javascript.0.GetAdmin.Host').val;
            var port = getState('javascript.0.GetAdmin.Port').val;
            if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){
            ping.sys.probe('192.168.1.15', function(isAlive){
            var pingPC = isAlive ? true : false;
            if (!pingPC && (obj.newState.val =='foobar' || obj.newState.val =='torrent' || obj.newState.val =='chrome' || obj.newState.val =='vlc')){
            log('Включаем комп и отправляем команду через 3 минуты: '+ obj.newState.val);
            setState('javascript.0.GetAdmin.WOL', '94DE802DE4CC');
            setTimeout(function() {
            sendCmdGetAdmin(obj.newState.val,host,port);
            log('Отправляем команду GetAdmin - cmd: '+ obj.newState.val);
            }, 180000);
            } else {
            sendCmdGetAdmin(obj.newState.val,host,port);
            log('Отправляем команду GetAdmin - cmd: '+ obj.newState.val);
            }
            });

            } else{log('GetAdmin. Не задана команда.');}
            

            });

            ! on({id: 'javascript.0.GetAdmin.Key', change: 'any'}, function (obj) {
            if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){
            var host = getState('javascript.0.GetAdmin.Host').val;
            var port = getState('javascript.0.GetAdmin.Port').val;
            sendKeyGetAdmin(obj.newState.val,host,port);
            log('Отправляем команду GetAdmin - Key: '+ obj.newState.val);
            }else{log('GetAdmin. Не задана команда.');}
            });
            ! on({id: 'javascript.0.GetAdmin.Check', change: 'any'}, function (obj) {
            if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){
            var host = getState('javascript.0.GetAdmin.Host').val;
            var port = getState('javascript.0.GetAdmin.Port').val;
            sendCheckGetAdmin(obj.newState.val,host,port);
            log('Отправляем команду GetAdmin - Check: '+ obj.newState.val);
            }else{log('GetAdmin. Не задана команда.');}
            });
            ! on({id: 'javascript.0.GetAdmin.Power', change: 'any'}, function (obj) {
            var pingPC = getState('ping.1.Server-PC.192_168_1_10').val;
            if((obj.newState.val == 'true' || obj.newState.val === true) && (pingPC == 'false' || pingPC === false)){
            log('Включаем PC - on');
            setState('javascript.0.GetAdmin.WOL', '94DE802DE4CC'); //
            }
            if(obj.newState.val == 'false' || obj.newState.val === false){
            log('Выключаем PC - off');
            setState('javascript.0.GetAdmin.cmd', 'shutdown');
            }
            });
            ! on({id: 'javascript.0.GetAdmin.WOL', change: 'any'}, function (obj) {
            if(obj.newState.val !== ''){
            wol.wake(obj.newState.val);
            log(obj.newState.val); //00:1B:FC:9A:8B:05
            //var magic_packet = wol.createMagicPacket('00:1B:FC:9A:8B:10');
            }
            });
            ! on({id: 'javascript.0.GetAdmin.MonitorSwitch', change: 'any'}, function (obj) {
            if(obj.newState.val == '0' || obj.newState.val === 0){
            setState('javascript.0.GetAdmin.cmd', 'monitor1', true/ack/);
            }
            if(obj.newState.val == '1' || obj.newState.val === 1){
            setState('javascript.0.GetAdmin.cmd', 'monitor2', true/ack/);
            }
            if(obj.newState.val == '2' || obj.newState.val === 1){
            setState('javascript.0.GetAdmin.cmd', 'monitorextend', true/ack/);
            }
            if(obj.newState.val == '3' || obj.newState.val === 1){
            setState('javascript.0.GetAdmin.cmd', 'monitorclone', true/ack/);
            }
            });
            on({id: 'javascript.0.GetAdmin.AudioSwitch', change: 'any'}, function (obj) {
            if(obj.newState.val == '0' || obj.newState.val === 0){
            setState('javascript.0.GetAdmin.cmd', 'audio1', true/ack/);
            setState('javascript.0.GetAdmin.Key', 'CTRL+ALT+S');
            }
            if(obj.newState.val == '1' || obj.newState.val === 1){
            setState('javascript.0.GetAdmin.cmd', 'audio2', true/ack/);
            setState('javascript.0.GetAdmin.Key', 'CTRL+ALT+A');
            }
            });
            /***************************************************************************************/
            function sendCmdGetAdmin(value, host, port){
            var options = {
            url: 'http://'+host+':'+port+'/?cmd='+value
            };
            log('Отправляем команду GetAdmin - ' +options.url);
            request(options, function (error, response, body) {
            if (!error && response.statusCode == 200) {
            log('Ответ от сервера - '+response.statusCode);
            setTimeout(function(){check_programm();}, 3000);
            }
            });
            }
            ! function sendKeyGetAdmin(value, host, port){
            var options = {
            url: 'http://'+host+':'+port+'/?key='+value
            };
            log('Отправляем команду GetAdmin - ' +options.url);
            request(options, function (error, response, body) {
            if (!error && response.statusCode == 200) {
            log('Ответ от сервера - '+response.statusCode);
            setTimeout(function(){check_programm();}, 3000);

                }
            });
            

            }

            ! function sendCheckGetAdmin(value, host, port){
            var options = {
            url: 'http://'+host+':'+port+'/?chk='+value
            };
            log('Отправляем команду GetAdmin - ' +options.url);
            request(options, function (error, response, body) {
            if (!error && response.statusCode == 200) {
            log('Ответ от сервера - '+response.statusCode);
            var resp = body.match(/
            ! (.*)</p>/g);
            resp[0] = resp[0].replace(" !", "").replace("</p>", "");
            log(resp[0]);
            setState('javascript.0.GetAdmin.CheckRes', resp[0], true/ack/);

                }
            });
            

            }
            schedule("*/10 * * * *", function () {
            check_programm();
            });

            ! function check_programm() {
            var host = getState('javascript.0.GetAdmin.Host').val;
            var port = getState('javascript.0.GetAdmin.Port').val;
            var strproc = '';
            flag_foobar = false;
            flag_chrome = false;
            flag_utorrent = false;
            ! ping.sys.probe('192.168.1.15', function(isAlive){
            pingPC = isAlive ? true : false;
            if (pingPC){
            var options = {
            url: 'http://'+host+':'+port+'/?cmd=process'
            };
            log('Отправляем команду GetAdmin - ' +options.url);
            request(options, function (error, response, body) {
            if (!error && response.statusCode == 200) {
            log('Ответ от сервера - '+response.statusCode);
            var proc = body.match(/(.*)</html>/g);
            proc[0] = proc[0].toLowerCase();
            proc[0] = proc[0].replace(//g, "").replace(/;</html>/g, "").replace(/.exe/g, "");
            //log(proc[0]);
            var parsebody = [];
            parsebody = proc[0].split(';');
            var j = parsebody.length;
            parsebody.sort();
            while (j--) {
            if (parsebody[j] == parsebody[j-1]) {
            parsebody.splice(j, 1);
            }
            if (j === 1){
            log(parsebody);
            ! for (var i = 0; i < parsebody.length-1; i++) {
            strproc += parsebody[i]+',';
            }
            setState('javascript.0.GetAdmin.Process', strproc);
            if (~strproc.indexOf("foobar2000")) {
            setState('javascript.0.GetAdmin.Process.foobar2000', 'true');
            } else {setState('javascript.0.GetAdmin.Process.foobar2000', 'false');}

                                                if (~strproc.indexOf("utorrent")){
                                                    setState('javascript.0.GetAdmin.Process.uTorrent', 'true');
                                                } else {setState('javascript.0.GetAdmin.Process.uTorrent', 'false');}
                                                
                                                if (~strproc.indexOf("chrome")){
                                                    setState('javascript.0.GetAdmin.Process.chrome', 'true');
                                                } else {setState('javascript.0.GetAdmin.Process.chrome', 'false');}
                                        }
                                    }
                            } else {
                                setState('javascript.0.GetAdmin.Process', '');
                            }
                         });
                } else {
                    setState('javascript.0.GetAdmin.Process', '');
                }
                
            });
            

            }`
            Спасибо, очень пригодился[/i]

            ! ``` `

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

              instalator, комп чтоль сдох ?

              я тоже попадался на эту ловушку :x , до кучи раздел был криптован

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

                @aurodionov:

                instalator, комп чтоль сдох ?

                я тоже попадался на эту ловушку :x , до кучи раздел был криптован `
                Бекап битый получился, откатился на декабрь.

                1 Reply Last reply Reply Quote 0
                • F
                  ford7 last edited by

                  Хочу ребенку нарисовать страничку, чтобы он видел какое время он уже сидит за компом (обратный отсчет). Ну и по прошествии этого времени комп выключать.

                  Подскажите, куда копать?
                  256_io_getadmin1.jpg

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

                    Нужен скрипт который попингу отследить время включения компа, какой нить таймер, с переменной таймера брать значение и отображать в виз, по окончании отсчета вырубить комп

                    Пишу с пульта….

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

                      @aurodionov:

                      Нужен скрипт который попингу отследить время включения компа, какой нить таймер, с переменной таймера брать значение и отображать в виз, по окончании отсчета вырубить комп

                      Пишу с пульта…. `
                      Да все верно, можно еще в виз вывести виджет для ввода времени таймера и по нажатию кнопки старт побежит обратный отсчет.

                      1 Reply Last reply Reply Quote 0
                      • F
                        ford7 last edited by

                        В догонку- может есть какие-то параметры запуска, чтобы картинка не висела в трее и/или убрать описание самой программы (about)?

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

                          @ford7:

                          В догонку- может есть какие-то параметры запуска, чтобы картинка не висела в трее и/или убрать описание самой программы (about)? `
                          Ну это если переписать ее что бы как служба запускалась или запаролить настройки, опять же процесс убить можно будет. У меня пока нету времени переписывать программу под единичный случай. На будущее возможно добавлю данный функционал. Пиши пожелания и хотелки.

                          1 Reply Last reply Reply Quote 0
                          • F
                            ford7 last edited by

                            Скопипастил ваш скрипт, ругается на отсутствие модуля:

                            ! 12:49:59.342 [info] javascript.0 Stop script script.js.Getadmin2
                            ! 12:50:34.009 [info] javascript.0 Start javascript script.js.Getadmin2
                            ! 12:50:34.012 [error] javascript.0 script.js.Getadmin2: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/ping' at script.js.Getadmin2:14:12
                            ! 12:50:34.012 [info] javascript.0 script.js.Getadmin2: registered 7 subscriptions and 1 schedule
                            Драйвера установлены
                            256_io_adapters.jpg

                            1 Reply Last reply Reply Quote 0
                            • F
                              ford7 last edited by

                              @aurodionov:

                              Нужен скрипт который попингу отследить время включения компа, какой нить таймер, с переменной таймера брать значение и отображать в виз, по окончании отсчета вырубить комп

                              Пишу с пульта…. `
                              Эхх… вот скриптописец из меня просто писец )))

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

                                @ford7:

                                Скопипастил ваш скрипт, ругается на отсутствие модуля:

                                ! 12:49:59.342 [info] javascript.0 Stop script script.js.Getadmin2
                                ! 12:50:34.009 [info] javascript.0 Start javascript script.js.Getadmin2
                                ! 12:50:34.012 [error] javascript.0 script.js.Getadmin2: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/ping' at script.js.Getadmin2:14:12
                                ! 12:50:34.012 [info] javascript.0 script.js.Getadmin2: registered 7 subscriptions and 1 schedule
                                Драйвера установлены `
                                Добавь модуль в настройки драйвера js
                                266_23424234.png

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

                                  @ford7:

                                  @aurodionov:

                                  Нужен скрипт который попингу отследить время включения компа, какой нить таймер, с переменной таймера брать значение и отображать в виз, по окончании отсчета вырубить комп

                                  Пишу с пульта…. Эхх… вот скриптописец из меня просто писец )))
                                  Тут вариантов много, например так, но это не точный таймер получится.

                                  createState('timer', 0);
                                  var timer;
                                  
                                  on({id: 'javascript.0.timer', change: 'any'}, function (obj) {
                                      if (obj.newState.val > 0){
                                           timer = setTimeout(function() {
                                              setState('javascript.0.timer', obj.newState.val - 1);
                                              log('Прошла секунда');
                                      	}, 1000);
                                      } else {
                                          clearTimeout (timer);
                                          log('ТУТ ВЫКЛЮЧАЕМ КОМП');
                                      }
                                  });
                                  

                                  Можно через schedule сделать. По крону проверяем каждую минуту например переменную и если она больше нуля то отнимаем и записывае новое значение в переменную. Как нибудь так:

                                  createState('timer', 0);
                                   schedule("* * * * *", function () {
                                      var timer = getState('javascript.0.timer').val;
                                      if (timer > 0){
                                         setState('javascript.0.timer', timer - 1);
                                      } else if (timer === 0){
                                          setState('javascript.0.timer', 'Время вышло');
                                          log('ТУТ ВЫКЛЮЧАЕМ КОМП');
                                      }
                                  });
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    rh1212 last edited by

                                    Hello!

                                    Unfortunately I have found no info about this in English. First of thanks instalator for the great tool, so far shutting down my PC using iobroker is working perfectly. However, is there a way I can let my PC press a specific key (such as Space, Delete, or any other) without opening the browser on the host computer?

                                    This is not my field so maybe I missed the way if its available or I misunderstood something.

                                    Thanks a lot!

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

                                      @rh1212:

                                      Hello!

                                      Unfortunately I have found no info about this in English. First of thanks instalator for the great tool, so far shutting down my PC using iobroker is working perfectly. However, is there a way I can let my PC press a specific key (such as Space, Delete, or any other) without opening the browser on the host computer?

                                      This is not my field so maybe I missed the way if its available or I misunderstood something.

                                      Thanks a lot! `
                                      https://blog.instalator.ru/archives/47

                                      there under the spoiler list of supported keys

                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        rh1212 last edited by

                                        @instalator:

                                        @rh1212:

                                        Hello!

                                        Unfortunately I have found no info about this in English. First of thanks instalator for the great tool, so far shutting down my PC using iobroker is working perfectly. However, is there a way I can let my PC press a specific key (such as Space, Delete, or any other) without opening the browser on the host computer?

                                        This is not my field so maybe I missed the way if its available or I misunderstood something.

                                        Thanks a lot! `
                                        https://blog.instalator.ru/archives/47

                                        there under the spoiler list of supported keys `

                                        Thank you for the answer!

                                        My problem is how do I let windows press that key without using letting my browser open after i send the command over iobroker?

                                        So far everytime i want to send key=Space or volup the browser opens with the link. Is there a way to acoid that?

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          rh1212 last edited by

                                          Hi instalator,

                                          So after trying around with the iobroker script I could achieve what I want without getting the browser opened when I want to press (SPACE or VOLUP).

                                          I dont know if what I did makes sense or if it was always the solution but I didnt know it, but here it is:

                                          ! ! createState('GetAdmin.cmd', ''); createState('GetAdmin.Host', ''); createState('GetAdmin.Port', ''); var request = require('request'); ! on({id: 'javascript.0.GetAdmin.cmd', change: 'any'}, function (obj) { if(obj.newState.val !== '' || typeof obj.newState.val !== "undefined"){ var host = getState('javascript.0.GetAdmin.Host').val; var port = getState('javascript.0.GetAdmin.Port').val; sendCmdGetAdmin(obj.newState.val,host,port); sendKeyGetAdmin(obj.newState.val,host,port); log('Отправляем команду GetAdmin - cmd: '+ obj.newState.val); log('Отправляем команду GetAdmin - key: '+ obj.newState.val); }else{log('GetAdmin. Не задана команда.');} }); /***************************************************************************************/ function sendCmdGetAdmin(value, host, port){ var options = { url: 'http://'+host+':'+port+'/?cmd='+value }; log('Отправляем команду GetAdmin - ' +options.url); request(options, function (error, response, body) { log('Ответ от сервера - '+response.statusCode); if (!error && response.statusCode == 200) { ! } }); } ! function sendKeyGetAdmin(value, host, port){ var options = { url: 'http://'+host+':'+port+'/?key='+value }; log('Отправляем команду GetAdmin - ' +options.url); request(options, function (error, response, body) { log('Ответ от сервера - '+response.statusCode); if (!error && response.statusCode == 200) { ! } }); } !

                                          Line 11 and the function sendKeyGetAdmin are important for this to work. Now you can type SPACE or VOLUP in cmd object and it will do that on my PC without opening the browser.

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

                                            @rh1212:

                                            Hi instalator,

                                            So after trying around with the iobroker script I could achieve what I want without getting the browser opened when I want to press (SPACE or VOLUP).

                                            I dont know if what I did makes sense or if it was always the solution but I didnt know it, but here it is:

                                            Line 11 and the function sendKeyGetAdmin are important for this to work. Now you can type SPACE or VOLUP in cmd object and it will do that on my PC without opening the browser. `

                                            ! createState('GetAdmin.cmd', ''); createState('GetAdmin.HotKey', ''); createState('GetAdmin.Host', '192.168.1.10'); //!!!!!!CHANGE NEED createState('GetAdmin.Port', '8585'); //!!!!!!CHANGE NEED var request = require('request'); ! on({id: 'javascript.0.GetAdmin.cmd', change: 'any'}, function (obj) { if(obj.state.val !== '' || typeof obj.state.val !== "undefined"){ var host = getState('javascript.0.GetAdmin.Host').val; var port = getState('javascript.0.GetAdmin.Port').val; sendCmdGetAdmin(obj.state.val,host,port); log('Send to GetAdmin - cmd: '+ obj.state.val); }else{log('GetAdmin. Command not specified');} }); ! on({id: 'javascript.0.GetAdmin.HotKey', change: 'any'}, function (obj) { if(obj.state.val !== '' || typeof obj.state.val !== "undefined"){ var host = getState('javascript.0.GetAdmin.Host').val; var port = getState('javascript.0.GetAdmin.Port').val; sendKeyGetAdmin(obj.state.val,host,port); log('Send to GetAdmin - HotKey: '+ obj.state.val); } else {log('GetAdmin. Command not specified.');} }); /***************************************************************************************/ function sendCmdGetAdmin(value, host, port){ var options = { url: 'http://'+host+':'+port+'/?cmd='+value }; log('Send to GetAdmin - ' + options.url); request(options, function (error, response, body) { log('Response code - '+response.statusCode); if (!error && response.statusCode == 200) { ! } }); } ! function sendKeyGetAdmin(value, host, port){ var options = { url: 'http://'+host+':'+port+'/?key='+value }; log('Send to GetAdmin - ' + options.url); request(options, function (error, response, body) { log('Response code - '+response.statusCode); if (!error && response.statusCode == 200) { ! } }); } !

                                            Support hotkey for write in object GetAdmin.HotKey:

                                            ! CTRL
                                            ! RCTRL
                                            ! ALT
                                            ! RALT
                                            ! SHIFT
                                            ! RSHIFT
                                            ! WIN
                                            ! RWIN
                                            ! ESC
                                            ! ENT
                                            ! DEL
                                            ! INS
                                            ! VOLUP
                                            ! VOLDN
                                            ! MUTE
                                            ! NEXT
                                            ! PREV
                                            ! PLAY
                                            ! STOP
                                            ! BACK
                                            ! SPACE
                                            ! TAB
                                            ! NUMP
                                            ! NUMS
                                            ! NUMD
                                            ! NUM*
                                            ! NUMM
                                            ! NUML
                                            ! CAPS
                                            ! END
                                            ! HOME
                                            ! PGDN
                                            ! PGUP
                                            ! SCRL
                                            ! PRNTSCR
                                            ! SLEEP
                                            ! DOWN
                                            ! UP
                                            ! LEFT
                                            ! RIGHT
                                            ! F1
                                            ! F2
                                            ! F3
                                            ! F4
                                            ! F5
                                            ! F6
                                            ! F7
                                            ! F8
                                            ! F9
                                            ! F10
                                            ! F11
                                            ! F12
                                            ! F13
                                            ! F14
                                            ! F15
                                            ! F16
                                            ! F17
                                            ! F18
                                            ! F19
                                            ! F20
                                            ! F21
                                            ! F22
                                            ! F23
                                            ! F24
                                            ! NUM0
                                            ! NUM1
                                            ! NUM2
                                            ! NUM3
                                            ! NUM4
                                            ! NUM5
                                            ! NUM6
                                            ! NUM7
                                            ! NUM8
                                            ! NUM9
                                            ! 0
                                            ! 1
                                            ! 2
                                            ! 3
                                            ! 4
                                            ! 5
                                            ! 6
                                            ! 7
                                            ! 8
                                            ! 9
                                            ! A
                                            ! B
                                            ! C
                                            ! D
                                            ! E
                                            ! F
                                            ! G
                                            ! H
                                            ! I
                                            ! J
                                            ! K
                                            ! L
                                            ! M
                                            ! N
                                            ! O
                                            ! P
                                            ! Q
                                            ! R
                                            ! S
                                            ! T
                                            ! U
                                            ! V
                                            ! W
                                            ! X
                                            ! Y
                                            ! Z

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            windows
                                            7
                                            51
                                            22961
                                            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