Home Assistant

Home Assistant – Установка на OrangePi PC +

Установка HA в виртуальное окружение Python

В данный момент написана статья  Установка Home Assistant на OrangePi PC + актуальная на март 2022 года.

На сайте Home Assistant есть раздел посвященный установке этой системы на разные платформы. Я делал попытки установить Home Assistant по одной из инструкций с оффициального сайта и так же находя возможные решения в интернете, но все мои попытки заканчивались неудачей из-за того что с конца 2020 года Home Assistant перестал поддерживать старую версию Python.

Поэтому здесь я представлю инструкцию по полной установке Home Assistant в виртуальное окружение Python на одноплатном компьютере OrangePi PC + актуальную на начало 2021 года.

Итак первоначальные данные для начала установки:

  • OrangePi PC + желательно с блоком питания 5 вольт 3 ампера
  • Установлена система – Armbian Buster с официального сайта Армбиан
  • Имеется прямой доступ к консоли или по SSH

Установка Python-3.9.2

Если нет прямого доступа к консоли, то подключаемся по SSH и обновляем систему до актуального состояния.

sudo apt-get update
sudo apt-get upgrade -y

После обновления системы устанавливаем необходимые компоненты и зависимости.

sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libxslt-dev libxml2-dev python3 python3-dev python3-venv python3-pip libffi-dev libtiff-dev autoconf libopenjp2-7 -y

Объявляем переменную version и присваеваем ей номер нужной нам версии. Скачиваем архив с Python в папку /tmp :

version=3.9.2
wget -O /tmp/Python-$version.tar.xz https://www.python.org/ftp/python/$version/Python-$version.tar.xz

Переходим в папку /tmp и разархивируем скачаный архив и устанавливаем Python:

cd /tmp
tar xf Python-$version.tar.xz
cd Python-$version
./configure --enable-optimizations
sudo make altinstall
sudo apt -y autoremove

Возвращаемся в корень и удаляем скачаный архив и разархивированные файлы, перезагружаемся:

cd
sudo rm -rf /tmp/Python-$version
sudo rm /tmp/Python-$version.tar.xz
sudo reboot

Установка Home Assistant

После перезагрузки открываем терминал и продолжаем.

Создадим нового системного пользователя с домашней папкой для запуска и работы ядра Home Assistant. Пользователя назовем  homeassistant. Добавим его в группу dialout для взаимодействия с устройствами Z-Wave и ZigBee.

sudo useradd -rm homeassistant -G dialout

Далее в папке /srv создадим папку для ядра Home Assistant. Пользователя homeassistant установим для неё владельцем.

cd /srv
sudo rm -rf homeassistant
sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant

Заходим под учетной записью homeassistant.

sudo su -s /bin/bash homeassistant

Теперь создаем виртуальное окружение для ядра Home Assistant и активируем его:

cd /srv/homeassistant
python3.9 -m venv .
source bin/activate

После активации виртуальной среды приступаем к установке Home Assistant:

pip3 install homeassistant

Далее запускаем Home Assistant командой:

hass

При первом запуске Home Assistant в домашнем каталоге пользователя homeassistant (/home/homeassistant) будет создана папка .homeassistant, в которой будут находится конфигурационные файлы системы.

Первый запуск может занимать 5-10 минут, после чего проверяем доступность установленной системы набрав в браузере адресс:

http://ip_адрес_OrangePi:8123

Прерываем работу запущенной системы сочетанием клавиш Ctrl+C

Выходим из учетной записи пользователя homeassistant

exit

Создаем файл для запуска сервиса при старте системы:

sudo nano /etc/systemd/system/home-assistant@homeassistant.service

Вставляем в него следующие строки:

[Unit]
Description=Home Assistant
After=network-online.target

[Service]
Type=simple
User=%i
WorkingDirectory=/home/%i/.homeassistant
ExecStart=/srv/homeassistant/bin/hass -c "/home/%i/.homeassistant"
RestartForceExitStatus=100

[Install]
WantedBy=multi-user.target

Закрываем текстовой редактор “Ctrl-X”, подтверждаем сохранение “Y” и Enter.

Включаем Home Assistant в качестве сервиса::

sudo systemctl --system daemon-reload
sudo systemctl enable home-assistant@homeassistant
sudo systemctl start home-assistant@homeassistant

Проверяем работу сервиса:

sudo systemctl status home-assistant@homeassistant.service

Проверяем работу Home Assistant в браузере по адресу:

http://ip_адрес_OrangePi:8123

Home Assistant – Обновление

Для обновления до последней версии необходимо:

  • зайти под пользователем homeassistant
  • активировать виртуальное окружение homeassistant
  • выполнить команду обновления
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant

Выходим из учетной записи пользователя homeassistant

exit

После обновления выполняем перезапуск службы homeassistant@homeassistant.service:

sudo systemctl restart home-assistant@homeassistant.service

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