Автоматическое отключение компьютеров по времени

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Alexiy2
Сообщения: 104
Зарегистрирован: Вт май 12, 2015 9:59 pm
Благодарил (а): 16 раз
Поблагодарили: 13 раз

Автоматическое отключение компьютеров по времени

Сообщение Alexiy2 » Пн сен 12, 2016 9:52 pm

Доброго времени суток, Господа!!!
Суть вопроса такова:
Имеем несколько компьютеров в локалке (компьютера принадлежат детям), Алиса может их выключать по Wake on Lan. Так же идет мониторинг Алисой, в сети ли эти компьютера или нет! Надо ограничить работу данных машин на определенное время в сутки. Т.е. если данная машина находится в сети суммарно более 120 минут в сутки, то необходимо, что бы Алиса ее отключила. И если компьютер повторно включат, то сервер должен тут же при ее появлении в сети, отключать!
Подскажите реализацию данной задачи!!! Не силен я в PHP!!!

Заранее благодарен. Думаю, что многие родители хотели бы ограничить свое чадо от долгих посиделок за компьютером!
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Автоматическое отключение компьютеров по времени

Сообщение savenko_egor » Пн сен 12, 2016 10:09 pm

Как вариант: Выключаем компьютер удаленно
Погуглите. Информации реально много!
Alexiy2
Сообщения: 104
Зарегистрирован: Вт май 12, 2015 9:59 pm
Благодарил (а): 16 раз
Поблагодарили: 13 раз

Re: Автоматическое отключение компьютеров по времени

Сообщение Alexiy2 » Пн сен 12, 2016 11:31 pm

Вы, видимо, всей сути не поняли! Отключение уже реализовано! Сложность именно в подсчете общего времени работы компьютера за сутки! Надо сделать так, что бы компьютер мог работать именно 120 минут в сутки и не более того!

Отправлено с моего SM-T116 через Tapatalk
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Автоматическое отключение компьютеров по времени

Сообщение nick7zmail » Вт сен 13, 2016 7:43 am

Alexiy2 писал(а):Вы, видимо, всей сути не поняли! Отключение уже реализовано! Сложность именно в подсчете общего времени работы компьютера за сутки! Надо сделать так, что бы компьютер мог работать именно 120 минут в сутки и не более того!

Отправлено с моего SM-T116 через Tapatalk
Не зная как у вас всё организовано - трудно предложить правильный вариант, но будет примерно так:
-объект для компьютера к примеру comp1
-свойство comp1.timelimit - ограничение по времени (в вашем случае 120...можно регулировать из меню к примеру)
-свойство comp1.online - 1 если в сети, 0 если не в сети

В ежеминутном цикле пишем:

Код: Выделить всё

//Выключение компов
if (date('H:i')=='00:00') {
   sg('comp1.timetoday', 0);//сбрасываем ежедневное время в 12 ночи
}
if (gg('comp1.online')) {
   sg('comp1.timetoday', gg('comp1.timetoday')+1); //прибавляем 1 мин к времени работы, если комп включен
}
if (gg('comp1.timetoday')>=gg('comp1.timelimit')) {
   cm('comp1.turnoff'); //запускаем метод на выключение, если время за сегодня больше лимита
}
И так для каждого компа. Если все компы в отдельном классе - можно классовым методом запускать.
PS: Код писал "от руки", без рабочей системы под рукой)) Проверить негде, если что не сработает - пишите.
Последний раз редактировалось nick7zmail Вт сен 13, 2016 8:38 am, всего редактировалось 2 раза.
За это сообщение автора nick7zmail поблагодарил:
Amarok (Вт сен 13, 2016 8:03 am)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Alexiy2
Сообщения: 104
Зарегистрирован: Вт май 12, 2015 9:59 pm
Благодарил (а): 16 раз
Поблагодарили: 13 раз

Re: Автоматическое отключение компьютеров по времени

Сообщение Alexiy2 » Вт сен 13, 2016 8:32 am

Спасибо огромное! Вот это ответ! Все развернуто для особо "ОДАРЕННЫХ"! По прибытию домой обязательно попробую!

Отправлено с моего SM-T116 через Tapatalk
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Автоматическое отключение компьютеров по времени

Сообщение lanket » Вт сен 13, 2016 9:11 am

Хорошие идеи вы подняли. Хотел бы немного дополнить вашу идею Вдруг понравится точка Может быть еще предупредить а подключение за 5 минут 3 и одну минуту . чтобы ребенок успел например заранее подготовиться к выключению компьютера. Зачем это надо? Пример он может заниматься полезным делом а не только в игры играть.

Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Alexiy2
Сообщения: 104
Зарегистрирован: Вт май 12, 2015 9:59 pm
Благодарил (а): 16 раз
Поблагодарили: 13 раз

Re: Автоматическое отключение компьютеров по времени

Сообщение Alexiy2 » Вт сен 13, 2016 10:41 am

В 7 винде при получении пакета на отключение приходит сообщение на экран о выключении. А в сам пакет можно любое время на отсрочку выключения поставить. У меня 5 минут стоит. Т.е. перед включением за пять минут выходит на экран сообщение

Отправлено с моего SM-T116 через Tapatalk
За это сообщение автора Alexiy2 поблагодарил:
lanket (Вт сен 13, 2016 1:31 pm)
Рейтинг: 1.16%
Alexiy2
Сообщения: 104
Зарегистрирован: Вт май 12, 2015 9:59 pm
Благодарил (а): 16 раз
Поблагодарили: 13 раз

Re: Автоматическое отключение компьютеров по времени

Сообщение Alexiy2 » Вс сен 18, 2016 7:11 pm

Господа!
А не подскажите как правильно записывать код:
Имеются свойства объекта Comp "timelimit" и "timetoday"! Надо вычесть разницу между этими свойствами и внести ответ в свойство "timeleft". Написал такой код, но он не работает:

Код: Выделить всё

gg($obj['TITLE'].".timeleft")==sg($obj['TITLE'].".timelimit")-sg($obj['TITLE'].".timetoday"); 
Где моя ошибка?

Просьба сильно не пинать ногами - я только познаю этот прекрасный мир программирования!
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Автоматическое отключение компьютеров по времени

Сообщение ipz » Вс сен 18, 2016 8:34 pm

Поменять местами sg и gg
sg - установить значение
gg - получить значение

UPD:
У sg() два аргумента: название свойства и само значение, поэтому правильно так

Код: Выделить всё

sg( $obj['TITLE'].".timeleft", gg($obj['TITLE'].".timelimit")-gg($obj['TITLE'].".timetoday") );
Последний раз редактировалось ipz Вс сен 18, 2016 11:58 pm, всего редактировалось 2 раза.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Автоматическое отключение компьютеров по времени

Сообщение olehs » Вс сен 18, 2016 8:43 pm

Код: Выделить всё

sg($obj['TITLE'].".timeleft", gg($obj['TITLE'].".timelimit")-gg($obj['TITLE'].".timetoday"));
*** Сообщение запрещено. Сообщение похоже на спам. ***
Ответить