Вопрос про выход из спящего режима

Обсуждение программ nnCron и nnCron LITE

Re: Вопрос про выход из спящего режима

Postby nikitina » Wed, 27 Feb 2008, 08:55

Ладно, эмоции это понятно, но все-таки к делу.

Прописываю скрипты так:

Code: Select all
#( Просыпание_PC
WatchSuspend
Action:
WakeAtDate: 2008 02 22,25,26,27,28,29 07 55
100 MIXER-VOLUME!
)#

#( Засыпание_PC
Time: 10 17 * * * *
Action:
POWER-HIBERNATE
)#


Подобный скрипт усыпил бы ком 22.02 и пробудил бы его только 25.02? Как ваше мнение?
nikitina
 
Posts: 11
Joined: Mon, 18 Feb 2008, 12:12

Re: Вопрос про выход из спящего режима

Postby SeMa » Wed, 27 Feb 2008, 13:46

nikitina wrote:...
Подобный скрипт усыпил бы ком 22.02 и пробудил бы его только 25.02? Как ваше мнение?

Нет, этого он не сделает, поскольку в синтаксисе WakeAtDate ошибка в аргументе числа.
WakeAtDate: <YYYY MM DD hh mm>
Это слово не умеет разбирать перечисление, как слово Time:. Чтобы динамически подставлять в слово нужную дату, надо придумать что-то другое.
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

Re: Вопрос про выход из спящего режима

Postby nikitina » Wed, 27 Feb 2008, 14:20

Спасибо за оперативный ответ! Ну, а все таки, как решить мою проблему с конкретными датами, когда комп спит, а когда не просыпается? Ну, так быть не может, чтобы проблема не решалась!
nikitina
 
Posts: 11
Joined: Mon, 18 Feb 2008, 12:12

Re: Вопрос про выход из спящего режима

Postby AlikasS » Thu, 28 Feb 2008, 06:31

посмотри слова WakeAtWd: и WakeAtDate: выше в топике
пропиши их определения у себя и
например вариант такой
Code: Select all
#( Просыпание_PC
WatchSuspend
Action:
WDay@ 5 <
IF \ сработает в пнд, втр, срд, чтв
   WakeAt: 07:55
ELSE \ сработает в птн, сбт, вск
WakeAtWd: "07:55" 1 \ проснуться в ближайший 1-й день недели в 7-55
THEN
)#

#( Засыпание_PC
Time: 10 17 * * * *
Action:
POWER-HIBERNATE
)#


или такой вариант, проверяй дату когда комп уходит в спячку
Code: Select all
#( Просыпание_PC
Time: * * * 3 * 2008 \ на март
WatchSuspend
: март_ S" 07 08 09 14 15 16 21 22 23 28 29 30" ;
\ пятницы и выходные дни марта, в эти дни "будильник" заводиться на 07-55 на ближайший понедельник,
\ в остальные дни просто будильник на следующий день
Action:
март_ DD SEARCH
IF 2DROP
WakeAtWd: "07:55" 1
ELSE 2DROP
WakeAt: "07:55"
THEN
)#


чуть расширенный вариант, все то же, но
например засыпая 26.03 пропустить 27 число, т.е. поднять комп 28.03 в 07-55
Code: Select all
#( Просыпание_PC
Time: * * * 3 * 2008
WatchSuspend
: март_ S" 07 08 09 14 15 16 21 22 23 28 29 30" ;
Action:

S" 26" DD SEARCH \ можно чуть подругому, но пока только для примера
IF 2DROP WakeAtDate: 2008 03 28 07 55
EXIT
ELSE 2DROP
THEN

март_ DD SEARCH
IF 2DROP
WakeAtWd: "07:55" 1
ELSE 2DROP
WakeAt: "07:55"
THEN
)#
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Вопрос про выход из спящего режима

Postby nikitina » Thu, 28 Feb 2008, 13:14

