Сервер home assistant linux

Установка 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 права

Для 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.

Создадим папку для 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в ручном режиме.

Читайте также:  Linux где хранить скрипты

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

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

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

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

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

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

Источник

Устанавливаем Home Assistant на Ubuntu server

Home Assistant мощная платформа управления глупым умным домом, которая может контролировать и управлять устройствами нашего дома. Работает на большом количестве систем, в том числе Raspberry PI, для которой имеет сборку образ Hass.io. Проект активно развивается и имеет большое сообщество, всю актуальную информацию можно найти на сайте проекта: https://www.home-assistant.io/.

Читайте также:  Что лучше linux и windows

Прежде чем ставить на обычный компьютер я опробовал сборку Hass.io для одноплатника, но у меня она не прижилась, все плюсы системы были перечеркнуты минусами:

  • Всё управление, в том числе правка конфигурационных файлов (а это основная часть настройки), производится через Web интерфейс в не самом удобном редакторе.
  • У меня так и не получилось удаленно достучаться до малинки по SSH. Достучаться можно через плагин SSH через Web морду (оно вам надо?). Плагин Samba у меня не завелся совсем, а хоть какой-то доступ к файловой системе иметь всё же хочется.
  • Вся система работает в кучке Docker контейнеров изрядно нагружая одноплатник и в работе системы наблюдались притормаживания, которые отражались на работе устройств (например, в задержке реакции устройств на какое либо действие).

Исходя из этого было принято решение установить Home Assistant на нормальный компьютер, точнее в отдельную KVM виртуалку. Ubuntu была выбрана в качестве основной системы т.к. Raspberry Pi OS, так же, как и Ubuntu имеют общие корни Debian.

Установка Home Assistant

Вся предоставленная ниже информация взята на сайте проекта и основана на установке Home Assistant для Raspberry Pi.

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

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

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

$ sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev autoconf build-essential

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

$ sudo useradd -rm homeassistant -G dialout

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

$ cd /srv $ sudo mkdir homeassistant $ sudo chown homeassistant:homeassistant /srv/homeassistant

Теперь создаем виртуальное окружение для ядра Home Assistant, делаем это для учетной записи homeassistant .

$ sudo -u homeassistant -H -s $ cd /srv/homeassistant $ python3 -m venv . $ source bin/activate

После активации виртуальной среды выполняем установку необходимого пакета Python.

$ python3 -m pip install wheel

По завершении установки пакета Python приступаем к установке Home Assistant.

$ pip3 install homeassistant

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

Читайте также:  Linux port in use list

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

http://ha_ip_address:8123

Прерываем работу запущенной системы.

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

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

$ sudo nano /etc/systemd/system/homeassistant@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
$ sudo systemctl --system daemon-reload $ sudo systemctl enable homeassistant@homeassistant.service $ sudo systemctl start homeassistant@homeassistant.service
$ sudo systemctl status homeassistant@homeassistant.service

Через Web браузер проверяем работу Home Assistant.

http://ha_ip_address:8123

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

Для обновления до последней версии необходимо выполнить следующие три команды.

$ sudo -u homeassistant -H -s $ source /srv/homeassistant/bin/activate $ pip3 install --upgrade homeassistant

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

$ sudo systemctl restart homeassistant@homeassistant.service

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

Источник

Оцените статью
Adblock
detector