Совсем дешево, мимоходом (ну, да. виноват) приобрел вот такой пульт:

Он предназначен для управления rgb-лентами с соответствующим силовым блоком. Этого блока у меня нет, а пульт- есть.
Дорабатываем слегка файл analiaze.lua и вот у нас новая возможность применить этот пульт, например, в сценариях или как обычный выключатель.
Привязываем на прием к ячейке 61 и работать это станет так:

То есть при нажатии правых кнопок (коротком, длинном) мы получим четыре посылки на mqtt брокер типа fromnoo01/61/scen17, где 61 — ячейка привязки, а scen16 — scen19 четыре топика, в которые выдается сообщение «ON».
Мне нужен был дополнительный выключатель света в коридоре (тот, что в предыдущем посте), причем из такого места, где текущее состояние силового блока видно не будет. Следовательно, левой нижней кнопкой изменения состояния блока я воспользоваться не могу. Решение — на правую верхнюю сделать включение, на правую нижнюю — выключение.
Делаем итем:
Switch noo01cn61 "Коридор (61)" (Noo01) { mqtt="<[mosquitto:fromnoo01/61/scen17:state:default], <[mosquitto:fromnoo01/61/scen18:state:MAP(reverse.map)]"}
Пишем правило:
rule "When Second Corridor Switch Fired" //
when
Item noo01cn61 received update
then
if (noo01cn61.state == ON) {
postUpdate(noo01cc02, ON)
sendCommand(noo01cc02, ON)
}
else {
postUpdate(noo01cc02, OFF)
sendCommand(noo01cc02, OFF)
}
end
Создаем файл reverse.map в папке transform с одной строкой:
ON=OFF
У нас получился весьма полезный выключатель, управляющий светом в коридоре через подачу команд на включение и выключение.
Мы задействовали короткие нажатия на кнопки пульта, а длинные нажатия остались у нас в резерве. Полагаю, ненадолго.