Установка Home Assistant на OrangePi PC + в марте 2022 года
Установка Home Assistant на OrangePi PC в виртуальное окружение Python
На этой странице я представлю инструкцию по полной установке Home Assistant в виртуальное окружение Python на одноплатном компьютере OrangePi PC +. Инструкция актуальна на начало 2022 года.
Для установки требуется:
- OrangePi PC + желательно с блоком питания 5 вольт 3 ампера
- Иметь прямой доступ к консоли или удаленный доступ по SSH
Заходим на официальный сайт Armbian и скачиваем Armbian 22.02 Bullseye. Это операционная система версии CLI (Command Line Interface).
Во-первых Загруженый образ нужно записать на карту MicroSD с помощью программы “win32 disk imager” или “balenaEtcher”.
При первом запуске системы нужно вводить логин “root” и пароль “1234”. Далее система предложит изменить пароль пользователя “root”, его нужно будет ввести два раза. После этого выбираем командную оболочку “bash” – жмем “1” и “Enter”. На предложение зарегистрировать нового пользователя жмем “Ctrl-C”.
Если нет прямого доступа к консоли, то подключаемся с помощью терминального клиента по SSH. Для подключения я пользуюсь программой Putty.
Проверка версии Python
Год назад при установке Home Assistant были проблемы связанные с устаревшей версией Python 3.8. Как известно для установки Home Assistant требуется Python 3.9. Прежде проверим версию Python набрав в терминале команду
python3 --version
Как видно ответ системы с установленой версией Python:
Поскольку Python имеет версию 3.9.2 – этого достаточно для установки Home Assistant.
Установка Home Assistant
Обновляем систему до актуального состояния
sudo apt-get update
sudo apt-get upgrade -y
После обновления системы устанавливаем необходимые компоненты и зависимости.
sudo apt-get install libxcb-util-dev libpcap-dev 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
Так же для установки Home Assistant требуется компилятор языка Rust.
В Ubuntu доступны два основных пакета Rust:
- rustc: компилятор rust, используемый для языка программирования Rust.
- Cargo: Cargo — это менеджер пакетов Rust, который автоматически устанавливает rustc.
Поскольку в состав Cargo входит rustc, я бы посоветовал установить его так, чтобы все необходимые пакеты устанавливались за один раз. Вводим в терминале команду.
sudo apt install cargo
Во время установки нужно подтвердить это действие нажав клавишу – “Y”.
После этого – перезагружаемся.
sudo reboot
После перезагрузки открываем терминал и продолжаем.
Теперь Создадим нового системного пользователя с домашней папкой для запуска и работы ядра Home Assistant. Пользователя назовем homeassistant. Добавим его в группу dialout для взаимодействия с устройствами Z-Wave и ZigBee.
sudo useradd -rm homeassistant -G dialout
Можно задать пароль для пользователя homeassistant. Это необязательный шаг и пароль можно не задавать вообще, либо задать его позже:
passwd homeassistant
Нужно ввести новый пароль два раза.
Далее в папке /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
pip3 install wheel
После активации виртуальной среды приступаем к установке Home Assistant:
pip3 install homeassistant
Далее запускаем Home Assistant командой:
hass
При первом запуске Home Assistant в домашнем каталоге пользователя homeassistant (/home/homeassistant) будет создана папка .homeassistant, в которой будут находится конфигурационные файлы системы.
Первый запуск может занимать 5-10 минут.
После чего проверяем доступность установленной системы набрав в браузере адресс:
http://ipAddress-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
В итоге видим что статус запущенного процесса – Active.
Далее проверяем работу Home Assistant в браузере по адресу:
http://ipAddress-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
Итак будте готовы к тому, что первый запуск после этого может занять некоторое время.
В итоге Вы имеете установленный Home Assistant.