Подключение DDM845R

Подскажите пожалуйста, как настроить на контроллере WB6 связь с диммером DDM845R v3 ? Вводим адрес устройства 34, скорость, битность и четность, как указано в документации к диммеру.
Но в поле DeviceType нет такого устройства.
Подскажите, какой шаблон можно выбрать?

smart-ul, здравствуйте! Готового шаблона нет, это сложное устройство,
Вот на этой странице есть пример шаблона для DDM845R первой версии.
Документация по регистрам на сайте производителя, тут можно ознакомиться с общей ингформацией по созданию шаблонов для WirenBoard.
Нет необходимости описывать в шаблоне все регистры, достаточно тех, которые вам нужны.

1 лайк

Когда вы же нас порадуете своим собственным крутым диммером?)

Мы и сами себя хотим порадовать — вы не представляете, как! :slight_smile: Неудобно “завтраками” кормить, но не раньше, чем через месяц.

1 лайк

Используя информацию по ссылкам, создали шаблон. Но устройство не видно. Подскажите пожалуйста, что сделано неправильно?
{
“device_type”: “DDM845R”,
“device”: {
“name”: “DDM845R”,
“id”: “ddm845”,
“delay_ms”: 200,
“enabled”: true,
“setup”: [
{
“title”: “Operational mode”,
“reg_type”: “holding”,
“address”: “30”,
“value”: “1”
}
],

   "channels": [

        {
            "name": "Channel 1",
            "reg_type": "holding",
            "address": "40",
            "type": "range",
            "max": "1023"
        },
        {
            "name": "Channel 2",
            "reg_type": "holding",
            "address": "41",
            "type": "range",
            "max": "1000"
        },
        {
            "name": "Channel 3",
            "reg_type": "holding",
            "address": "42",
            "type": "range",
            "max": "999"
        },
        {
            "name": "Channel 4",
            "reg_type": "holding",
            "address": "43",
            "type": "range",
            "max": "800"
        },
        {
            "name": "All channels",
            "reg_type": "holding",
            "address": "44",
            "type": "range",
            "max": "255"
        },
        {
            "name": "Channel mode 0-3",
            "reg_type": "holding",
            "address": "0x1E",
            "type": "range",
            "max": "0x03"
        },
        {
            "name": "PWM Freq",
            "reg_type": "holding",
            "address": "32",
            "type": "range",
            "max": "10500",
            "min": "10000"
        },
          {
            "name" : "Input 1 state",
            "reg_type" : "discrete",
            "address" : "0",
            "type" : "value"
        },
        {
            "name" : "Input 2 state",
            "reg_type" : "input",
            "address" : "1",
            "type" : "value"
        },
        {
            "name" : "Input 3 state",
            "reg_type" : "input",
            "address" : "2",
            "type" : "value"
        },
        {
            "name" : "Input 4 state",
            "reg_type" : "input",
            "address" : "3",
            "type" : "value"
        },
        {
            "name" : "Input 5 state",
            "reg_type" : "input",
            "address" : "4",
            "type" : "value"
        },
        {
            "name" : "Input 6 state",
            "reg_type" : "input",
            "address" : "5",
            "type" : "value"
        },
        {
            "name" : "Input 7 state",
            "reg_type" : "input",
            "address" : "6",
            "type" : "value"
        },
        {
            "name" : "Input 8 state",
            "reg_type" : "input",
            "address" : "7",
            "type" : "value"
        }
   ]

}
}

Видимо не та скобка? Пара - самая первая и самая последняя…

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

тут прямоугольная. Ответной прямоугольной не увидел

Да, конечно, место для логов универсальное – файл /var/log/messages/
Конфиг рабочий, все скобки на месте. А где устройства не видно, в списке устройств при добавлении?
Я попробовал добавить ваш конфиг, все добавилось без проблем. В логе при успешном создании нового конфига должна появится строка типа:

Jan 14 12:13:31 wirenboard-AJWEU23U daemon.info wb-mqtt-confed[32679]: INFO: reloading file: /usr/share/wb-mqtt-serial/templates/config-ddm845r.json

А что у вас?

1 лайк

config-ddm845r.json (2,3 КБ)

Парсер поменял кавычки в вашем сообщении на открытые-закрытые, восстановил, получился вот такой файл.

1 лайк

Устройство появляется, но все параметры красным цветом.
Заменил конфиг на ваш файл, ситуация не поменялась.
Похоже дело не в конфиге. Устройство все равно не видно.
Вот что в логах…

messages.txt (11,8 КБ)

Похоже на то, что устройство просто не отвечает, возможно, другой адрес или коммуникационные параметры не те. Можете опростить устройство из командной строки с помощью modbus_client?
Вот тут руководство с примерами. Выберите любой регистр, поддерживаемый устройством. Не забудьте остановить сервис wb-mqtt-serial перед запуском modbus_client.

1 лайк

Спасибо! Все получилось! Проверил с помощью modbus_client. Устройство недоступно. Сбросил адрес по умолчанию и все заработало.

1 лайк

Замечательно! Успехов!

А можно подробней, как это сделать?

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

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

Feb 6 12:53:40 wirenboard-A4NFPAWD user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 discrete(s) @ 0 of device modbus:34: Serial protocol error: request timed out
Feb 6 12:53:42 wirenboard-A4NFPAWD user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 holding(s) @ 32 of device modbus:34: Serial protocol error: request timed out
Feb 6 12:53:43 wirenboard-A4NFPAWD user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 holding(s) @ 41 of device modbus:34: Serial protocol error: request timed out
Feb 6 12:53:43 wirenboard-A4NFPAWD user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 holding(s) @ 43 of device modbus:34: Serial protocol error: request timed out
Feb 6 12:53:44 wirenboard-A4NFPAWD user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 input(s) @ 1 of device modbus:34: Serial protocol error: request timed out
Feb 6 12:53:44 wirenboard-A4NFPAWD user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 input(s) @ 5 of device modbus:34: Serial protocol error: request timed out
Feb 6 12:53:45 wirenboard-A4NFPAWD user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 input(s) @ 7 of device modbus:34: Serial protocol error: request timed out
Feb 6 12:53:45 wirenboard-A4NFPAWD user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 holding(s) @ 30 of device modbus:34: Serial protocol error: request timed out
Feb 6 12:53:46 wirenboard-A4NFPAWD user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 holding(s) @ 40 of device modbus:34: Serial protocol error: request timed out

Подскажите пожалуйста, в теперь может быть проблема?

А вы подключались с помощью modbus_client? Можно попросить вас прислать
скриншот удачного подключения?

Просто выпустите свой диммер, и вопросов не будет :slight_smile:

1 лайк