м (→[mqtt]) |
м (→Что дальше?) |
||
Строка 115: | Строка 115: | ||
{{Warning|Для работы Telegram-бота необходимо, чтобы были настроены параметры <code>token</code> и <code>chat</code>. В случае, если один из этих параметров отсутствует в конфигурации, Telegram-бот не будет работать.}} | {{Warning|Для работы Telegram-бота необходимо, чтобы были настроены параметры <code>token</code> и <code>chat</code>. В случае, если один из этих параметров отсутствует в конфигурации, Telegram-бот не будет работать.}} | ||
== Кластеризация == | |||
{{Service|Automation}} позволяет использовать несколько "инстансов" сервиса внутри одного корневого топика, это нужно, в первую очередь, для разделения задач по автоматизации между разными контроллерами с отдельными "инстансами" сервиса [[ZigBee]], с использованием локальных MQTT-брокеров объединенных MQTT-мостом. | |||
Для корректной работы этих функций ''необходимо'', чтобы у каждого "инстанса" было свое уникальное имя, при этом имя ''одного'' из "инстансов" может быть пустым. Не стоит забывать, что некоторые MQTT-топики сервисов публикуются с флагом '''retain''', поэтому переименование "инстансов" без ручной зачистки таких топиков может привести к нежелательным последсвиям. | |||
{{Warning|Уникальное имя "инстанса" может быть строкой, состоящей из любых символов, за исключением спец-символов, используемых в MQTT-топиках: <code>#</code>, <code>+</code> и <code>/</code>. Однако, во избежание потенциальных проблем, я рекомендую использовать строки без пробелов, состоящие только из латинских букв и цифр, например: <code>guestHouse</code>.}} | |||
== Что дальше? == | == Что дальше? == |
Версия от 17:47, 27 января 2025
Файл конфигурации
Конфигурация HOMEd Automation хранится в файле /etc/homed/homed-automation.conf
. Пример файла конфигурации:
[log]
enabled=false
timestamps=true
file=/var/log/homed.log
[mqtt]
host=localhost
port=1883
username=automation
password=secret
prefix=homed
instance=
[automation]
database=/opt/homed-automation/database.json
[location]
latitude=55.755864
longitude=37.617698
[telegram]
token=1234567890:abcdefghijklmnopqrstuvwxyz123456789
chat=123456789
update=true
timeout=60
При изменении содержимого файла конфигурации сервис автоматически перезапускается.
Параметры
[log]
параметр | описание |
---|---|
enabled | включение/выключение записи логов в файл |
timestamps | включение/выключение меток времени при выводе лога в stdout
|
file | путь к файлу лога |
[mqtt]
параметр | описание |
---|---|
host | адрес брокера |
port | порт брокера |
username | имя пользователя для авторизации на брокере (может быть пустым) |
password | пароль для авторизации на брокере (может быть пустым) |
prefix | корневой топик |
instance | уникальное имя сервиса (может быть пустым), подробности ниже |
[automation]
параметр | описание |
---|---|
database | путь к файлу базы данных |
[location]
параметр | описание |
---|---|
latitude | широта в градусах |
longitude | долгота в градусах |
Данные о местоположении используются для расчета времени рассветов и закатов, а так же для функции адаптивного освещения.
[telegram]
параметр | описание |
---|---|
token | токен Telegram-бота |
chat | идентификатор основного чата |
update | включение/выключение поллинга обновлений бота |
timeout | таймаут обновлений бота |
Для работы Telegram-бота необходимо, чтобы были настроены параметры token
и chat
. В случае, если один из этих параметров отсутствует в конфигурации, Telegram-бот не будет работать.
Кластеризация
HOMEd Automation позволяет использовать несколько "инстансов" сервиса внутри одного корневого топика, это нужно, в первую очередь, для разделения задач по автоматизации между разными контроллерами с отдельными "инстансами" сервиса ZigBee, с использованием локальных MQTT-брокеров объединенных MQTT-мостом.
Для корректной работы этих функций необходимо, чтобы у каждого "инстанса" было свое уникальное имя, при этом имя одного из "инстансов" может быть пустым. Не стоит забывать, что некоторые MQTT-топики сервисов публикуются с флагом retain, поэтому переименование "инстансов" без ручной зачистки таких топиков может привести к нежелательным последсвиям.
Уникальное имя "инстанса" может быть строкой, состоящей из любых символов, за исключением спец-символов, используемых в MQTT-топиках: #
, +
и /
. Однако, во избежание потенциальных проблем, я рекомендую использовать строки без пробелов, состоящие только из латинских букв и цифр, например: guestHouse
.
Что дальше?
После настройки HOMEd Automation можно приступать к добавлению автоматизаций в базу данных.