Automation: Конфигурация
Конфигурация 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 |
корневой топик |
interval |
интервал публикации топика доступности в секундах |
instance |
уникальное имя сервиса (может быть пустым), подробности ниже |
[automation]
| Параметр | Описание |
|---|---|
database |
путь к файлу базы данных автоматизаций |
[location]
| Параметр | Описание |
|---|---|
latitude |
широта в градусах |
longitude |
долгота в градусах |
Данные о местоположении используются для расчета времени рассветов и закатов, а также для функции адаптивного освещения.
[telegram]
| Параметр | Описание |
|---|---|
token |
токен авторизации для Telegram-бота |
chat |
идентификатор основного чата |
update |
включение/выключение поллинга обновлений бота |
timeout |
таймаут получения обновлений бота |
Для работы Telegram-бота необходимо, чтобы были настроены параметры token и chat. В случае, если один из этих параметров отсутствует в конфигурации, Telegram-бот работать не будет.
Кластеризация
HOMEd Automation позволяет использовать несколько "инстансов" сервиса внутри одного корневого топика. Это нужно, в первую очередь, для разделения задач по автоматизации между разными контроллерами с отдельными локальными "инстансами" сервисов, работающих с устройствами, а также локальными MQTT-брокерами, объединенными MQTT-мостом.
Для корректной работы этих функций необходимо, чтобы у каждого "инстанса" было свое уникальное имя, при этом имя одного из "инстансов" может быть пустым. Не стоит забывать, что некоторые MQTT-топики сервисов публикуются с флагом retain, поэтому переименование "инстансов" без ручной зачистки таких топиков может привести к нежелательным последствиям.
Уникальное имя "инстанса" может быть строкой, состоящей из любых символов, за исключением спец-символов, используемых в MQTT-топиках: #, + и /.
Тем не менее, во избежание потенциальных проблем, рекомендуется использовать строки без пробелов, состоящие только из латинских букв и цифр, например: guestHouse.
Что дальше?
После настройки HOMEd Automation можно приступать к добавлению автоматизаций в базу данных.