Настройка будильника, не стартует.

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

Модератор: immortal

Ответить
Dinariys
Сообщения: 2
Зарегистрирован: Сб дек 14, 2013 12:01 am
Благодарил (а): 0
Поблагодарили: 0

Настройка будильника, не стартует.

Сообщение Dinariys » Пн дек 23, 2013 1:52 am

Здравствуйте.

Будильник не хочет стартовать по расписанию. При запуске теста, скрипт отрабатывается.
Настройки будильника брал у пользователей с CONNECT'а.

Как я делал:
  • Создал класс: AlarmClock
    Создал свойства: AlarmOn и AlarmTime
    Создал метод: AlarmRun
    Создал объект AlarmWeekDay
    Для объекта и его свойств присвоил значения: AlarmWeekDay.AlarmTime = 05:30:00 и AlarmWeekDay.AlarmOn = 1
Скрипт для AlarmRun прописываю в методе для AlarmWeekDay:

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

if (isWeekDay()){ // сегодня рабочий день
  say('Пора вставать!',5);
}
Дальше для класса Timer и метода onNewMinute добавляю следующий код к тому, что уже там есть:

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

$h=(int)date('G',time());
$m=date('i',time());

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

//будильник
$objects=getObjectsByClass("AlarmClock");
foreach($objects as $obj) { // переберем все будильники в системе
  if ((getGlobal($obj['TITLE'].".AlarmOn") == 1) && timeIs(getGlobal($obj['TITLE'].".AlarmTime"))){ //если будильник включен и время совпало
    callMethod($obj['TITLE'].".AlarmRun"); // выполним метод будильника
  }
}
После перезапустил MDM.

Значение свойства AlarmWeekDay.AlarmOn меняю через выключатель в меню.
В X-Ray отображается присвоенное значение, как для AlarmOn, так и для AlarmWeekDay.AlarmTime.
cycle_main успешно работает.
Время, так же совпадает с системным, т.е. верное и Алиса правильно произносит время.

Только начал вчера работать с MDM. Будильник это первое, что я пытаюсь добавит, но ни как не получается, перечитал весь форум и CONNECT. Уже отчаялся его настроить.

ОС: Windows 8.1 x64

Заранее спасибо за помощь.
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: Настройка будильника, не стартует.

Сообщение dmw » Пн дек 23, 2013 6:00 am

Вместо: callMethod($obj['TITLE'].".AlarmRun"); // выполним метод будильника
Это: callMethod("AlarmWeekDay.AlarmRun"); // выполним метод будильника
Аватара пользователя
Amarok
Сообщения: 1427
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Настройка будильника, не стартует.

Сообщение Amarok » Пн дек 23, 2013 6:23 am

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

$objects=getObjectsByClass("AlarmClock");
foreach($objects as $obj) { // переберем все будильники в системе
  if (getGlobal($obj['TITLE'].".AlarmOn") && timeIs(getGlobal($obj['TITLE'].".AlarmTime"))){ //если будильник включен и время совпало
    callMethod($obj['TITLE'].".AlarmRun"); // выполним метод будильника
  }
}
У меня так работает
Моя Алиска живёт на Proxmox в Debian 12
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Настройка будильника, не стартует.

Сообщение ErmolenkoM » Пн дек 23, 2013 8:14 am

Dinariys писал(а): Будильник не хочет стартовать по расписанию.
Для объекта и его свойств присвоил значения: AlarmWeekDay.AlarmTime = 05:30:00
Думаю поможет если сделать вот так:

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

AlarmWeekDay.AlarmTime = 05:30
Лучше сделать, что бы AlarmTime так же можно было выбирать из меню. Это позволит избежать этой ошибки.
aka msh555
Cubian на Cubietruck, Connect
Dinariys
Сообщения: 2
Зарегистрирован: Сб дек 14, 2013 12:01 am
Благодарил (а): 0
Поблагодарили: 0

Re: Настройка будильника, не стартует.

Сообщение Dinariys » Пн дек 23, 2013 8:50 am

Спасибо большое msh555.
Убрал секунды и будильник сразу заработал. Ураааа.
По Вашему совету добавил выбор времени в меню.
Вы супер.
Ответить