Общий принцип подключения модулей по Modbus RTU

1 . В первую очередь необходимо подключить датчик или модуль(далее по тексту модуль) непосредственно к контроллеру с помощью четырёх жильного кабеля в соответствии с цветовой маркировкой. Пины: A, B, V+, GND.
2. Добавляем в систему поддержку Modbus, для этого переходим в Settings -> Binding жмем + и в строку поиска вставляем Modbus Binding и жмем Install
3. Через web интерфейс, создаем новый Thing, используя Modbus Binding: Переходим в Things — > жмем + -> Modbus Binding -> Modbus Serial Slave и выставляем следующие параметры:
Serial port выставить в соответствии с парой А,В в которую подключен модуль: /dev/ttyUSB0 — в первую пару, /dev/ttyUSB1 — во вторую.
Задать устройству friendly-named identifier и label
Id Устройства находится на наклейке на самом датчике.
Stop Bits: 2.
Остальное оставить неизменным.

4. Cоздать ещё один Thing через Modbus Binding, выбираем тип Regular Poll.
Parent bridge — выбираем Thing, созданный на предыдущем шаге
Задаем Friendly name
Poll Interval — интервал опроса(1000 — 1 секунда), если это модуль управления освещением или датчик движения, рекомендуется устанавливать в диапазоне 500-1000, если это датчик температуры — 60000
Start — Адрес первого регистра input, holding, coil или discrete input.
Lenght — Количество регистров для чтения.
Type — требуемый тип Modbus регистров

5. Создаем третий Thing Modbus Binding, тип Modbus Data.
Parent Bridge — предыдущий Thing
Задать Friendly name
Read Adress — регистр, с которого необходимо считать
Read transform — default(при необходимости можно модифицировать полученное значение, например разделить на 10)
Read Value Type — выбирается в зависимости от регистра, если считываем температуру, влажность и т.д. то выбираем int16, если считываем состояние релейного канала, то individual bit
Поля содержащие Write оставить неизменными, если подключаем датчик, не требующий изменения регистров, если подключаем модуль, значения будут аналогичные Read
6. После создания Thing Modbus Data заходим в него и выбираем вкладку Channels, создаем Item необходимым типом(числовым, строковым и.т.д)

Если всё сделано верно, Item примет текущее значение в соответствии с выбранным регистром (температура, движение, уровень шума или влажность).