Backup & Restore в Home Assistant: как сделать резервную копию и восстановление

Подробно о том, как работает резервное копирование и восстановление в Home Assistant: от встроенных инструментов HAOS до ручных методов для Docker и Core.

В Telegram-канале @iot7m_ru публикуются практические заметки по Home Assistant: опыт эксплуатации устройств, интеграция с различным оборудованием, создание дашбордов и разбор типовых проблем. Многие материалы основаны на реальных запросах и консультациях. Подпишитесь на @iot7m_ru, если используете Home Assistant на практике.

Backup & Restore в Home Assistant: как сделать резервную копию и восстановление

Введение

Резервные копии — основа надёжности умного дома. Если Home Assistant сломается, обновление пройдёт неудачно или выйдет из строя оборудование, именно резервная копия позволит быстро восстановить систему.

В резервную копию Home Assistant могут входить:

  • файлы конфигурации (configuration.yaml и другие YAML)
  • аддоны и их настройки
  • база данных (по умолчанию SQLite, файл home-assistant_v2.db), если включена опция «История»
  • скрытая папка .storage (реестры устройств/сущностей, авторизация, метаданные)

Резервная копия может быть полной (всё целиком) или частичной (например, только настройки и аддоны). База данных добавляется только если выбран пункт «История».

Home Assistant можно установить четырьмя способами: OS (HAOS), Supervised, Container (Docker) и Core (Python venv). В этой статье рассмотрим, как работает Backup & Restore для каждого из них на примере локального хранения резервных копий. Важно помнить, что согласно официальному объявлению, два варианта — Core и Supervised — будут признаны устаревшими и перестанут поддерживаться в декабре 2025 года.

Также Home Assistant поддерживает хранение резервных копий за пределами самой системы. Для этого можно подключать дополнительные расположения, такие как сетевые хранилища, облачные сервисы и внешние серверы:

Общая информация

Первичная настройка

При первом входе Home Assistant предлагает включить систему резервного копирования:

  • можно включить защиту резервных копий ключом шифрования и сохранить ключ в безопасном месте; без него зашифрованные данные восстановить нельзя
  • доступна загрузка «аварийного комплекта» (Recovery Kit) для офлайн‑хранения

Примечание: шифрование — опционально. В метаданных файла backup.json это указывается в поле protected (true/false) и в поле crypto (например, aes128).

Состав и структура архива

Вы сами определяете, что попадёт в резервную копию:

  • Настройки Home Assistant — минимальный набор для восстановления системы
  • История — база данных с историческими данными сенсоров и панелью энергопотребления
  • Мультимедиа — записи с камер и другие медиафайлы
  • Папка общего доступа — используется аддонами и старыми конфигурациями

Вышеописанные опции выбора доступны в HAOS и Supervised. В вариантах Container и Core опции “Мультимедиа” и “Папка общего доступа” отсутствуют.

Ниже приведён пример структуры архива

backup.json
homeassistant.tar.gz
media.tar.gz
share.tar.gz
ssl.tar.gz

Назначение файлов:

  • backup.json — метаданные (название, дата, тип копии, версии Supervisor и HA, выбранные папки, список аддонов и репозиториев, флаги compressed, protected, crypto, и т. п.)
  • homeassistant.tar.gz — основная конфигурация Home Assistant (включая .storage, YAML‑файлы и настройки)
  • media.tar.gz — медиафайлы
  • share.tar.gz — папка общего доступа
  • ssl.tar.gz — SSL‑сертификаты

Фрагмент backup.json (пример):

{
  "slug": "e670934a",
  "version": 2,
  "name": "my_backup",
  "date": "2025-09-22T10:58:21.057550+00:00",
  "type": "partial",
  "supervisor_version": "2025.09.0",
  "homeassistant": {"version": "2025.9.1", "exclude_database": false, "size": 0.0},
  "compressed": true,
  "protected": false,
  "crypto": "aes128",
  "folders": ["media", "share", "ssl"],
  "addons": [],
  "repositories": [
    "https://github.com/esphome/home-assistant-addon",
    "https://github.com/music-assistant/home-assistant-addon",
    "https://github.com/hassio-addons/repository"
  ]
}

Хранение резервных копий

По умолчанию резервные копии хранятся локально и отображаются в разделе «Настройки → Система → Резервное копирование», откуда их можно скачать на компьютер. В Home Assistant OS и Supervised резервные копии сохраняются в локальном хранилище системы — в каталоге /backup относительно корневого каталога Home Assistant (например, /root). В установках Home Assistant Container и Core резервные копии сохраняются непосредственно в каталоге конфигурации Home Assistant (config). Конкретный путь к этому каталогу зависит от способа запуска и настроек окружения, например использования bind-mount или виртуального окружения Python. Для хранения резервных копий за пределами системы Home Assistant можно подключать дополнительные расположения, такие как сетевые хранилища, облачные сервисы и внешние серверы. Настройка каждого из таких вариантов рассматривается в отдельной статье:

Частичное восстановление данных

Функция частичного резервного копирования и восстановления доступна только в установках Home Assistant OS (HAOS) и Home Assistant Supervised. Другие варианты установки (Container и Core) не поддерживают выбор компонентов. Полный список способов установки приведён в статье Как установить Home Assistant: четыре способа, их плюсы и минусы.

