Внимание! Драйвер wb-mqtt-serial ранее назывался wb-homa-modbus, конфигурационный файл /etc/wb-mqtt-serial.conf
ранее назывался /etc/wb-homa-modbus.conf
. Учитывайте это, если используете устаревшие прошивки.
В статье приведены примеры конфигурационных файлов для некоторых совместимых устройств. Следуя данным примерам, вы можете добавить новые устройства RS-485 в интерфейс Wiren Board, написав их конфигурации либо напрямую в файл /etc/wb-mqtt-serial.conf
, либо в файл шаблонов /usr/share/wb-mqtt-serial/templates/config-wb-ms-thls.json
.
MSU34+TLP, MSU24 и MSU21 и подобные устройства
Сайт производителя - http://www.razumdom.ru/
Документация:
MSU21 MSU24 MSU34
Устройства выдают значения с датчиков через
input-регистры. Для значений температуры используются
8-битные знаковые значения без расширения знака
на старшие 8 бит input-регистра, вследствие
чего для значений температуры в конфигурационном
файле необходимо указывать "format": "s8".
Подключаемые к устройству датчики конфигурируются
через holding-регистры (см. описание). Для конфигурации
датчиков можно использовать команду modbus_client
,
или сделать setup-секцию в конфигурации драйвера.
Для установки адреса slave можно использовать скрипт
set-rd-address.sh. При этом необходимо убедиться, что к
порту RS-485 было подлкючено только то устройство,
у которого необходимо сменить адрес, затем выполнить
команду:
set-rd.address.sh /dev/ttyNSC0 0x02
Вместо 0x02 можно задать любой другой адрес
в диапазоне от 0 до 247 (0xf7).
Пример конфигурации:
{
"debug": false,
"ports": [
{
"path" : "/dev/ttyNSC0",
"baud_rate": 9600,
"parity": "N",
"data_bits": 8,
"stop_bits": 2,
"poll_interval": 10,
"enabled": true,
"devices" : [
{
"name": "MSU34+TLP",
"id": "msu34tlp",
"slave_id": 2,
"enabled": false,
"channels": [
{
"name" : "Temp 1",
"reg_type" : "input",
"address" : 0,
"type": "temperature",
"format": "s8"
},
{
"name" : "Illuminance",
"reg_type" : "input",
"address" : 1,
"type": "text"
},
{
"name" : "Pressure",
"reg_type" : "input",
"address" : 2,
"type": "text",
"scale": 0.075
},
{
"name" : "Temp 2",
"reg_type" : "input",
"address" : 3,
"type": "temperature",
"format": "s8"
}
]
}
]
}
]
}
Пример конфигурации MSU21 с секцией инициализации ("setup"):
{
"name": "MSU21",
"id": "msu21",
"slave_id": 24,
"enabled": true,
"setup": [
{
"title": "Input 0 type",
"address": 1,
"value": 2
},
{
"title": "Input 0 module",
"address": 3,
"value": 6
}
],
"channels": [
{
"name" : "Temperature",
"reg_type" : "input",
"address" : 0,
"type": "temperature",
"format": "s8"
}
]
}
Четырёхканальный (RGBW) диммер светодиодов DDL24
Сайт производителя - www.razumdom.ru
Документация:
DDL24
Устройство предназначено для управления светодиодными
лентами RGBW сигналами ШИМ или для управления приводами
сигналами 0-10 В.
Управление осуществляется записью значений в
holding-регистры.
Как и в случае с устройствами MSU*, адрес
modbus slave устанавливается командой
set-rd-address.sh.
set-rd-address.sh /dev/ttyNSC0 0x17 0x00
Здесь происходит установка slave-адреса
в 0x17. Дополнительное значение
0x00 нужно, т.к. DDL24 использует для
конфигурации адреса holding-регистр 0x00,
а не 0x80, используемый скриптом set-rd-address.sh
по умолчанию.
Пример конфигурации:
{
"name": "DDL24",
"id": "ddl24",
"enabled": true,
"slave_id": 23,
"channels": [
{
"name" : "Red",
"reg_type" : "holding",
"address" : 4,
"type": "range",
"max": 255
},
{
"name" : "Green",
"reg_type" : "holding",
"address" : 5,
"type": "range",
"max": 255
},
{
"name" : "Blue",
"reg_type" : "holding",
"address" : 6,
"type": "range",
"max": 255
},
{
"name" : "White",
"reg_type" : "holding",
"address" : 7,
"type": "range",
"max": 255
},
{
"name" : "RGB",
"reg_type" : "holding",
"address" : 8,
"type": "range",
"max": 100
},
{
"name" : "White1",
"reg_type" : "holding",
"address" : 9,
"type": "range",
"max": 100
},
{
"name" : "Voltage",
"reg_type" : "holding",
"address" : 18,
"type": "text"
}
]
}
Исполнительный модуль релейный восьмиканальный DRB88
Сайт производителя - www.razumdom.ru
Документация:
DRB88
Исполнительные модули DRB88 предназначены для создания
систем автоматизации зданий. При работе по протоколу Modbus
поддерживается работа с реле через coils и с входами
через input registers.
Для установки адреса slave можно использовать скрипт
set-rd-address.sh. При этом необходимо убедиться, что к
порту RS-485 было подлкючено только то устройство,
у которого необходимо сменить адрес, затем выполнить
команду:
set-rd.address.sh /dev/ttyNSC0 0x16
Вместо 0x16 можно задать любой другой адрес
в диапазоне от 0 до 247 (0xf7).
Настройка типов input'ов осуществляется через
holding-регистры (см. описание). Для задания конфигурации
можно использовать команду modbus_client
,
или сделать setup-секцию в конфигурации драйвера.
Пример конфигурации:
{
"name": "DRB88",
"id": "drb88",
"enabled": true,
"slave_id": 22,
"setup": [
{
"title": "Input 0 type",
"address": 1,
"value": 1
},
{
"title": "Input 0 module",
"address": 3,
"value": 3
}
],
"channels": [
{
"name" : "Relay 1",
"reg_type" : "coil",
"address" : 0,
"type": "switch"
},
{
"name" : "Relay 2",
"reg_type" : "coil",
"address" : 1,
"type": "switch"
},
{
"name" : "Relay 3",
"reg_type" : "coil",
"address" : 2,
"type": "switch"
},
{
"name" : "Relay 4",
"reg_type" : "coil",
"address" : 3,
"type": "switch"
},
{
"name" : "Relay 5",
"reg_type" : "coil",
"address" : 4,
"type": "switch"
},
{
"name" : "Relay 6",
"reg_type" : "coil",
"address" : 5,
"type": "switch"
},
{
"name" : "Relay 7",
"reg_type" : "coil",
"address" : 6,
"type": "switch"
},
{
"name" : "Relay 8",
"reg_type" : "coil",
"address" : 7,
"type": "switch"
},
{
"name" : "Input 1",
"reg_type" : "input",
"address" : 0,
"type": "switch",
"on_value": 101
},
{
"name" : "Input 2",
"reg_type" : "input",
"address" : 1,
"type": "switch",
"on_value": 101
},
{
"name" : "Input 3",
"reg_type" : "input",
"address" : 2,
"type": "switch",
"on_value": 101
},
{
"name" : "Input 4",
"reg_type" : "input",
"address" : 3,
"type": "switch",
"on_value": 101
},
{
"name" : "Input 5",
"reg_type" : "input",
"address" : 4,
"type": "switch",
"on_value": 101
},
{
"name" : "Input 6",
"reg_type" : "input",
"address" : 5,
"type": "switch",
"on_value": 101
},
{
"name" : "Input 7",
"reg_type" : "input",
"address" : 6,
"type": "switch",
"on_value": 101
},
{
"name" : "Input 8",
"reg_type" : "input",
"address" : 7,
"type": "switch",
"on_value": 101
}
]
}
Модуль ввода-вывода ICP DAS tM-P3R3
Описание:
tM-P3R3
и
User_Manual
Модуль имеет 3 канала дискретного ввода, доступных через discrete inputs,
и 3 канала релейного вывода, доступного через coils.
Пример конфигурации:
{
"name": "tM-P3R3",
"id": "tmp3r3",
"enabled": true,
"slave_id": 1,
"channels": [
{
"name" : "Relay 0",
"reg_type" : "coil",
"address" : 0,
"type": "switch"
},
{
"name" : "Relay 1",
"reg_type" : "coil",
"address" : 1,
"type": "switch"
},
{
"name" : "Relay 2",
"reg_type" : "coil",
"address" : 2,
"type": "switch"
},
{
"name" : "Input 0",
"reg_type" : "discrete",
"address" : 32
},
{
"name" : "Input 1",
"reg_type" : "discrete",
"address" : 33
},
{
"name" : "Input 2",
"reg_type" : "discrete",
"address" : 34
}
]
}
Модуль управления освещением ICP DAS LC-103
Описание:
LC-103
и
User manual
Модуль имеет 3 релейных вывода и один дискретный вход, допускающий
подключение к сети переменного тока.
Адрес Modbus slave задаётся при помощи физического переключателя.
Пример конфигурации:
{
"name": "LC-103",
"id": "lc103",
"enabled": true,
"slave_id": 4,
"channels": [
{
"name" : "Relay 1",
"reg_type" : "coil",
"address" : 0,
"type": "switch"
},
{
"name" : "Relay 2",
"reg_type" : "coil",
"address" : 1,
"type": "switch"
},
{
"name" : "Relay 3",
"reg_type" : "coil",
"address" : 2,
"type": "switch"
},
{
"name" : "Switch AC In",
"reg_type" : "discrete",
"address" : 0
}
]
}