Skip to content

Краткий FAQ по Home Assistant для самых самых маленьких

ANS-spb edited this page Feb 16, 2023 · 1 revision

ВВЕДЕНИЕ

Прежде всего, хотелось бы особо подчеркнуть, что в мире быстро меняется вообще всё, а особенно быстро меняются развивающиеся сложные проекты, включая и Home Assistant. По этой причине, все сторонние инструкции, мануалы, пошаговые руководства и видеоролики имеют склонность устаревать. Иногда они это делают быстро, иногда не очень - всё зависит от того, в каком месте разработчики Home Assistant и его интеграций решили опять всё переделать.

Устареет и этот FAQ, рано или поздно, даже несмотря на старания автора сделать его максимально простым.

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

ОПИСАНИЕ СИСТЕМЫ И ТЕРМИНОЛОГИЯ

Home Assistant (HA, в чатах часто сокращают до “ХА”) — программное обеспечение с открытым исходным кодом для домашней автоматизации, предназначенное для установки на собственных вычислительных мощностях пользователя (одноплатные компьютеры, мини-ПК, виртуальные машины и т.д.). Поддерживает множество различных устройств умного дома разных производителей и разные протоколы для их подключения.

Home Assistant - модульная система, которая состоит из нескольких взаимосвязанных частей.

  • Core - ядро системы, собственно сам Home Assistant. Ядро входит во все варианты установки и работает одинаково в любом из этих вариантов.

  • Компоненты (интеграции). Написаны специально для Home Assistant и встраиваются в него при их установке, как конструктор Lego, расширяя возможности ядра. Каждый компонент предназначен для какой-то конкретной задачи: для подключения конкретных устройств или выполнения каких-то функций. Практически любой существующий функционал системы реализуется с помощью того или иного компонента.

Компоненты также делятся на штатные (идут в комплекте с системой) и кастомные (внешние, написанные пользователями).

Компоненты входят (или могут быть установлены) в любой вариант установки. Популярный магазин кастомных компонентов HACS (Home Assistant Community Store) это тоже компонент, который точно так же может быть установлен на любой вариант инсталляции Home Assistant.

  • Дополнения (Add-ons, аддоны). Не стоит путать их с компонентами (интеграциями), у них совсем другой смысл и механизм работы. Дополнения - это отдельное программное обеспечение, написанное сторонними разработчиками и выполняющееся параллельно с Home Assistant на том же оборудовании.

Например, Zigbee2MQTT, популярное решение для подключения Zigbee-устройств к Home Assistant, представляет собой стороннее ПО независимых разработчиков, для удобства пользователя оформленное в виде дополнения, но его можно установить и другими способами.

Технически, дополнения представляют собой контейнеры Docker и доступны не на всех вариантах установки Home Assistant (об этом ниже).

  • Супервизор (Supervisor). Вспомогательное штатное программное обеспечение, надстройка над Docker. Обеспечивает запуск и работу дополнений и вспомогательные функции, такие как обновление самого Home Assistant. Супервизор не обязателен для работы Home Assistant, и входит в состав не всех вариантов установки. Самое важное тут для конечного пользователя - дополнения (аддоны) не работают без супервизора. Стороннее ПО придётся ставить и обновлять руками самостоятельно.

УСТАНОВКА

Home Assistant написан на языке Python и предназначен для работы в среде Linux. Какой бы Вы вариант установки ни выбрали, в конечном итоге Home Assistant, скорее всего, будет работать поверх Linux или другой UNIX-like ОС (кроме одного экзотического варианта под Windows от стороннего разработчика, да и тот предназначен больше для ознакомления с ХА, чем для серьёзной работы, но о нём ниже).

Выбор устройств, на которых можно развернуть Home Assistant, довольно обширен - от популярных одноплатных компьютеров типа Raspberry Pi и обычных ПК, до ТВ-приставок и перепрошитых шлюзов умного дома. Однако, в этом FAQ будут затрагиваться только способы установки, официально поддерживаемые разработчиками ХА на момент написания этого текста.

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

  • Установка Home Assistant OS в виртуальной машине, на существующем ПК или NAS. Описание этого варианта установки для VirtualBox, KVM, VmWare и Hyper-V находятся здесь.
  • Установка Home Assistant Core напрямую в Windows. Используется сборка HassWP авторства AlexxIT

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