Спасибо!!! Буду пробовать.
nikitina
 
Posts: 11
Joined: Mon, 18 Feb 2008, 12:12

Re: Вопрос про выход из спящего режима

Postby SeMa » Thu, 28 Feb 2008, 15:47

Предлагаю более усовершенствованный и более универсальный вариант последнего примера.
Логика такая.
1. В управляющей конструкции CASE ... ENDCASE "вбита" годовая таблица "нестандартных" дней, предшествующих празничным дням. Первым делом проверяются именно эти даты и при совпадении переменной new_wake_date присваивается значение даты пробуждения.
2. Если совпадения не найдено, работает обычная схема: если пятница, то проснуться в понедельник; если нет, то на следующий день.
В данном примере я "вбил" все предпраздничные дни на этот год (для Украины).
Code: Select all
#( Просыпание_PC
0 VALUE found?
0 VALUE new_wake_date
WatchSuspend
Action:
TRUE TO found?    \ изначально предполагаем предпраздничный день
CUR-DATE
CASE
    2008 01 04 YMD>DATE OF 2008 01 08 YMD>DATE TO new_wake_date ENDOF   \ Рождество
    2008 03 07 YMD>DATE OF 2008 03 11 YMD>DATE TO new_wake_date ENDOF   \ 8 марта
    2008 04 25 YMD>DATE OF 2008 04 29 YMD>DATE TO new_wake_date ENDOF   \ Пасха
    2008 04 30 YMD>DATE OF 2008 05 04 YMD>DATE TO new_wake_date ENDOF   \ 1 мая
    2008 05 08 YMD>DATE OF 2008 05 12 YMD>DATE TO new_wake_date ENDOF   \ 9 мая
    2008 06 13 YMD>DATE OF 2008 06 17 YMD>DATE TO new_wake_date ENDOF   \ Троица
    2008 06 27 YMD>DATE OF 2008 07 01 YMD>DATE TO new_wake_date ENDOF   \ День Конституции
    2008 08 22 YMD>DATE OF 2008 08 26 YMD>DATE TO new_wake_date ENDOF   \ День Независимости
    2008 12 31 YMD>DATE OF 2009 01 03 YMD>DATE TO new_wake_date ENDOF   \ Новый год
    DUP OF FALSE TO found? ENDOF   \ совпадение не найдено
ENDCASE
found?   \ выбираем схему настройки
IF
    new_wake_date DATE>YMD 07 55 WakeAtDate
ELSE
    WDay@ 5 =
    IF
        WakeAtWd: "07:55" 1
    ELSE
        WakeAt: "07:55"
    THEN
THEN
)#
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

Re: Вопрос про выход из спящего режима

Postby AlikasS » Wed, 02 Jul 2008, 15:43

подправил в теме слово WakeAtWd, была ошибка в нем. здесь
и в Plugins\Системные лежит правильный вариант
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Postby Aveiro » Sun, 22 Aug 2010, 21:15

Приветствую.
Перехожу с другой программы на nnCron,многого еще не изучил,так что извиняйте.
Задача такая,отправляем компьютер в 23:59 в спящий режим.И будим по рабочим дням (1-5) в 9:30. После пробуждения через минуту перезагружаемся( чтобы обнулить ошибки некоторых программ за прошлый день).
А в пятницу отправляем спать и будим только в понедельник в 9:30.
Это реализовать оказалось не очень сложно.Ибо здесь конкретные цифры.
Вот задача с отправкой СМС на мобильник.

