Home Assistant — это бесплатное программное обеспечение для создания умного дома с разнообразными автоматизациями. Еще буквально несколько лет назад его использование было уделом гиков, знающих Python и пишущих конфиги руками, но теперь в конце 2020 большая часть стандартных вещей делается через веб интерфейс.
Чаще всего к использованию Home Assistant приходят те, кто уже сталкивался с умным домом на примере, например, Mi Home, и остался недоволен его быстродействием, танцами с бубном при добавлении китайских и европейских версий устройств, или же тем, что все данные в нем идут через сервера в Китае.
Мне удалось «разгрузить» Mi Home, перенеся все датчики, автоматизации и правила в Home Assistant, но, к сожалению, избавиться от него полностью не получилось. Рекомендации ниже не являются окончательной и исчерпывающей инструкцией, и определенно могут подойти не всем, это всего лишь метод, который подошел мне и показал свою эффективность в частном случае.
Виды установки Home Assistant
Home Assistant
В более ранних инструкциях такая система называлась «Hass.io» Это полная установка системы домашней автоматизации, не требующая наличия пользовательской ОС, поскольку уже включает в себя операционную систему (HassOS), Supervisor и надстройки. Такую систему предполагается запускать на различных одноплатных компьютерах или на виртуальной машине.
Контейнер с Home Assistant
Включает только приложение Home Assistant Core (ядро) в собственной системе контейнеризации, например, Docker. Он не обеспечивает полную функциональность супервизора и, следовательно, не предоставляет панель супервизора и надстройки. Ранее в официальной инструкции этот метод назывался «Home Assistant Core на Docker».
Home Assistant Supervised
Home Assistant устанавливается на пользовательский Linux. Раньше такой подход назывался «Hass.io в обычном Linux» и устанавливался поверх, например, Debian.
Home Assistant Core
Запускает ядро Home Assistant Core на Python. Такой метод не обеспечивает полную функциональность супервизора и лишает пользователя возможности автоматически обновляться или ставить плагины.
Из этих методов наиболее перспективным показался Home Assistant Supervised, потому что:
- ставится прямо на существующую систему, где уже крутятся другие сервисы (OwnCloud, Bind, Squid и прочие).
- конфиги доступны к редактированию через консоль
- есть возможность обновлений с помощью супервизора
- аддоны и плагины, они особенно пригодятся при настройке Zigbee координатора
Установка Home Assistant Supervised
1. Установить обновления системы
sudo su
apt update && apt dist-upgrade -y && apt autoremove -y
reboot
2. Установить нужные пакеты. Если что-то уже стоит, не страшно.
sudo su
apt-get install -y software-properties-common apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat
3. Отключить ModemManager
systemctl disable ModemManager
ssystemctl stop ModemManager
4. Установить Docker
curl -fsSL get.docker.com | sh
5. Установить Home Assistant Supervised
curl -sL https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh | bash -s
Этот скрипт можно запускать с ключами:
Аргумент | Значение по умолчанию | Описание |
---|---|---|
-m | —machine | Тип платформы, на которую производится установка | |
-p | —prefix | /usr | Префикс папки, где будет установлен ассистент |
-d | —data-share | $PREFIX/share/hassio | Путь относительно prefix папки |
-s | —sysconfdir | /etc | Конфигурационная папка |
Заявлена поддержка таких платформ:
- intel-nuc
- odroid-c2
- odroid-n2
- odroid-xu
- qemuarm
- qemuarm-64
- qemux86
- qemux86-64
- raspberrypi
- raspberrypi2
- raspberrypi3
- raspberrypi4
- raspberrypi3-64
- raspberrypi4-64
- tinker
После того, как скрипт выполнится, вы можете перейти в браузере по адресу http://server-ip:8123 (замените server-ip на IP адрес машины, куда производилась инсталляция) и увидеть логотип Home Asistant. Через некоторое время вам будет предложено создать пользователя и впервые войти в систему.
PS: По умолчанию, конфиги в формате YAML будут храниться здесь:
/usr/share/hassio/homeassistant