Настройка Home Assistant выполяется как с помощью графического интерфейса, так и с помощью редактирования yaml файлов с конфигами.
Настройка Home Assistant выполяется как с помощью графического интерфейса, так и с помощью редактирования yaml файлов с конфигами.
В некоторых ситуациях в yaml нужно указывать какие-то секретные данные. Например,
токены или пароли. Вот фрагмент файла configuration.yaml
в котором указан токен:
telegram_bot:
- platform: polling
api_key: 1251738428:AAGCg-TlvbP7ug8pKTJ8N5As3Zz1nhzvyOo
parse_mode: html
Хорошая идея — выносить все секретные данные в специальный файл secrets.yaml
.
Вот как можно переписать этот же пример конфига с использованием секретов.
Новое содержимое файла configuration.yaml
:
telegram_bot:
- platform: polling
api_key: !secret telegram_token
parse_mode: html
Теперь значение api_key, это не сам токен, а команда для использования секрета с именем telegram_token
.
Все секреты хранятся в файле secrets.yaml
. Вот как описать секрет в этом файле:
telegram_token: 1251738428:AAGCg-TlvbP7ug8pKTJ8N5As3Zz1nhzvyOo
Если все секреты вынесены в отдельный файл, то тогда можно спокойно показывать свои конфиги — не будет опасности что случайно утечет какой-то важный токен или пароль.
Некоторые люди выкладывают конфиги своих серверов Home Assistant в общий доступ на GitHub. Если все секреты содержатся в отдельном файле и этот файл не опубликован на GitHub, то тогда люди которые читают эти конфиги не смогут получить полный доступ к тем системам которые используеются в конфигах.
secrets.yaml
Файл secrets.yaml
должен находиться в той же папке что и главный конфигурационный
файл configuration.yaml
:
config/
├── www/
├── automations.yaml
├── configuration.yaml
├── secrets.yaml
└── ...
В свежих версиях Home Assistant файл secrets.yaml
есть сразу после установки.
На более ранних версиях Home Assistant этот файл нужно было создать самостоятельно.
secrets.yaml
после установки Home Assistant
После установки Home Assistant сразу появлесятся файл config/secrets.yaml
в котором
содержится пример использования:
# Use this file to store secrets like usernames and passwords.
# Learn more at https://www.home-assistant.io/docs/configuration/secrets/
some_password: welcome