WB-MRGB-D после программного отключения с выключателя включается с 2 раза

Программно по модбасу выключаю свет. RGB = 0
После этого пытаюсь включить его с выключателя. Включается с 2 раза.
Наоборот аналогично - сначала переключается на вручную заданную яркость вторым кликом выключается.

Как правильно программно включать/выключать свет, чтобы с выключателей не надо было 2 раза нажимать?

Устанавливайте RGB=“0;0;0”

я так и делаю
function: 16
pdu: b’\x00\x00\x00\x03\x06\x00\x00\x00\x00\x00\x00’

дата сборки прошивки 0.0.1

Добрый день, businka. Дата какая-то странная, можете байты серийного номера прислать.
Мне кажется, что описаное вами поведение – особенность прошивки, подумаем, что можно исправить.

наврал
дата сборки прошивки Jul 20 2017 12:00:54
Серийный номер устройства не возвращается
function 3 pdu b’\x01\x0e\x00\x02’ = (illegal value)
вероятно потому что у меня модель WB-MRGB-D без белого канала

Такой он у вас?


Можете ваш сфотографировать?
Боюсь, это штатное поведение. Я уточню, были для вашего устройства прошивки, как-то позволяющие эту ситуацию обойти.

я практически уверен что это штатное поведение. потому что вроде тему ранее поднимал.
только сейчас руки долшли до программирования всего богадства.
надо другую прошивку. у вас там внутри stm. уверен что-то можно придумать. пожалуйста.
с таким алгоритмом нет смысла их использовать

есть ли новости?
готов привезти устройства к вам в офис - если по другому никак

businka, добрый день!
К сожалению, пока на самых новых диммерах с самыми последними прошивками вашу проблему решить не удается – считайте, особенность устройств.

Я бы обошел проблему двойного нажатия, вот если бы она меня совсем бы бесила, реализацией отключения ленты не выставлением в нули всех яркостей, а имитацией нажатия на кнопку дополнительным релейным (боковым, наверное) модулем. Написал бы функцию, которая, если значения регистров яркости ненулевые, замыкала бы вход кнопки. И вызывал бы ее, когда надо.

Можно уточнить, а для каких сценариев работы предполагалось управление по modbus?

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

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

вы авторы прошивки или вы просто перепродаете?
если у Вас нет людей, то могу предложить вам свои услуги по доработке прошивки.
подобных устройств на рынке много, никакой тайны в работе по modbus вреде нет. есть куча открытых библиотек на любых языках. Если ваши устройства будут с открытым софтом им только добавит это привлекательности

мне либо выкидывать / менять на другие, либо попробовать исправить.
ставить реле над реле я не буду

1 лайк

ситуация ещё намного хуже. я не могу через модбас понять включен свет или нет если его включали руками

1 лайк

businka, прошивка и устройство – продукт целиком, поэтому исходники, увы, не открыты.

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

Проверю ситуацию определением включения с кнопками и modbus, напишу в этой теме.

Проверил на WB-MRGB – если свет включали руками, то, как и при управлении по Modbus? в holding-регистрах 1,0,2 устанавливаются значения текущей яркости, по которым можно понять, включен ли свет. У вас не так?

да действительно устанавливается. косяк в моем коде. извините поторопился.

по поводу исправления прошивки.
если я правильно понял, все ваши устройства также имеют такой баг с двойным кликом, баг достаточно неприятный и то что его до сих пор не обнаружили говорит лишь о том что до сих пор ими программного никто не управлял. Бросать клиентов или нет, как и расстановка приоритетов дело ваше - это ваша репутация. В компании где я работаю исправление ошибок препятствующих нормальной эксплуатации продукта имеет наивысший приоритет. Учитывая, что именно ради программного управления покупаются эти устройства - ошибку вы рано или поздно исправите.

Предположим что прошивку вы доработали - каким образом можно будет перепрошить мои устройства?

1 лайк

К сожалению, только у нас в офисе. Удалённую перепрошивка мы реализовали только совсем недавно, т.е. это работает только с определённой версии прошивки.

Хорошо. я привезу устройства в Москву. Можно будет это сделать в один день, чтобы не нужно было за ними ехать?
срок ожидания в несколько месяцев меня не пугает - я никуда не спешу.

Можно. Надо будет заранее с нами договориться о дне и времени.

есть ли какой то прогресс по моей проблеме (новой прошивке)?

Добрый день, businka! А вы с кем-то уже договаривались о доставке?

нет я ни с кем не договаривался. интересуюсь сделали ли прошивку? какие перспективы?