У релейных модулей есть возможность “биндить” входы на выходы по “матрице”, определяющией различные режимы управления.
Есть возможность настроить различное поведение выходов в случае пропадания связи либо восстановлении питания.
Чего нет: нет возможности определить разный “биндинг” по матрице при наличии связи и отсутствии.
Для чего: кейс: умная лампочка с зигби. На стене выключатель без фиксации, заведён в релейный модуль.
Хотелось бы иметь возможность (помимо поднятого реквеста на отработку одинарного-двойного клика) иметь возможность делать “смарт” функции: если у нас есть связь и мы нажали кнопку и у нас ночь - включать лампу по зигби с яркостью 10%.
Если зигби\модбас развалился - то управление идёт путем коммутации реле.
У меня есть люстра с пультом управления, которая меняет режим работы при каждом повторном включении питания. Это очень неудобно, т.к. приходится нажимать на выключатель (подключенный к WB-MR6) по нескольку раз чтобы добиться нужного режима люстры. Чтобы от этого уйти, я установил IR- шлюз, который имитирует сигналы вкл/выкл с пульта. При этом люстра остается запитана, она сохраняет в памяти свой режим работы и выключается программно. Клавишу выключателя, подключенную к WB-MR6 я отвязал от соответствующего реле и настроил в wb-rules отправлять IR сигнал.
В этой реализации мне не нравится, что если у меня сломается/отвалится/отключется IR-шлюз, то свет без родного пульта я не смогу включить.
Чтобы я хотел:
При наличии связи с IR-шлюзом (как проверять это я решу сам) вход WB-MR6 отвязан от реле
При пропадании IR-шлюза, вход реле начинает управлять состоянием реле. Тем самым возможность управления светом с настенного выключателя остается, хотя и неудобная.
Тогда нужно просто отвязать вход от выхода MR6xx навсегда, а логику управления реализовать в контроллере. Ещё лучше подключить выключатель не к входу WB-MR6xx, а к входу контроллера.
Вообщем примерно так делать и буду. Будет время напишу как реализовал. А пока тезисно:
Отвязать вход реле от выхода
Написать правило на подачу сигнала на IR-шлюз по нажатию выключателя (срабатыванию входа)
Написать правило для контроля работы IR- шлюза (что-то типо ping запроса)
4.В случае отваливания IR-шлюза, сделать:
правило на отправку runShellCommand используя утилиту modbus_client на привязку входа модуля к релейному выходу;
или написать правило на включение реле по нажатию кнопки.
Но всë-таки, хотелось бы более простой и дружественной реализации такого функционала от вашей компании. В идеале что-бы это решалось не на уровне контроллера, а на уровне прошивки модуля. Ведь предусмотрена работа реле без контроллера.