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

Материал из HOMEd Wiki
(Новая страница: «{{DISPLAYTITLE:Custom: Конфигурация}} {{Breadcrumbs|Custom > Конфигурация}} == Файл конфигурации == Конфигурация {{Service|Custom}} хранится в файле <code>/etc/homed/homed-custom.conf</code>. Пример файла конфигурации: <syntaxhighlight lang="ini"> [log] enabled=false timestamps=true file=/var/log/homed.log [mqtt] host=localhost port=1883 username=web password=secre...»)
 
 
(не показано 17 промежуточных версий этого же участника)
Строка 13: Строка 13:
host=localhost
host=localhost
port=1883
port=1883
username=web
username=custom
password=secret
password=secret
prefix=homed
prefix=homed
instance=
names=false


[server]
[homeassistant]
port=8080
enabled=false
database=/opt/homed-web/database.json
prefix=homeassistant
frontend=/usr/share/homed-web
status=homeassistant/status
username=homed
password=homed


[device]
database=/opt/homed-custom/database.json
properties=/opt/homed-custom/properties.json
expose=/usr/share/homed-common/expose.json
</syntaxhighlight>
</syntaxhighlight>
{{Warning|При изменении содержимого файла конфигурации сервис автоматически перезапускается.}}
{{Warning|При изменении содержимого файла конфигурации сервис автоматически перезапускается.}}
Строка 62: Строка 66:
  |'''prefix'''
  |'''prefix'''
  |корневой топик
  |корневой топик
|-
|'''instance'''
|уникальное имя сервиса (может быть пустым), подробности [[#Кластеризация|ниже]]
|-
|'''names'''
|использование имен устройств вместо адресов в MQTT-топиках
|}
=== <code>[homeassistant]</code> ===
{|class="wikitable" style="width: 100%"
!style="width: 15%"|параметр
!style="width: 85%"|описание
|-
|'''enabled'''
|включение/выключение функции [https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery Home Assistant MQTT Discovery]
|-
|'''prefix'''
|корневой топик для [https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery Home Assistant MQTT Discovery]
|-
|'''status'''
|топик для отслеживания [https://www.home-assistant.io/integrations/mqtt/#birth-and-last-will-messages состояния Home Assistant]
|}
|}


=== <code>[server]</code> ===
=== <code>[device]</code> ===
{|class="wikitable" style="width: 100%;"
{|class="wikitable" style="width: 100%;"
  !style="width: 15%"|параметр
  !style="width: 15%"|параметр
  !style="width: 85%"|описание
  !style="width: 85%"|описание
|-
|'''port'''
|порт сервера
|-
|-
  |'''database'''
  |'''database'''
  |путь к файлу базы данных
  |путь к файлу базы данных
|-
|-
  |'''frontend'''
  |'''properties'''
  |путь к файлам веб-интерфейса
  |путь к файлу, в котором будут храниться акткуальные (последние известные) состояния устройств
|-
|-
  |'''username'''
  |'''expose'''
  |имя пользователя для авторизации в веб-интерфейсе (может быть пустым)
  |путь к файлу с [[Common/Options|опциями]] типовых [[Common/Exposes|способностей]] устройств
|-
|'''password'''
|пароль для авторизации в веб-интерфейсе (может быть пустым)
|}
|}


{{Warning|В случае, если в файле конфигурации отсутствует параметр <code>username</code> или параметр <code>password</code>, а так же в случае, если значение одного из этих параметров является пустым, авторизация в веб-интерфейсе будет отключена.}}
== Кластеризация ==
{{Instance|Custom}}
 
== Что дальше? ==
После настройки {{Service|Custom}} можно приступать к добавлению устройств, при помощи [[Web|веб-интерфейса]] или [[Custom/Database|вручную]].


[[Category:Web]]
[[Category: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 можно приступать к добавлению устройств, при помощи веб-интерфейса или вручную.