NEWS
Программа управления компьютером GetAdmin
-
Ошибка появилась когда прописал в настройках getadmin ip для Simpleapi? А ты скрипт добавил? он же должен переменные создать сначала.
Пропиши пока руками в скрипте настройки, попробую отловить ошибку потом. `
Да скрипт добавил, переменные создались -
Не запускается программа, в диспетчере висят три процесса GetAdmin.exe *32, на попытки закрыть принудительно не отвечают.
Запускал от администратора.
Windows 7 64
!

-
Не запускается программа, в диспетчере висят три процесса GetAdmin.exe *32, на попытки закрыть принудительно не отвечают.
Запускал от администратора.
Windows 7 64
! filename="1212.jpg" index="0">~~ `
У меня тоже вин7 64 запускается норм и без администратора. С момента написания стоит в автозагрузке и глюков вообще не было.В итоге получилось запустить?
-
На моем нет, а на другом компе да, хотя там тоже стоит win 7 64.
Может что то нужно дополнительно поставить типа NET Framework или с чем-то конфликтует?
-
Выкладываю свой скрипт, может кому пригодится.
! ```
`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]
! ```
-
Выкладываю свой скрипт, может кому пригодится.
! ```
`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]! ``` `
-
instalator, комп чтоль сдох ?
я тоже попадался на эту ловушку :x , до кучи раздел был криптован
-
instalator, комп чтоль сдох ?
я тоже попадался на эту ловушку :x , до кучи раздел был криптован `
Бекап битый получился, откатился на декабрь. -
Хочу ребенку нарисовать страничку, чтобы он видел какое время он уже сидит за компом (обратный отсчет). Ну и по прошествии этого времени комп выключать.
Подскажите, куда копать?
256_io_getadmin1.jpg -
Нужен скрипт который попингу отследить время включения компа, какой нить таймер, с переменной таймера брать значение и отображать в виз, по окончании отсчета вырубить комп
Пишу с пульта….
-
Нужен скрипт который попингу отследить время включения компа, какой нить таймер, с переменной таймера брать значение и отображать в виз, по окончании отсчета вырубить комп
Пишу с пульта…. `
Да все верно, можно еще в виз вывести виджет для ввода времени таймера и по нажатию кнопки старт побежит обратный отсчет. -
В догонку- может есть какие-то параметры запуска, чтобы картинка не висела в трее и/или убрать описание самой программы (about)? `
Ну это если переписать ее что бы как служба запускалась или запаролить настройки, опять же процесс убить можно будет. У меня пока нету времени переписывать программу под единичный случай. На будущее возможно добавлю данный функционал. Пиши пожелания и хотелки. -
Скопипастил ваш скрипт, ругается на отсутствие модуля:
! 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 -
Нужен скрипт который попингу отследить время включения компа, какой нить таймер, с переменной таймера брать значение и отображать в виз, по окончании отсчета вырубить комп
Пишу с пульта…. `
Эхх… вот скриптописец из меня просто писец ))) -
Скопипастил ваш скрипт, ругается на отсутствие модуля:
! 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 -
Нужен скрипт который попингу отследить время включения компа, какой нить таймер, с переменной таймера брать значение и отображать в виз, по окончании отсчета вырубить комп
Пишу с пульта….
Эхх… вот скриптописец из меня просто писец )))
Тут вариантов много, например так, но это не точный таймер получится.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('ТУТ ВЫКЛЮЧАЕМ КОМП'); } }); -
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!
-
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/47there under the spoiler list of supported keys
-
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/47there under the spoiler list of supported keys `
Thank you for the answer!
My problem is how do I let windows press that key without using letting my browser open after i send the command over iobroker?
So far everytime i want to send key=Space or volup the browser opens with the link. Is there a way to acoid that?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login