- iRidium studio 2019
- Расписание событий (Scheduler)
Расписание событий (Scheduler)'''
Schedule в серверной логике - это планировщик с событиями, доступен в панели SCHEDULER при настройке логики для iRidium server. Свойства событий:
- события могут срабатывать однократно и с заданной периодичностью;
- событие может начаться (Start) и закончиться (Finish), начало и конец события могут активировать сценарии сервера;
- событие может находиться в процессе выполнения (In process) или не выполняться прямо сейчас (Not in process). Состояние события можно использовать как исключающее условие (BUT ONLY IF) в сценариях сервера;
- время срабатывания события можно менять в процессе работы сервера;
- периодичность срабатывания события нельзя менять в процессе работы сервера;
- событие можно включить и включить в процессе работы сервера.

Типы расписаний
Расписания делятся на 2 типа: Advanced и Simple .

Advanced - продвинутые (основные) расписания. С помощью продвинутых расписаний можно предварительно задать в студии время и дни начала и окончания события, а также период повторения события. Продвинутые расписания так же работают с элементом TimeTable.
*
Подробное описание настройки продвинутых расписаний см. ниже.

Simple - упрощенные расписания. Упрощенные расписания имеют меньше параметров настроек, но дают возможность работать с редактируемыми сценариями из запущенного панельного проекта.
- В упрощенных расписаниях возможно настроить только дату и время начала события. Для того, чтобы привязать действие к концу события, необходимо создать отдельное событие (Event).
- Подробное описание настройки редактируемых сценариев описано здесь.
Настройки событий расписания
- Name - название события.
- Description - краткое описание (не обязательно).
- Start - дата и время начала события.
-
- Select time - дата и время.
-
- Sunrise, Sunset - время восхода или заката солнца. Для использования нужно настроить астротаймер.
- Finish - дата и время завершения события. Галочка "Specify the Date" по умолчанию снята, это значит, что событие закончится в тот же день, что началось. Поставив галочку, вы можете указать дату окончания события.
-
- Select time - дата и время.
-
- Sunrise, Sunset - время восхода или заката солнца. Для использования нужно настроить астротаймер.
Параметры "Sunrise" и "Sunset" имеют дополнительную возможность по смещению времени от текущего момента.
Смещение времени имеет два параметра:
"-" - временной сдвиг в отрицательную сторону относительно события;
"+" - временной сдвиг в положительную сторону относительно события.
- Repeat - периодичность повторения события. Если выключено, событие сработает 1 раз, в указанную при настройке дату и время. Настройку повторения см. ниже.
- End - когда завершить повторение события (если включено повторение).
-
- Never - никогда.
-
- Date - в указанную дату.
Repeat: настройки повторения событий
- Repeat - периодичность повторения события.
-
- Never - не повторять событие. Событие сработает 1 раз, в указанную при настройке дату и время.
-
- Every Day - каждый день, в указанное время.
-
- Every Week - в тот же день недели, что началось, каждую неделю. Например, каждый Пн.
-
- Every 2 Weeks - в тот же день недели, что началось, каждую 2ю неделю. Например, каждое второе Вс.
-
- Every Monts - в ту же дату, что началось, каждый месяц. Например, каждое 23е число.
-
- Every Year - в ту же дату и месяц, что началось, каждый год. Например, каждое 1 января.
-
- Custom - позволяет настроить повторение по дням, неделям, месяцам, годам, но с большим периодом. Например, каждые 3 дня, или каждый 2й понедельник указанных месяца.
-
-
- Period - периодичность повторения.
-
-
-
-
- By Days - повторять каждый N-й день, начиная с даты начала события. Например, каждый 2й день.
-
-
-
-
-
-
- Every: Days - интервал повторения в днях, от 1 до 365. * * * * By Weeks - повторять каждую N-ю неделю, в указанные дни недели, начиная с даты начала события. Например, четверг каждой 2й недели.
-
-
-
-
-
-
-
- Every: Weeks - интервал повторения в неделях, от 1 до 52. * * * * * On specified days of week - укажите дни недели, в которые нужно повторять событие.
-
-
-
-
-
-
- By Months - повторять каждый N-й месяц. Выберите принцип повторения: в указанные числа месяца / в указанные дни месяца. Например, каждый 2й месяц, 23 число. Или каждый 1й понедельник месяца.
-
-
-
-
-
-
- Every: Months - интервал повторения в месяцах, от 1 до 12. * * * * * On specified dates of month - повторение в указанные числа месяца. Можно выбрать несколько чисел.
-
-
-
-
-
-
-
- On specified days of month - повторение в указанные дни месяца: 1й понедельник, 4е воскресенье, ...
-
-
-
-
-
-
- By Years - повторять каждый N-й год.
-
-
-
-
-
-
- Every: Years - интервал повторения в годах.
-
-
-
-
-
-
-
- On specified months -месяцы года, когда событие будет повторяться. Оно сработает в дату начала события.
-
-
-
-
-
-
-
- On specified days - для повторения в указанный день недели, а не дату месяца, поставьте галочку "At specified Day". Например, можно настроить срабатывание в 1й понедельник месяца.
-
-
-
- End - дата, в которую повтор события должен завершиться.
-
- Never - никогда.
-
- Date - выбор даты.
Астротаймер
Астротаймер предназначен для создания расписаний и правил, связанных с восходом и закатом солнца. Например, необходимо создать расписание, по которому уличное освещение будет включаться на закате и отключаться на рассвете. Для работы с астротаймером не требуется подключение к интернету.
- Откройте Настройки серверного проекта:
- Укажите параметры Location :
- Latitude и Longitude - широта и долгота геопозиции сервера, в виде десятичной дроби.

На вкладке System tokens серверного проекта, вы найдете токены Latitude и Longitude в папке Project . Эти токены хранят значения долготы и широты, указанные в настройках проекта. Значения токенов можно изменить или получить с помощью скриптовых методов IR.SetVariable и IR.GetVariable.
Пример:
IR.AddListener(IR.EVENT_START, 0, function () {
<translate>
<!--T:45-->
//записать в токен "Latitude" значение "16.155562":</translate>
IR.SetVariable("System.Project.Latitude", 16.155562);
<translate>
<!--T:46-->
//присвоить переменной "lat1" значение токена "Latitude":</translate>
var lat1 = IR.GetVariable("System.Project.Latitude");
<translate>
<!--T:47-->
//записать в токен "Longitude" значение "122.145897":</translate>
IR.SetVariable("System.Project.Longitude", 122.145897);
<translate>
<!--T:48-->
//присвоить переменной "long1" значение токена "Longitude":</translate>
var long1 = IR.GetVariable("System.Project.Longitude");
<translate>
<!--T:49-->
//вывести значения переменных в лог:</translate>
IR.Log(lat1 + " / " + long1);
});
- Настройте Правила для работы астротаймера, более подробно о настройке можно прочитать здесь.