WB-MRGBW(D) Сброс яркости после mqtt, ошибки чтения

Проблема 1:
После выключения белого канала через WEB UI, нажатие на button3 не реагирует и не включает свет. Повторное нажатие всегда устанавливает 150 яркости, а не прошлое значение. Это видно по mqtt логу:


Ошибка проявляется именно когда устанавливается НОЛЬ, это приводит к сбросу значения яркости. То есть если я через телефон выключу свет, то потом выключатель на стене не сработает и сбросит мне яркость - это недопустимо((.
Видео: https://youtu.be/r6VRh4r7_5U (видно что кнопка не отработала и установилось 150 яркости)

Проблема 2:
Я не знаю так должно быть или нет, но постоянно проскакивают ошибки чтения, схема у меня максимально простая (демо-стенд), провода короткие, все работает, но ошибки приходят. Почему, разве так должно быть?

Вопрос 3:
В вики написано, что можно управлять одной rgbw лентой или 4 одноцветными. А есть для 4 одноцветных UI ? или это будет работать только через colorwheel ?
То есть по факту этот модуль предназначен исключительно для RGBW лент, управление 4х каналов по отдельности возможно только программно и без WB это не будет работать. В идеале, хотелось бы иметь 4 кнопки, каждая должна работать как button3 для своего канала, в режиме управления 4 лентами, тогда модуль не будет зависеть от WB и будет работать автономно.
Я систему затачиваю так, чтобы все работало даже с выключенной WB, получается на каждую ленту мне надо покупать отдельный модуль, я не хочу использовать цветные ленты в дизайне.

1 лайк

нет, не должно

Из коробки сейчас нет, но достаточно тривиально сделать через интерфейс. Нужно просто добавить ещё 5 канала, каждый из которых просто связан с holding-регистром соответствующего цвета.
https://wirenboard.com/wiki/index.php/RS-485:Настройка_через_веб-интерфейс нужна галка list of channels и дальше по таблице регистров устройства.

это так, да

а как-то прокомментировать первую проблему? это явно софтовая ошибка, может исправите?

1 лайк

Ребят, что делать?

Добрый день!

Сейчас логика такая: через WebUI выставляется цвет, которым потом планируете пользоваться, а прямое управление кнопкой позволяет включить/выключить. Если вы через приложение WebUI поставили на какой-то канал 0, то это же значение и запоминается при выключении кнопкой. Никакой особой обработки значения (0;0;0) не сделано. Но чтобы потом значение не восстанавливалось на (0;0;0), что было бы супернеинтуитивно, оно восстанавливается на среднее фиксированное значение.
Кроме того, тут есть ещё такой важный момент: так как у нас значения R, G, B разнесены по разным регистрам, то выключение - это поочерёдная установка нулей в эти каналы. Как тут понять, какой цвет вы хотите зафиксировать (когда всё три не ноль, или один должен быть нулем, или два) - непонятно.

Что мы будем делать: в новой версии прошивки сделаем регистр “выключить диммер”, но это будет нескоро.
Что можно сделать вам: физическую кнопку подключить не к диммеру, а к другому входу, и написать скрипт в движке правил, который делает нужную вам логику.

полтора года прошло и вы сделали это!!! ураа
новая прошивка диммера решила практически все проблемы:slight_smile:

https://wirenboard.com/wiki/index.php?title=Карта_регистров_диммера_MRGBW-D_(2.0.0)

1 лайк