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:

      Пока редактировал, уже ответили )

      Кстати пришла мысль запускать программы с параметрами (пример хром с конкретной страничкой, плеер с плейлистом и тд) `
      Попробуй указать файл для запуска плейлист. И просто ссылку на сайт

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

        Переписал программу, выложил версию 2.0. Количество записей макс 100.

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

          2.1

          Исправлены некоторые ошибки.

          Добавил команду chk, проверка в процессах запущено ли приложение.

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

            @instalator:

            2.1

            Исправлены некоторые ошибки.

            Добавил команду chk, проверка в процессах запущено ли приложение. `
            Последнее время очень много говорится про защищённость. Твоё API висит открытым всем ветрам 🙂

            Хоть basicAuth+SSL добавить бы.. 🙂

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

              @Bluefox:

              @instalator:

              2.1

              Исправлены некоторые ошибки.

              Добавил команду chk, проверка в процессах запущено ли приложение. `
              Последнее время очень много говорится про защищённость. Твоё API висит открытым всем ветрам 🙂

              Хоть basicAuth+SSL добавить бы.. 🙂 `

              Ну из вне то не будет работать, у меня сеть за NATом, из внешки только по VPN доступ.

              как функционал допилю погляжу по безопасности.

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

                Обновил шапку версия 2.2.

                Добавил поддержку эмуляции горячих клавиш. Если не работают, те которыми пользуетесь, пишите.

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

                  Очередное обновление. 2.5

                  Немного причесал, скорее всего в таком варианте она и останется.

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

                    Обалдеть, глобальный подход однако.

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

                      @Bluefox:

                      Может сделать прогу хотя бы двуязычной? Полезная штука 🙂 `
                      Исполнено!

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

                        Отлично. Перевел на немецкий: http://forum.iobroker.net/viewtopic.php?f=23&t=1848

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

                          update

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

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

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

                            Вписываю настройки ,сохраняю падает в ошибку
                            51_get.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            932
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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