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