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.
    • aurodionov
      aurodionov last edited by

      @instalator:

      Ошибка появилась когда прописал в настройках getadmin ip для Simpleapi? А ты скрипт добавил? он же должен переменные создать сначала.

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

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

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

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

        Windows 7 64

        ! 380_1212.jpg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            881
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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