Code: Select all
#( Выкл_Компьютера
NoLog
Time: 58 23 * * * *
Action:
PLAY-SOUND: "D:\СИСТЕМА\Мелодии и звуки\Сигналы\Сигнализация.wav"
TQUERY: "Через 1 МИНУТУ компьютер уйдет в СПЯЩИЙ РЕЖИМ. Cохраните свои данные !" 60 Yes
IF
    S" Компьютер уходит в СПЯЩИЙ РЕЖИМ." \ текст
    S" Acer" \ тема
    S" 7*******@sms.beemail.ru 7********@sms.beemail.ru" \ mail кому
    S" av****@mail.ru" \ mail от кого
    S" av**** \ логин
    S" **********" \ пароль
    S" smtp.mail.ru" 25 \ адрес smtp сервера и порт
 SMTP-SEND&ATTACH
    ?DUP IF THINT: "Ошибка отправки СМС: %0 esPICK%" 3
       ELSE
    THINT: "CMC отправлено" 3
 PLAY-SOUND: "D:\СИСТЕМА\Мелодии и звуки\Слова\msga.wav"
  PAUSE: 3000
   THEN
 POWER-HIBERNATE
ELSE
 PAUSE: 120000
 PLAY-SOUND: "D:\СИСТЕМА\Мелодии и звуки\Сигналы\ok.wav"
 TMSG: "Не забудьте по окончании работы перевести компьютер в спящий режим! ." 10
THEN
)#

А вот включение по раб.дням(для воскресенья тоже самое)
Code: Select all
#( Вкл_Компьютера_(Пон-Четв,Воскр.)
NoLog
WatchSuspend
Time: 55-59 23 * * 1-4,7 *
Action:
WakeAt: 9:30
PAUSE: 60000
PLAY-SOUND: "D:\СИСТЕМА\Мелодии и звуки\Сигналы\ok.wav"
TQUERY: "Через 5 СЕКУНД компьютер будет перезагружен." 5 Yes
  IF
  REBOOT
   THEN
)#


Для пятницы :
Code: Select all
#( Вкл_Компьютера_(Пятн)
NoLog
WatchSuspend
Time: 55-59 23 * * 5 *
Action:
WakeAfter: 57:30
PAUSE: 60000
PLAY-SOUND: "D:\СИСТЕМА\Мелодии и звуки\Сигналы\ok.wav"
TQUERY: "Через 5 СЕКУНД компьютер будет перезагружен." 5 Yes
  IF
  REBOOT
   THEN
)#


Но вот загвоздка,иногда нужно будет работать в субботу или воскресенье и после работы отправлять комп в сон,чтобы он проснулся в любом случае в 9:30 в понедельник.Т.е конкретное время отключения неизвестно.
Т.е по идее,как думается мне нужно вычислять время между 9:30 понедельника и временем остановки компа,и эту переменную использовать в WakeAfter.
Или есть другой путь?
Может кто делал подобное,поделитесь реализацией.Спасибо.
P.S и такой вопрос,может nnCron запускать задачи не по горячим клавишам,а по кодовому слову ? Например набираем слово"спать"-запускается задача
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Вопрос про выход из спящего режима

Postby AlikasS » Mon, 23 Aug 2010, 02:17

в топике перед твоим сообщением есть ссылка
там плагин лежит
в нем есть слова
WakeAtDate
WakeAtWd:
обрати внимание на последнее
часть кода будет выглядить примерно так
Code: Select all
    WDay@ 5 <
    IF
        WakeAt: "09:30"
    ELSE
        WakeAtWd: "09:30" 1
    THEN
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Вопрос про выход из спящего режима

Postby Aveiro » Mon, 23 Aug 2010, 03:14

Огромаднейшее спасибо,это то,что нужно. :)
У меня ноут работает когда человека нет рядом,нужно определить момент когда отключается свет.
Наверное через цикл.
Т.е если свет есть-порядок,он отключается-срабатывает условие.Через пару секунд с этого момента сного проверить от чего питается ноут( чтобы исключить кратковременного отключения на пару секунд).Если света нет-пропинговать сервер.Если и сервер не пингуется,значит логика делает вывод о отключении света- уходим в спящий режим к примеру на 20 минут.По пробуждению сного смотрим питание,если сного-батареи и сервера не пингуются-спать на 20 минут...и т.д,пока не появится свет.
nnCron может подобное ?
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Вопрос про выход из спящего режима

