Описание
Думаю, какого либо специфического описания модуль не требует. Классический будильник, который по наступлении определённого времени запускает выбранный способ оповещения. Из достоинств данного модуля (по сравнению с тем же планировщиком, или любой настройкой через скрипты) - прежде всего простота настройки.
Видео по работе с модулем
Создание будильника
После установки модуля заходите в него, видите пустую страницу с кнопкой "Добавить". После нажатия данной кнопки - увидите примерно такой интерфейс:
Параметры, которые там имеются:
- Название (обязательный параметр) - Название будильника. Допускаются любые символы, русские буквы;
- Включен/Выключен - Без комментариев;
- Время будильника - Время, в которое сработает будильник. Выбирается через интерфейс, либо в текстовом виде в формате XX:XX;
- Дни недели - Соответственно дни недели, в которые будет срабатывать данный будильник;
- Надпись, если включен - Тут уже интереснее. Данная надпись будет передаваться в свойство value у объекта будильника при включении будильника. Данное свойство можно использовать при оформлении на сценах или в меню. Можно использовать параметр %TIME%, чтобы надпись содержала время будильника. Примеры на скрине;
- Надпись, если выключен - Аналогично предыдущему параметру, только передаётся при выключении будильника;
- Одноразовый - После срабатываения будильник выключается
- Способ оповещения - Действие, которое будет совершаться при срабатывании будильника
- Звуковые файлы - Воспроизводит выбранный звуковой файл (управление звуковыми файлами через соответствующий пункт панели управления)
- Вызов метода - Вызов метода любого выбранного объекта
- Запустить сценарий - Запуск выбранного сценария (управление сценариями через соответствующий пункт панели управления)
- PHP код - Произвольный PHP код, который будет выполнен при срабатывании
Оформление
Чтобы вывести управление будильниками в главное меню или на сцену - достаточно использовать стандартные элементы. Выключатель привязать к свойству AlarmOn, а выбор времени к AlarmTime (для сцены элемент выбор времени отсутствует, можно вместно него использовать Menu Cintrol со ссылкой на пункт меню).
Так же можно использовать дополнительные параметры, в обход модуля, используя дополнительно созданные методы и свойства. Пример:
Технические подробности
При создании будильника создаётся соответствующий объект в классе AlarmClock. В описании объекта будет название будильника - для удобства. Все настройки хранятся в свойствах данного объекта.
Описание свойств
- AlarmOn - Включен выключен, допустимые значения 1/0;
- AlarmTime - Время срабатывания, значение - время в формате XX:XX;
- value - свойство, в которое передаются надписи при включении и выключении (если таковые указаны), можно использовать при оформлении будильника;
- method - метод оповещения, допустимые значения sound, method, script, code
- once - признак одноразового будильника, значения 1/0;
- custom_on - надпись, если включен, передаётся при включении будильника в value, текстовая строка;
- custom_off - надпись, если включен, передаётся при выключении будильника в value, текстовая строка;
- days - дни недели, строка из 7 цифр 1/0 для каждого дня недели. Например 0110000 означает, что будильник сработает во вторник и среду;
- code - зависит от способа оповещения. Если выбран способ звуковой файл - то название этого файла, если вызов метода - то там строка с объектом.методом, если запуск скрипта - то имя скрипта, если код, то там продублируется код для выполнения (сам код будет находится в методе AlarmRun
Если не выбран ни один из способов оповещения - запускается метод AlarmRun объекта будильника.
11 thoughts on - Модуль Будильник
добавьте ссылку в модуль на эту страницу
Cделано.
Я новый пользователь можордома. А можно инструкцию тут прописать что и куда дописать при установке. Я пока ещё только разбираюсь, но понял что что-то нужно добавить в объектах тайм в минутах.
При установке никуда ничего прописывать не надо. Создаёте новый будильник через панель управления. Выбираете, скажем, звуковой сигнал. Звуковой сигнал проигрывается при срабатывании в указанное время.
Здравствуйте ещё раз. У меня чистая система, установлено радио и работает. Настроил яндекс погоду. Хотел что бы по будильнику рассказал мне погоду. Установил модуль будильник, а он почему-то не отрабатывает. Даже просто голосовой файл не во производит. Установил на разбори 3. Режим кто-то дома.
А чтобы произносил погоду - надо сделать скрипт который произносит погоду, и его просто выбрать из выпадающего списка.
Разобрался методом тыка. Нужно добавить в объектах, в Time, в onNewMinute, в php снизу добавить строки.
//будильник
$objects=getObjectsByClass("AlarmClock");
foreach($objects as $obj) { // переберем все будильники в системе
if (getGlobal($obj['TITLE'].".AlarmOn") && timeIs(getGlobal($obj['TITLE'].".AlarmTime"))){ //если будильник включен и время совпало
callMethod($obj['TITLE'].".AlarmRun"); // выполним метод будильника
}
}
Ничего нигде не нужно было добавлять. Достаточно было перезагрузить систему или же вручную запустить цикл будильника в иксрее.
Добрый день . Всё установил, перезагрузил цикл. Строки "Связанный объект" , "Метод" отсутствуют ((( . Последняя строка это метод оповещения , сразу за ней "Сохранить".
Что то не так сделал ?
Может не нажали сохранить после выбора метода оповещения?
Да. Спасибо. Нужно было нажать сохранить, чтобы появилась строка ))))