[SLOT_n]
mode = out_3ch

Программный модуль трёх цифровых выходов.

Совместимость

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

Модуль исполняет входящие команды и состоянием входа не занимается — событий, кроме enable, у него нет.

Каждый канал инвертируется опцией inverse_N и получает стартовое состояние опцией defState_N. Помимо прямой установки значения, канал умеет переключаться командой toggle и формировать импульс заданной длительности командой impulse.

Топики

База топика действия:

  • <deviceName>/out_<slot> — например moduleBox/out_0

Полный топик — база плюс направление и имя: moduleBox/out_0/action/ch_0.

Опции

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

  • disableOnStartфлаг, стартовать в выключенном состоянии и ждать action/enable со значением 1. По умолчанию модуль активен сразу.
  • inverse_0число(int), инверсия выхода канала 0. Диапазон 0–1. По умолчанию 0.
  • inverse_1число(int), инверсия выхода. Диапазон 0–1. По умолчанию 0.
  • inverse_2число(int), инверсия выхода. Диапазон 0–1. По умолчанию 0.
  • defState_0число(int), состояние при старте. Диапазон 0–1. По умолчанию 0.
  • defState_1число(int), состояние при старте. Диапазон 0–1. По умолчанию 0.
  • defState_2число(int), состояние при старте. Диапазон 0–1. По умолчанию 0.

События

ТопикPayloadОписание
out_<slot>/event/enable0 / 1Активен 1 или спит 0

Команды

ТопикPayloadОписание
out_<slot>/action/ch_00 / 1Установить состояние канала 0
out_<slot>/action/ch_10 / 1Установить состояние канала 1
out_<slot>/action/ch_20 / 1Установить состояние канала 2
out_<slot>/action/ch_0/toggleПереключить состояние канала 0
out_<slot>/action/ch_1/toggleПереключить состояние канала 1
out_<slot>/action/ch_2/toggleПереключить состояние канала 2
out_<slot>/action/ch_0/impulseцелоеИмпульс на канале 0, длительность в
out_<slot>/action/ch_1/impulseцелоеИмпульс на канале 1, длительность в
out_<slot>/action/ch_2/impulseцелоеИмпульс на канале 2, длительность в
out_<slot>/action/enable0 / 1Включить (1) или выключить (0) модуль

Пример: топик moduleBox/out_0/action/ch_2, payload 1.

Примеры

[SLOT_0]
mode = out_3ch
options = defState_0:0, defState_1:0, defState_2:1
;три кнопки управляют тремя каналами
crosslink = button_1/event/press:@->out_0/action/ch_0:@, button_2/event/press:@->out_0/action/ch_1:@, button_3/event/press:@->out_0/action/ch_2:@

Подробнее — внутренние связи (crossLink).