Custom/Configuration: различия между версиями

Материал из HOMEd Wiki
 
Строка 103: Строка 103:
  |путь к файлу с [[Common/Options|опциями]] типовых [[Common/Exposes|способностей]] устройств
  |путь к файлу с [[Common/Options|опциями]] типовых [[Common/Exposes|способностей]] устройств
|}
|}
== Кластеризация ==
{{Instance|Custom}}


== Что дальше? ==
== Что дальше? ==

Текущая версия от 09:04, 26 февраля 2025

HOMEd > Custom > Конфигурация

Файл конфигурации

Конфигурация HOMEd Custom хранится в файле /etc/homed/homed-custom.conf. Пример файла конфигурации:

[log]
enabled=false
timestamps=true
file=/var/log/homed.log

[mqtt]
host=localhost
port=1883
username=custom
password=secret
prefix=homed
instance=
names=false

[homeassistant]
enabled=false
prefix=homeassistant
status=homeassistant/status

[device]
database=/opt/homed-custom/database.json
properties=/opt/homed-custom/properties.json
expose=/usr/share/homed-common/expose.json

При изменении содержимого файла конфигурации сервис автоматически перезапускается.

Параметры

[log]

параметр описание
enabled включение/выключение записи логов в файл
timestamps включение/выключение меток времени при выводе лога в stdout
file путь к файлу лога

[mqtt]

параметр описание
host адрес брокера
port порт брокера
username имя пользователя для авторизации на брокере (может быть пустым)
password пароль для авторизации на брокере (может быть пустым)
prefix корневой топик
instance уникальное имя сервиса (может быть пустым), подробности ниже
names использование имен устройств вместо адресов в MQTT-топиках

[homeassistant]

параметр описание
enabled включение/выключение функции Home Assistant MQTT Discovery
prefix корневой топик для Home Assistant MQTT Discovery
status топик для отслеживания состояния Home Assistant

[device]

параметр описание
database путь к файлу базы данных
properties путь к файлу, в котором будут храниться акткуальные (последние известные) состояния устройств
expose путь к файлу с опциями типовых способностей устройств

Кластеризация

HOMEd Custom позволяет использовать несколько "инстансов" сервиса внутри одного корневого топика, это нужно, например, для централизованного управления всеми "инстансами" из одного веб-интерфейса или для организации перекрестных автоматизаций между "инстансами".

Для корректной работы этих функций необходимо, чтобы у каждого "инстанса" было свое уникальное имя, при этом имя одного из "инстансов" может быть пустым. Остальные сервисы устроены так, что смена уникальных имен для "инстансов" не должна влиять на их работу, однако не стоит забывать, что некоторые MQTT-топики сервисов публикуются с флагом retain, поэтому переименование "инстансов" без ручной зачистки таких топиков может привести к нежелательным последсвиям.

Уникальное имя "инстанса" может быть строкой, состоящей из любых символов, за исключением спец-символов, используемых в MQTT-топиках: #, + и /. Однако, во избежание потенциальных проблем, я рекомендую использовать строки без пробелов, состоящие только из латинских букв и цифр, например: guestHouse.

Что дальше?

После настройки HOMEd Custom можно приступать к добавлению устройств, при помощи веб-интерфейса или вручную.