Postby AlikasS » Mon, 23 Aug 2010, 10:52

Aveiro wrote:У меня ноут работает когда человека нет рядом,нужно определить момент когда отключается свет.
Наверное через цикл.
Т.е если свет есть-порядок,он отключается-срабатывает условие.Через пару секунд с этого момента сного проверить от чего питается ноут( чтобы исключить кратковременного отключения на пару секунд).Если света нет-пропинговать сервер.Если и сервер не пингуется,значит логика делает вывод о отключении света- уходим в спящий режим к примеру на 20 минут.По пробуждению сного смотрим питание,если сного-батареи и сервера не пингуются-спать на 20 минут...и т.д,пока не появится свет.
nnCron может подобное ?

может. :-) сам как пробовал?
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Вопрос про выход из спящего режима

Postby Aveiro » Mon, 23 Aug 2010, 19:37

Увы мне знаний не хватит,я даже не знаю как определить момент перехода ноута на батареи.
В другой программе я выводил на экран окно "Свойства: Электропитание" и там постоянно считывал текст из него,при появлении слова"батареи" запускалась задача...а как в Кроне это сделать,считать текст пока не знаю...
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Вопрос про выход из спящего режима

Postby AlikasS » Tue, 24 Aug 2010, 02:14

Aveiro wrote:...
У меня ноут работает когда человека нет рядом,нужно определить момент когда отключается свет.
Наверное через цикл.
Т.е если свет есть-порядок,он отключается-срабатывает условие.Через пару секунд с этого момента сного проверить от чего питается ноут( чтобы исключить кратковременного отключения на пару секунд).Если света нет-пропинговать сервер.Если и сервер не пингуется,значит логика делает вывод о отключении света- уходим в спящий режим к примеру на 20 минут.По пробуждению сного смотрим питание,если сного-батареи и сервера не пингуются-спать на 20 минут...и т.д,пока не появится свет.
nnCron может подобное ?

нужен подключенный в nncron.ini плагин
wakeup.spf и
powerstate.spf

Code: Select all
#( слежение_за_выключением
NoActive
NoLog
SingleInstance
WatchSuspend
Action:
WakeAfter: 00:20
CUR-NODE CF-ACTIVE CLR-CRON-FLAG
)#

#( слежение_за_питанием
SingleInstance
NoLog
\ более 600 секунд за компом никого нет
\ это что бы, если есть юзер, он принимал решение о спящ.режиме
Rule: IDLE: 600 ;
Action:
AC-LINE-STATUS NOT
IF 2000 PAUSE
   AC-LINE-STATUS NOT
   IF 2000 PAUSE \ дальше пингуем сервер
      HOST-EXIST: "192.168.0.1" NOT
      IF
      \ TQUERY: "выключить комп?" 30 Yes  NOT IF EXIT THEN
      слежение_за_выключением @ CF-ACTIVE SET-CRON-FLAG
      2000 PAUSE POWER-FORCE POWER-HIBERNATE
      THEN
   THEN
THEN
)#


P.S. возможно нужна будет авторизация и подгрузка профиля,
смотри:
AsLoggedUser (или User: имя_юзера Password: пароль Domain: домен LogonInteractive ) и
LoadProfile
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Вопрос про выход из спящего режима

Postby Aveiro » Tue, 24 Aug 2010, 03:20

Спасибо.
Чувствуется профи.... :)
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Вопрос про выход из спящего режима

Postby kolik76 » Wed, 08 May 2013, 23:12

Люди добрые помогите, как заставить чтобы выходил из спящего режима, пробовал
#( Просыпание_PC
WatchSuspend
Action:
WakeAfter: 00:01
)#

не помогает. ОС Windows 7 HP_SP1
kolik76
 
Posts: 24
Joined: Wed, 08 May 2013, 13:52

Previous

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest