Modbus: Конфигурация
Конфигурация HOMEd Modbus хранится в файле /etc/homed/homed-modbus.conf. Пример файла конфигурации:
[log]
enabled=false
timestamps=true
file=/var/log/homed.log
[mqtt]
host=localhost
port=1883
username=mqtt
password=mqtt
prefix=homed
instance=
names=false
[homeassistant]
enabled=false
prefix=homeassistant
status=homeassistant/status
[device]
database=/opt/homed-modbus/database.json
[port-1]
port=/dev/ttyS1
debug=false
[port-2]
port=tcp://192.168.1.42:48151
tcp=false
debug=false
При изменении содержимого файла конфигурации сервис перезапускается автоматически.
Параметры
[log]
| Параметр | Описание |
|---|---|
enabled |
включение/выключение записи логов в файл |
timestamps |
включение/выключение меток времени при выводе лога в stdout |
file |
путь к файлу лога |
[mqtt]
| Параметр | Описание |
|---|---|
host |
адрес брокера |
port |
порт брокера |
username |
имя пользователя для авторизации на брокере (может быть пустым) |
password |
пароль для авторизации на брокере (может быть пустым) |
prefix |
корневой топик |
interval |
интервал публикации топика доступности в секундах |
instance |
уникальное имя сервиса (может быть пустым), подробности ниже |
names |
использование имен устройств вместо идентификаторов в MQTT-топиках |
[homeassistant]
| Параметр | Описание |
|---|---|
enabled |
включение/выключение функции Home Assistant MQTT Discovery |
prefix |
корневой топик для Home Assistant MQTT Discovery |
status |
топик для отслеживания состояния Home Assistant |
[device]
| Параметр | Описание |
|---|---|
database |
путь к файлу базы данных устройств |
expose |
путь к файлу с опциями типовых способностей устройств |
[port-N]
| Параметр | Описание |
|---|---|
port |
последовательный порт или параметры сетевого подключения |
tcp |
использование протокола Modbus TCP для сетевого подключения |
debug |
вывод в лог дампов обмена данными с устройствами |
Сервис может работать с большим количеством портов и устройств. Максимальное количество портов - 255.
Для каждого отдельного порта в файле конфигурации должна присутствовать отдельная секция с названием [port-N], где N это уникальнй номер, который, в дальнейшем, используется для настройки и идентификации устройств.
Кластеризация
HOMEd Modbus позволяет использовать несколько "инстансов" сервиса внутри одного корневого топика, это нужно, например, для централизованного управления всеми "инстансами" из одного веб-интерфейса или для организации перекрестных автоматизаций между "инстансами".
Для корректной работы этих функций необходимо, чтобы у каждого "инстанса" было свое уникальное имя, при этом имя одного из "инстансов" может быть пустым. Остальные сервисы устроены так, что смена уникальных имен для "инстансов" не должна влиять на их работу, однако не стоит забывать, что некоторые MQTT-топики сервисов публикуются с флагом retain, поэтому переименование "инстансов" без ручной зачистки таких топиков может привести к нежелательным последствиям.
Уникальное имя "инстанса" может быть строкой, состоящей из любых символов, за исключением спец-символов, используемых в MQTT-топиках: #, + и /.
Тем не менее, во избежание потенциальных проблем, рекомендуется использовать строки без пробелов, состоящие только из латинских букв и цифр, например: guestHouse.
Что дальше?
После настройки HOMEd Modbus можно приступать к добавлению устройств, при помощи веб-интерфейса или вручную.