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
Будте готовы к тому, что первый запуск после обновления может занять некоторое время.