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

      @aurodionov:

      @instalator:

      @aurodionov:

      Instalator, подскажи куда копать, ставлю getadmin на комп.

      Команды отправляются, всё работает, решил заюзать скрипт, и облом.

      Вписываю настройки ,сохраняю падает в ошибку А драйвер SimpleAPI запущен?
      Вроде работает

      ! { /opt/iobroker$ iobroker l i ! system.adapter.admin.0 : admin - enabled, port: 8081, bind: 0.0.0.0, run as: admin system.adapter.web.0 : web - enabled, port: 8082, bind: 0.0.0.0, run as: admin system.adapter.simple-api.0 : simple-api - enabled, port: 8087, bind: 0.0.0.0, run as: admin `
      Ошибка появилась когда прописал в настройках getadmin ip для Simpleapi? А ты скрипт добавил? он же должен переменные создать сначала.

      Пропиши пока руками в скрипте настройки, попробую отловить ошибку потом.
      305_heizungsscript_220_b17_temp.txt

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            797
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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