Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнительное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение
Вы используете:
- WB-MR6C v.3 — модуль реле на 220 В, к нему подключена кнопка;
- Планируете добавить WB-MRM2-mini v.2, который будет коммутировать 24 В от ИБП на светодиодную ленту.
Ваша задача — чтобы кнопка, подключенная к WB-MR6C v.3, управляла включением/выключением канала WB-MRM2-mini v.2.
Краткий ответ
Да, так сделать можно. Логика переключения реализуется на контроллере Wiren Board (WB 6/7/8 и т.п.) через wb-rules или через правило в веб-интерфейсе, если вам достаточно простого привязывания одного канала к другому.
Оба модуля (WB-MR6C v.3 и WB-MRM2-mini v.2) — Modbus-устройства, контроллер видит их как набор входов/выходов, и вы можете программно связать:
- Кнопку на входе MR6C →
- Реле/канал на MRM2-mini.
Как это делается логически
-
Подключить оба модуля к RS-485 контроллера и настроить их в /etc/wb-mqtt-serial.conf (обычно это уже сделано по шаблонам из прошивки контроллера).
-
Убедиться, что:
- вход кнопки на WB-MR6C v.3 в режиме «кнопка / кнопочный» (а не фиксирующий тумблер);
- реле WB-MRM2-mini v.2 управляется из MQTT (стандартный режим).
-
В wb-rules создать правило, которое по нажатию входа с MR6C будет переключать состояние реле на MRM2-mini.
Пример простого правила wb-rules (файл, например /etc/wb-rules/led_tape.js):
defineRule("control_led_tape_by_button", {
whenChanged: "wb-mr6c_XXX/Input 1", // замените XXX на адрес/идентификатор вашего модуля и номер входа
then: function (newValue, devName, cellName) {
if (newValue) { // сработал фронт кнопки
// читаем текущее состояние реле 1 на MRM2-mini
var current = dev["wb-mrm2-mini_YYY"]["K1"]; // замените YYY и K1 на ваш модуль/канал
dev["wb-mrm2-mini_YYY"]["K1"] = !current; // инвертируем (toggle)
}
}
});
Где:
wb-mr6c_XXX/Input 1 — MQTT-топик входа, к которому подключена кнопка;
wb-mrm2-mini_YYY/K1 — MQTT-топик канала реле для ленты.
Названия устройств и каналов можно посмотреть в веб-интерфейсе в разделе Устройства (Devices).
Если вам не нужен именно «переключатель по нажатию», а, например, включение при зажатой кнопке — логику можно немного изменить (по уровню, а не по фронту).
Если напишете:
- адреса Modbus модулей,
- номер входа на MR6C, к которому подключена кнопка,
- номер канала на MRM2-mini, который пойдет на ленту,
я смогу подсказать точный вариант правила с правильными именами устройств.
Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.