Установка Home Assistant Core на Ubuntu 22.04 LTS

Здравия всем! Я расскажу, как поставить Home Assistant Core на Ubuntu Server 22.04 LTS.

В одной из инсталляций понадобился мне Home Assistant при чем именно в режиме Core на только, что установленном Ubuntu server 22.04 LTS. Я решил обновить свою статью, про Home Assistant Core установку, но теперь уже на новый Ubuntu 22.04 LTS

Подготовка

Зайдем на сервер с помощью ssh. Получим root права

sudo bash

Обновим систему

apt update
apt upgrade

Для Home Assistant нужен не ниже Python 3.9. В системе уже установлен Python 3.10. Поставим необходимые библиотеки

apt-get install python3-dev python3-venv python3-pip rustc cargo libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 libturbojpeg0-dev tzdata

Для работы Home Assistant Core создадим в систему локального пользователя homeassistant, под ним будет работать Home Assistant Core.

useradd -rm homeassistant

Создадим папку для Home Assistant Core и дадим на неё доступ для пользователя homeassistant

mkdir /srv/homeassistant
chown homeassistant:homeassistant /srv/homeassistant

Создадим виртуальное окружение для Home Assistant Core, для этого переключимся на пользователя homeassistant

sudo -u homeassistant -H -s
cd /srv/homeassistant
python3.10 -m venv .
source bin/activate
root@ha-core:/home/piglet# sudo -u homeassistant -H -s
homeassistant@ha-core:/home/piglet$ cd /srv/homeassistant
homeassistant@ha-core:/srv/homeassistant$ python3.10 -m venv .
homeassistant@ha-core:/srv/homeassistant$ source bin/activate
(homeassistant) homeassistant@ha-core:/srv/homeassistant$

Обратите внимание, что пользователь должен быть в скобках. Установим wheel для Python

python3 -m pip install wheel
Installing collected packages: wheel
Successfully installed wheel-0.37.1

Установим недостающие модули для Python

pip install build dependencies
pip3 install sqlalchemy
pip3 install fnvhash

Установка Home Assistant Core

Теперь можно приступать к установка. Запустим её Home Assistant Core

pip3 install homeassistant
Successfully built ciso8601 python-slugify
Installing collected packages: voluptuous, text-unidecode, rfc3986, pytz, lru-dict, ifaddr, ciso8601, voluptuous-serialize, urllib3, typing-extensions, sniffio, six, pyyaml, python-slugify, PyJWT, pycparser, orjson, multidict, MarkupSafe, idna, h11, frozenlist, dbus-next, charset-normalizer, certifi, awesomeversion, attrs, atomicwrites-homeassistant, async-timeout, astral, yarl, requests, jinja2, cffi, bleak, anyio, aiosignal, httpcore, home-assistant-bluetooth, cryptography, bcrypt, aiohttp, httpx, homeassistant
Successfully installed MarkupSafe-2.1.1 PyJWT-2.4.0 aiohttp-3.8.1 aiosignal-1.2.0 anyio-3.6.1 astral-2.2 async-timeout-4.0.2 atomicwrites-homeassistant-1.4.1 attrs-21.2.0 awesomeversion-22.6.0 bcrypt-3.1.7 bleak-0.15.1 certifi-2022.6.15 cffi-1.15.1 charset-normalizer-2.1.1 ciso8601-2.2.0 cryptography-36.0.2 dbus-next-0.2.3 frozenlist-1.3.1 h11-0.12.0 home-assistant-bluetooth-1.3.0 homeassistant-2022.8.7 httpcore-0.15.0 httpx-0.23.0 idna-3.3 ifaddr-0.1.7 jinja2-3.1.2 lru-dict-1.1.8 multidict-6.0.2 orjson-3.7.8 pycparser-2.21 python-slugify-4.0.1 pytz-2022.2.1 pyyaml-6.0 requests-2.28.1 rfc3986-1.5.0 six-1.16.0 sniffio-1.2.0 text-unidecode-1.3 typing-extensions-4.3.0 urllib3-1.26.12 voluptuous-0.13.1 voluptuous-serialize-2.5.0 yarl-1.7.2

Теперь запустим Home Assistantв ручном режиме.

hass

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

Процесс работы скрипта можно проверять в браузере по адресу http://my-ip:8123 .

Как только увидим, что интерфейс Home Assistant, значит можно прерывать его по комбинации Ctrl + C. Выйдем из виртуального окружения

exit

Настройка Home Assistant Core

Чтобы Home Assistant Core работал после перезагрузки, нужно создать сервис.

mcedit /etc/systemd/system/homeassistant@homeassistant.service

Вставим туда следующий текст:

[Unit]
Description=Home Assistant
After=network-online.target
[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
[Install]
WantedBy=multi-user.target

После это активируем сервис в системе и запустим его:

systemctl --system daemon-reload
systemctl enable homeassistant@homeassistant.service
systemctl start homeassistant@homeassistant.service

Для перезагрузки нашего Home Assistant Core, можно пользоваться командой:

service homeassistant@homeassistant restart

Для проверки статуса используем команду:

service homeassistant@homeassistant status
* homeassistant@homeassistant.service - Home Assistant
     Loaded: loaded (/etc/systemd/system/homeassistant@homeassistant.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-08-26 10:58:46 UTC; 10s ago
   Main PID: 965 (hass)
      Tasks: 8 (limit: 77074)
     Memory: 100.1M
        CPU: 2.892s
     CGroup: /system.slice/system-homeassistant.slice/homeassistant@homeassistant.service
             `-965 /srv/homeassistant/bin/python3.10 /srv/homeassistant/bin/hass -c /home/homeassistant/.homeassista>

Aug 26 10:58:46 ha-core systemd[1]: Started Home Assistant.

Наша конфигурация находится в папке /home/homeassistant/.homeassistant

Заключение

Процесс установки стал легче, по скольку в Ubuntu 22.04 LTS стоит свежее ПО необходимое Home Assistant Core. В этом режиме Home Assistant работает на очень слабом железе. Но расплата за это, нет возможности поставить дополнения одной кнопкой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.