Официально есть четыре варианта установки Home Assistant:

image
  • Home Assistant Operating System (HAOS). Минимально необходимая сборка операционной системы Linux от разработчиков Home Assistant. Самый простой вариант установки, в комплекте сам Home Assistant и Supervisor для обновлений и работы дополнений).

Распространяется в виде готовых образов для популярных одноплатников (Raspberry Pi, ODROID, ASUS Tinkerboard), а также для архитектуры x86-64 (обычные ПК, мини-ПК, Intel NUC, виртуальные машины).

Эти образы нужно записать непосредственно на диск, с которого будет загружаться ваш сервер Home Assistant (SD-флешка или SSD, в зависимости от вашего оборудования). В случае виртуальных машин, предоставляются готовые образы для VirtualBox, KVM, VmWare и Hyper-V.

Это самый простой вариант установки для тех, кому надо, чтобы оно “просто работало”. Для тех, кто не знает Linux и (или) не желает заморачиваться. Возможности операционной системы здесь сильно урезаны и доступ к ней тоже урезан, но если Вам нужен “просто Home Assistant”, то это оптимальный вариант.

  • Home Assistant Container. Установка в контейнер на уже существующей инсталляции Linux. Требуется любой Linux и установленный на нём Docker Engine.

Образ Docker с Home Assistant разворачивается вручную или с использованием docker-compose или других инструментов развёртывания.

Супервизора в этом варианте установки нет, дополнения (аддоны) не поддерживаются. Сторонний софт пользователь такого варианта может развернуть самостоятельно, в Docker или напрямую в ОС.

Инструкция для этого варианта установки здесь. Желательны базовые знания Linux и Docker. Вся настройка и обслуживание ОС, обновление контейнеров и установленного ПО лежит на пользователе.

  • Home Assistant Supervised. Усложнённый вариант установки Container, но с супервизором и аддонами. Ввиду излишней сложности получившейся системы, разработчики Home Assistant официально поддерживают такую установку только на Debian GNU/Linux (на момент написания текста, это Debian 11 Bullseye). Любые деривативы (ответвления) и другие дистрибутивы официально не поддерживаются.

Также, супервизору не нравятся некоторые сторонние контейнеры, в основном предназначенные для управления Docker, такие как Portainer и Watchtower. Логика этой неприязни в том, что супервизор сам представляет собой группу вспомогательных контейнеров и systemd-сервисов, и использование стороннего менеджера контейнеров легко может этот супервизор поломать.

Инструкция для этого варианта установки здесь. Перед установкой необходимо обязательно прочитать требования к системе. Желательно хорошо знать Linux и Docker. Вся настройка и обслуживание ОС лежит на пользователе.

  • Home Assistant Core. Ручная установка ядра Home Assistant в окружение Python (Python virtual environment, он же venv).

Самый быстрый (в плане работы) и нетребовательный к ресурсам вариант установки, т.к. не задействуется виртуализация и контейнеризация. Оптимально для установки на оборудование с ограниченными ресурсами, или при построении минималистичной системы без “лишних” прослоек.

Супервизора нет, дополнения (аддоны) не поддерживаются. Сторонний софт пользователь такого варианта может развернуть самостоятельно.

Инструкция для этого варианта установки находится здесь. Желательны базовые знания Linux. Вся настройка и обслуживание ОС, обновление самого Home Assistant и установленного ПО лежит на пользователе.

Наши сообщества, где Вам смогут помочь, по возможности

Помните, что чаты в Telegram - это не техническая поддержка. Там сидят такие же пользователи, некоторые из которых просто чуть более опытные. Вы можете быть совсем не одиноки в своём вопросе, поэтому, перед тем как задать вопрос, попробуйте найти ответ на него в документации и в этих же чатах поиском.

И... Удачи :)

Clone this wiki locally