При создании частичной копии можно выбрать, какие данные сохранить или восстановить:

  • Настройки Home Assistant — минимальный набор для восстановления системы
  • История — исторические данные датчиков, включая панель управления энергопотреблением
  • Мультимедиа — записи с камер и другие файлы мультимедиа
  • Папка общего доступа — используется дополнениями для расширенных или старых конфигураций
  • Дополнения — можно выбрать, какие дополнения сохранять (например, «Все» или отдельные)

Выборочное восстановление отдельных устройств не поддерживается. Если вы используете режим хранения конфигурации в .storage, то изменить или перенести отдельные устройства вручную невозможно — структура и данные управляются самой системой. В режиме YAML такие изменения возможны, поскольку конфигурация задаётся пользователем напрямую. Подробнее о различиях между форматами читайте в статье Где хранить конфигурацию Home Assistant: YAML или .storage?

Что делать с базой данных

По умолчанию Home Assistant использует SQLite. Её можно включить в резервную копию, но перенос между разными архитектурами (64-бит → 32-бит) может вызвать проблемы.

Если же вы используете MySQL или PostgreSQL в качестве внешней базы данных, то для них доступны собственные инструменты резервного копирования и восстановления, что делает хранение истории надёжнее и упрощает перенос между системами.

Работа с разными версиями

Не рекомендуется использовать резервные копии между разными версиями Home Assistant — ни в сторону обновления, ни в сторону понижения. Резервные архивы включают файлы из папки .storage, где хранятся конфигурационные данные в формате JSON. Эти файлы зависят от версии платформы, и различия между ними могут привести к ошибкам при запуске, сбоям интеграций или непредсказуемым проблемам в интерфейсе.

Так как заранее невозможно предсказать, когда и как несовместимость проявится, безопаснее всего использовать резервные копии, созданные в той же версии Home Assistant, что установлена на устройстве. Если копия была сделана на другой версии, рекомендуется сначала обновить систему до этой версии, а уже затем выполнять восстановление.

Backup & Restore в Home Assistant OS (HAOS)

В HAOS резервное копирование встроено и включает удобный мастер настройки.

Создание резервной копии

Чтобы создать резервную копию:

  1. Откройте Настройки → Система → Резервное копирование
  2. Нажмите Создать резервную копию
  3. Выберите, что включить (настройки, историю, мультимедиа, папку общего доступа)
  4. Подтвердите — система создаст архив, который можно скачать

Восстановление с резервной копии

Чтобы восстановить систему из копии:

  1. Перейдите в Настройки → Система → Резервное копирование
  2. В правом верхнем углу нажмите ⋮ (Меню) и выберите Загрузить резервную копию, после чего импортируйте файл .tar
  3. Загруженная копия появится в списке «Мои резервные копии»
  4. Нажмите на её название, чтобы открыть детали
  5. В появившемся окне выберите вариант: «Восстановить полностью» или «Выбрать, что восстановить» (частично)
  6. Подтвердите действие и дождитесь завершения процесса и перезапуска Home Assistant

При «чистом» старте HAOS мастер первого запуска также предложит восстановиться из файла резервной копии.

Backup & Restore в Home Assistant Supervised

Supervised — это установка на Linux с Docker и Supervisor. Функции резервного копирования и восстановления доступны в том же разделе интерфейса, что и в HAOS, с теми же опциями выбора содержимого и возможностью выгружать файлы наружу (через скачивание или аддоны для облака/NAS).

Backup & Restore в Home Assistant Container (Docker)

В установке Home Assistant Container нет Supervisor, но встроенная функция резервного копирования Home Assistant доступна и работает стандартно через интерфейс. Резервные копии создаются в каталоге конфигурации контейнера (/config) — поэтому важно, чтобы он был вынесен во внешний volume или bind mount и сохранялся вне контейнера. При необходимости можно дополнительно делать «ручной» бэкап, архивируя содержимое /config (включая базу данных и папку .storage). Восстановление выполняется либо через импорт резервной копии в интерфейсе Home Assistant, либо путём распаковки архива обратно в каталог конфигурации.

Backup & Restore в Home Assistant Core (Python venv)

В установке Home Assistant Core (Python venv) встроенная функция резервного копирования Home Assistant доступна и работает через интерфейс. В отличие от вариантов с Supervisor, резервные копии сохраняются непосредственно в каталоге конфигурации Home Assistant. Также возможно создание «ручных» резервных копий путём архивирования содержимого каталога конфигурации. Восстановление выполняется либо через импорт резервной копии в интерфейсе Home Assistant, либо путём распаковки архива обратно в каталог конфигурации.

Заключение

В HAOS и Supervised резервное копирование встроено и максимально удобно, тогда как в Container и Core оно выполняется вручную, но остаётся вполне простым в настройке и легко автоматизируется с помощью cron-задач.
Резервные копии — это настоящая страховка умного дома: создать их несложно, а восстановление позволяет сэкономить часы работы и избежать лишних нервов в случае сбоя.

Полезные ссылки