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, подскажи куда копать, ставлю getadmin на комп.

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

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

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

        @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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            866
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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