Статья

Подключаем к WB-MRGBW-D 4 одноцветные ленты

Приветствую, дорогой читатель. Сегодня поговорим о наболевшем. Все, кто начинает строить свой умный дом на Wiren Board, задаются вопросом - Как же управлять светодиодными лентами и какой модуль выбрать для этого?

В арсенале компании Wiren Boаrd существует один интересный модуль.

Четырехканальный диммер с RS-485, Modbus RTU

WB-MRGBW-D Диммер светодиодных лент на DIN-рейку

Вот такой чудесное устройство есть у Wiren Board. Но данный модуль, как вы видите, работает с лентами RGBW или RGB W, но есть еще один вариант - это 4 одноцветных ленты, которые можно подключить по отдельности. Но чтобы управлять каждым каналом, нам придется немного исправить шаблон устройства, а точнее - мы просто напишем новый.

Подключаем модуль

Данный модуль работает по rs485 и подключается к WirenBoard по следующей схеме:

Программное подключение

Теперь переходим в web интерфейс (для этого нужно знать ip адрес контроллера) и добавляем наше устройство. Не забываем, так как у нас модуль работает по RS-485, нужно на боковой части посмотреть его адрес, у меня он - 120.

Переходим в раздел Config
Выбираем /etc/wb-mqtt-serial.conf
Выбираем к какому порту RS-485 подключено устройство 
Нажимаем внизу кнопку  Serial device
1 строка - это адрес устройства2 строка - тип устройства
После этого, не забываем сохранить все

Далее переходим в раздел Device и видим наше новое устройство.

Но теперь у нас новая задача - мы же хотим управлять каждым каналом отдельно, и у нас не будет RGB ленты, а будет 4 белых ленты. Для этого нам нужно сделать новый шаблон для данного устройства. Подключаемся к нашему WirenBoard по SSH  и переходим в директорию с шаблонами:

cd /usr/share/wb-mqtt-serial/templates

После этого вводим команду для создания шаблона:

nano config-wb-mrgbwww-d.json

В отрывшемся окне редактора нужно вставить следующий код:

{ "device_type": "WB-MRGBWWWW-D-Sprut", "device": { "name": "WB-MRGBWWWW-D", "id": "wb-mrgbwwww-d", "max_read_registers": 0, "channels": [ { "name": "White 1", "reg_type": "holding", "address": 2, "type": "range", "max": 255 }, { "name": "White 2", "reg_type": "holding", "address": 1, "type": "range", "max": 255 }, { "name": "White 3", "reg_type": "holding", "address": 0, "type": "range", "max": 255 }, { "name": "White 4", "reg_type": "holding", "address": 3, "type": "range", "max": 255 }, { "name": "Serial NO", "type": "text", "reg_type": "holding", "address": 270, "format": "u32" } ] } }

После этого зажимаем CTRL O для сохранения, нажимаем Enter, соглашаемся с названием файла и зажимаем CTRL Х для выхода из редактора.

Теперь возвращаемся к разделу подключения в самое начало и проделываем все тоже самое, только с одной оговоркой - тип устройства выбираем тот, который мы сейчас создали.

Выбираем устройство как на скрине, его адрес пишем тот же. Не забываем удалить устройство, которое было создано до этого. Также необходимо убрать все топики в MQTT от старого устройства. Для этого воспользуемся следующей командой в терминале:

mqtt-delete-retained '/devices/wb-mrgbw-d_120/#'

где 120 - это адрес блока.

Надеюсь, материал был вам очень интересен, а кому-то он даже поможет. 

Всем, кому нравятся мои работы и мои проекты, подписывайтесь на меня, ставьте лайки, комментируйте, высказывайте свои пожелания. Мне никогда не помешает Ваша поддержка. Не забывайте, что у меня еще есть личный канал на YouTube


Годное дело. Теперь бы переназначить логику физических кнопок )))

можем разобраться там вроде не сложно, только зачем их использовать когда можно для этого использовать DI-WD-14 и движок правил

Все просто. Этот модуль не устанавливать же в щит, чтоб тянуть низковольтные линии по всему дому. Гораздо логичней поставить его в комнату, где будут использоваться ленты. Соответственно там же и иметь три кнопки управления

Кто нам мешает использовать безпроводные выключатели ?


Может тут есть те кому известно как в СХ добавить WB-MRGBW-D как 4 отдельных канала?

Там делов на 5 минут написать темплейт, в чате теста напиши накидаю за 5 минут

А как включать каналы через функцию?

Так записал:

var relay1 = dev["wb-mrgbwwww-d_16"]["White 4"]; 

раверните свой вопрос

Создал функцию для теста и не работает


defineRule("switchled", { 


whenChanged: "wb-gpio/EXT1_DR12", 


then: function (newValue, devName, cellName) { 


dev["wb-mrgbwwww-d_16"]["White 4"] = newValue ; 



});

У вас правило не верное, вам нужно отправлять значение 0-255, а не true/false

Спасибо! А за статью вдвойне)

Всегда пожалуйста!

Созрел небольшой вопрос, как обновить прошивку WB-MRGBW?

По команде wb-mcu-fw-updater update-all не выходит


Вернуться назад

Устройства


Вернуться назад