[SLOT_n]
mode = timer

Программный модуль реализующий таймер. Виртуальный слот, не взаимодействует с аппаратной частью. Виртуальный модуль, использует слоты 0-9.

Принцип работы

Модуль ждет команды на запуск. Время таймера может быть указано в виде опции или аргумента команды. Рапортует при достижении заданного времени. Может быть остановлен в любой момент.

Топик

Стандартный топик событий и действий:

  • “deviceName/timer_{slot_num}” - {slot_num} номер слота. Пример:
    • “moduleBox/timer_6”

Опции

Доступные опции:

  • time - число(int), время работы таймера в . По умолчанию 1000.
  • topic - строка, нестандартный топик событий и действий.

Команды

  • /start — запуск таймера. В качестве аргумента можно передать время работы таймера в . Если значение не задано или равно нулю, будет использован параметр заданный в опциях. Если таймер уже работает, он будет перезапущен с начала.
    • Пример: “moduleBox/timer_6/start” — запустить таймер используя период заданный в конфигурации.
    • Пример: “moduleBox/timer_6/start:1000” — запустить таймер на 1 секунду.
  • /stop — остановка таймера, рапорт не будет отправлен.
    • Пример: “moduleBox/timer_6/stop

События

  • /timerEnd — рапортует при достижении заданного времени. Пример: “moduleBox/timer_6/timerEnd

Пример

;при нажатии на кнопку включается подсветка и таймер который выключит подсветку через 1сек
[SLOT_0] 
mode = button_led 
options = empty 
crosslink = button_0:1->led_0:1, button_0:1->timer_6/start:1000
 
[SLOT_6] 
mode = timer 
options = empty
crosslink = timer_6/timerEnd:@->led_0:0 

Подробнее об использовании crossLink