Mapping для кнопок между модулями реле

Как сделать чтобы двойное нажатие кнопки, подключенной ко входу одного модуля реле замыкало контакты другого модуля реле?
Настройка mapping для кнопок работает только внутри одного модуля.

Здравствуйте.
Взаимодействие между модулями можно реализовать только через контроллер или другое мастер-устройство. Посмотрите в этом направлении.
Опишите подробнее для чего вам необходим такой функционал и мы постараемся описать варианты решения или дать верное направление.

В комнате есть 2 выключателя - один при входе переключает люстру, второй у кровати переключает ночник.
Надо сделать, чтобы по двойному нажатию кнопки ночника переключалась люстра, а по двойному нажатию кнопки люстры переключался ночник.
Групп света много и так получилось, что не все соседние группы света попадают на одно реле.

В этой статье всё очень нечётко описано. Не хватает самого главного - настроек каждой ноды.
Непонятно что писать в command и payload.
Плюс смущает надпись Important: works nice only with DI-DR/DI-WD modules, а у меня WB-MR6-LV. Есть разница?

Вот мои настройки кнопки WB-BUTTON. Тут вроде вопросов нет.

А вот настройка узла WB-OUT вызывает кучу вопросов.
Что писать в command и payload?
В поле command можно выбрать msg, а есть вариант WB /on.
В поле payload есть вариант WB - toggle

В общем я пробовал выбирать варианты, но ничего не работает.
Потом попробовал вставить между WB-BUTTON и WB-OUT ноду change.
Но лучше не стало. Ничего не работает.

У меня даже debug6 пустой. При нажатии кнопок туда ничего не попадает
image

Вот тут
Используя стороннее ПО для работы с топиками - нужно очень хорошо понимать механизм их работы. Поэтому предварительно нужно освоить управление записью в топики, напрмер.

Да, есть, принципиальная. Первое - расширение GPIO контроллера - второе - Modbus устройство.
Нужно учитывать разницу в работе с ними.

Вы выкладываете картинки а не код. Код - можно проверить, прочитать. По картинкам к сожалению понять что-то не получается.

Выберете WB/on.

Выберете WB - toggle.

а где я в node-red код возьму?
вы же мне сами прислали статью с примером nodered, в которой тоже нет никакого кода

Это говорит о том, что для модулей WB-MR будет сложность со скоростью отклика. И сильно будет зависеть от нагруженности линии, на которой данный модуль стоит.

Activation time у вас установлен 600 мс. Банально, если даже все верно настроите, то двойное нажатие не успеет “проскочить”.

а какое значение используется в настройках модуля WB-MR6-LV для ожидания второго нажатия?

Не совсем понятен вопрос.

В настройках реле можно выбрать действие при двойном нажатии, но как быстро надо нажать не написано. Сколько времени отводится на двойное нажатие, если галочка Время ожидания второго нажатия (мс) не установлена?
100мс, 200мс, 10000мс? Нигде не написано

При этом у меня всегда двойное нажатие из этой настройки всегда срабатывает без проблем. Как-то успеваю.

Сейчас речь идет о разных параметрах двойного нажатия. Вы сейчас про настройку самого модуля. Т.е. когда настраиваются входы на выходы одного устройства. Изначально же вопрос в назначении двойного нажатия одного модуля на выход другого (как вы выше писали - “Групп света много и так получилось, что не все соседние группы света попадают на одно реле.”). Стандартным функционалом это не реализовать. Есть вариант реализовать через node-red, как и было предложено. Но “нормального” (быстрого) двойного нажатия здесь не получится. Оно все равно будет медленнее стандартной реализации.
Я акцентировал внимание, что в настройке Node-red “Activation time” время должно быть в два раза больше чем опрос по шине RS-485 + плюс несколько попугаев.

Вот я подключил кнопку к дебагу.
Сколько быстро ни жми кнопку в консоли пусто.

Попробуйте настроить не на двойное нажатие, а на одинарное нажатие. Если при этом будет работать, то значит проблема скорее всего в медленной шине RS-485 и несоответствующем значении параметра “Activation time”.
Или другой вариант: предполагаю, что скорость обмена по RS-485 у вас 1с. Тогда “Activation time” ставим 4с, а двойное нажатие производим не чаще раза в секунду, но суммарно не более 4с. Если при таком варианте все отработает, то все работает, но медленно…

Это какой-то дурдом. Я раз 10 сделал двойное нажатие и только один раз в дебаг что-то прилетело.
Так работать не будет. Другие варианты есть?
Как через wb-rules переключать реле по событию doubleclick а входе?

Натусякий случай скажу, что для детекта типов нажатий надо использовать счетчики, на не топики входов. В Вики есть пример для wb-rules, суть ты же.

скопировал файл wb-press-actions.js в папку /etc/wb-rules-modules/

выполнил команду systemctl restart wb-rules в консоли

потом вставил вот такой код в rules.js

var pa = require('wb-press-actions');

var commands = [
    { btnControl: "wb-mr6c_128/Input 4 Double Press Counter", actionControl: "wb-mr6c_120/K4", actionType: "toggle" }, 
];

pa.init(commands);

И ничего не работает.
При двойном нажатии на кнопку, подключённую ко входу 4 модуля wb-mr6c_128 у меня дважды моргает лампочка, подключенная к реле wb-mr6c_128/K4, а вот лампочка, подключенная к реле wb-mr6c_120/K4 не включается.

Теперь что не так?

Не следует использовать вообще программный детект нажатий. Не надо.

А включен ли опрос счетчика?
Советую проверить - изменяется ли значение самого контрола, который выбран источником.

при нажатии кнопки счётчик увеличивается