Настройка диммирования WB-MDM3 по Modbus

Здравствуйте.
Для SUBJ пробовал записать в регистр 848 значения 4 или 5. Ожидал, что при долгом нажатии кнопки на первом входе выход будет диммироваться. Но этого не происходит. Что я делаю не так?

При этом записью в соотв. регистры настроить короткое нажатие кнопки для включения и выключения получилось. Запись в регистр 0 (использую первый канал) так же диммирует.

Добрый день!

Попробуем разобраться. Прошу вас прочитать регистры 832 и 848 с помощью утилиты «modbus_client».

Ответы на запросы должны выглядить так:

root@wirenboard-AJBAI2J6:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a133 -t0x03 -r848
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[85][03][03][50][00][01][9A][1B]
Waiting for a confirmation...
<85><03><02><00><04><49><99>
SUCCESS: read 1 of elements:
        Data: 0x0004

У меня WB-MDM3 настроен следующим образом и все работает:

  • вход1 — действие при коротком нажатии — ВКЛ (регистр 832 = 1)
  • вход1 — действие при долгом нажатии — увеличить уровень (регистр 848 = 4)
  • вход2 — действие при коротком нажатии — ВКЛ (регистр 833 = 0)
  • вход2 — действие при долгом нажатии — уменьшить уровень (регистр 849 = 3)

Я так понимаю, что контроллера WB у вас под рукой нет?

1 Like

Да, контроллера нет. Как и линукса с адаптером USB-RS485 :slight_smile:
Я работаю по modbus с другого контроллера.

В 832 у меня 2 - переключение состояния. И оно работает.
В 848 у меня 4 (пробовал и 5) - долгое удержание кнопки ни к чему не приводит.

Попутно вопросы:

  1. При 848=4 диммирование будет циклическим (тоесть при достижении 100% сбрасывается на 0 и снова растет), как у других диммеров? Или для диммирования нужно минимум 2 кнопки?
  2. При использовании контроллера я ведь смогу диммировать и с контроллера (UI, голос, сценарии…) и кнопкой? И при управлении кнопкой изменения будут отображаться на контроллере?
  1. По умолчанию изменение яркости циклическим не будет, но это возможно реализовать с применением правил.

Для включения, выключения и диммирования можно использовать одну кнопку, настроив различные типы нажатий. Например для:

  • Действие при коротком нажатии — ВКЛ
  • Действие при долгом нажатии — ВЫКЛ
  • Действие при двойном нажатии — увеличить уровень
  • Действие при коротком, а затем долгом нажатии — уменьшить уровень
  1. Логику работы можно задать для управления по сценарию и с кнопки, опять же с помощью написания правил.

Немного поправлю, удобнее будет сделать так:

  • Действие при коротком нажатии — ВКЛ
  • Действие при двойном нажатии — ВЫКЛ
  • Действие при долгом нажатии— увеличить уровень
  • Действие при коротком, а затем долгом нажатии — уменьшить уровень

Странно, что вы не используете “2 - переключить состояние выхода”. С этим есть какие-то проблемы?

Правильно я понимаю, что если 848=4, то при долгом нажатии яркость будет увеличена на 1% сколько бы я не зажимал кнопку?

Этот 1% где-то настраивается? Чтобы, например, было 10% за одно нажатие?

Если 848=5, то изменится на (1% * время нажатия / значение 896)? Или что такое “продолжительное действие”?

Регистры 140, 150 отвечают за скорость изменения яркости при выключении/выключении лампы? И к изменению яркости кнопкой отношения не имеют?

На моем диммере режим “2 - переключить состояние выхода” не отрабатывает. Уточните пожалуйста как у вас ведет себя диммер в этом случае?

Правильно я понимаю, что если 848=4, то при долгом нажатии яркость будет увеличена на 1% сколько бы я не зажимал кнопку?

Этот 1% где-то настраивается? Чтобы, например, было 10% за одно нажатие?

При заданном типе нажатии яркость определенного канала будет изменяться в соответствии с заданной скоростью в регистрах 140-142 для увеличения и 150-152 для уменьшения. Задается значение в мс на 1%.

Регистры 140, 150 отвечают за скорость изменения яркости при выключении/выключении лампы? И к изменению яркости кнопкой отношения не имеют?

Скорость задается одновременно и для управления с кнопок и при включении/выключении.

При 832=2 переключает. Тоесть если включено, то выключает, если выключено, то включает.

Нашел свое упущение: надо в 784 еще было 1 записать. Теперь все заработало.

Эксперимент показал, что

  • за скорость диммирования отвечает 896, а 140,150 - за скорость гашения и зажигания;
  • приписка “(на 1%, при продолжительном действии - со скоростью определенной в “Период повторения продолжительного действия”)” на самом деле относится не только к значению 5, но и к 3,4.

Полагаю, неплохо было бы поправить в документации.

При заданном типе нажатии яркость определенного канала будет изменяться в соответствии с заданной скоростью в регистрах 140-142 для увеличения и 150-152 для уменьшения. Задается значение в мс на 1%.

Изначально ввел вас в заблуждение.

Все верно, за скорость изменения яркости с кнопки в 5-м режиме отвечают регистры 896-898.

Да, для этого как раз и есть 5 режим. Долгое нажатие увеличивает, повтроное долгое - уменьшает яркость.

Еще подскажите, пожалуйста, при использовании контроллера диммировать можно будет как с кнопки, так и любым способом через контроллер (UI, голос, сценарии) - никаких конфликтов и проблем (например, что с кнопки уже установлено 50%, но контроллер этого не видит и устанавливает не 50+1%, а старое значение 30+1%) не будет?

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

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

1 Like