Где хранить конфигурацию Home Assistant: YAML или .storage?

Home Assistant позволяет хранить конфигурацию в YAML-файлах или в папке .storage. Статья описывает преимущества и ограничения каждого подхода: удобство работы, перенос между экземплярами системы и совместную работу через Git.

Где хранить конфигурацию Home Assistant: YAML или .storage?

Вступление

Хранение конфигурации в Home Assistant — это основа удобной и безопасной работы. От этого зависит, насколько просто будет управлять системой, делать резервные копии и откатывать изменения.

Существует два основных способа: использование YAML-файлов и хранение настроек в скрытой папке .storage.

Конфигурация в YAML

YAML — это классический способ описания конфигурации Home Assistant. Основной файл — configuration.yaml, но конфигурация может быть вынесена в отдельные файлы: automations.yaml, ui-lovelace.yaml и другие.

Главные преимущества: удобно хранить в Git, а значит обеспечить командную работу с прозрачной историей изменений; человеко-читаемый формат.

Важно учитывать: сенсоры можно описывать двумя способами — старым, без unique_id, и новым, с unique_id. В первом случае существует ряд ограничений при просмотре и редактировании сущности. Во втором случае сущность можно редактировать через веб‑интерфейс, и эти изменения попадут в .storage. В итоге часть свойств будет управляться YAML, а часть — храниться в .storage, что лишает конфигурацию единой точки правды.

Конфигурация в .storage

Папка .storage появляется внутри директории config. В неё Home Assistant автоматически записывает настройки, если они сделаны через веб-интерфейс. Файлы хранятся в формате JSON и не предназначены для ручного редактирования.

Главные преимущества: подходит новичкам, которые привыкли работать из веб-интерфейса.

Сравнительная таблица

Фактор принятия решения YAML .storage
Простота для новичков Требует знаний YAML Всё через UI
Читаемость Читаемо, понятный синтаксис JSON, сложнее читать
Версионирование в Git Удобно, контроль истории Сложнее работать с JSON
Командная работа Поддерживается через Git Практически отсутствует
Перенос между экземплярами HA Легко переносить файлы Возможен только через полный backup & restore
Применение изменений Иногда нужен перезапуск Сразу в работе

Что выбрать?

Оба подхода имеют право на жизнь. Выбор зависит от того, как вы используете Home Assistant.

Если вы работаете в команде, лучше хранить конфигурацию в YAML и вести её историю в Git. Это позволит отслеживать изменения, делать ревью и быстро откатываться. Если нужен частичный (не полный) перенос данных между разными экземплярами Home Assistant, используйте YAML — это самый надёжный вариант.

Если вы работаете в одиночку, то выбор зависит от ваших предпочтений: любите полный контроль и прозрачность — используйте YAML. Цените простоту и работу через интерфейс — полагайтесь на .storage.