В рамках данного блога я уже рассказывал про установку Home Assistant во FreeBSD.
Не буду рассказывать, что это такое.
Раз вы зашли сюда через поиск, то точно знаете что этот такое и для чего вам нужен сервер домашней автоматизации.
Не так давно домашний сервер переехал на операционную систему Ubuntu 20.04.
Поэтому я решил поделиться рецептом установки Hass в Ubuntu.
Рассмотрим установку hass как сервиса, без использования Docker.
Будем использовать возможность Python создавать виртуальные среды.
Поехали
- Первым делом установим все, что нам нужно:
sudo apt update sudo apt install python3-dev python3-pip python3-venv libffi-dev libssl-dev
- Создадим пользователя homeassistant и одноименную группу:
sudo adduser --system homeassistant && addgroup homeassistant sudo adduser homeassistant dialout
- Создадим директорию для установки и назначим ей права:
sudo mkdir /opt/homeassistant sudo chown homeassistant:homeassistant /opt/homeassistant
- Авторизуемся под пользователем homeassistant для установки hass от его имени:
sudo su -s /bin/bash homeassistant
- Устанавливаем виртуальное окружение Python:
cd /opt/homeassistant python3 -m venv /opt/homeassistant source bin/activate
- Устанавливаем Home Assistant:
python3 -m pip install wheel pip3 install homeassistant
- Создадим директорию для конфигов:
mkdir /opt/homeassistant/config
- Под реальным пользователем создаем скрипт автозапуска :
sudo vi /etc/systemd/system/hass.service [Unit] Description=Home Assistant After=network.target [Service] Type=simple User=homeassistant ExecStart=/opt/homeassistant/bin/hass -c /opt/homeassistant/config --log-file /opt/homeassistant/hass.log [Install] WantedBy=multi-user.target
- Передергиваем systemctl, включаем Home Assistant в автозагрузку:
sudo systemctl --system daemon-reload sudo systemctl enable hass && systemctl start hass
- Проверим:
systemctl status hass ● hass.service - Home Assistant Loaded: loaded (/etc/systemd/system/hass.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-07-15 17:16:09 MSK; 35min ago Main PID: 3792120 (hass) Tasks: 18 (limit: 38326) Memory: 92.7M CGroup: /system.slice/hass.service └─3792120 /opt/homeassistant/bin/python3 /opt/homeassistant/bin/hass -c /opt/homeassistant/config --log-file /opt/homeassistant/hass.log
netstat -plant | grep 8123 tcp 0 0 0.0.0.0:8123 0.0.0.0:* LISTEN 3792120/python3
Из проверки видим, что сервис спешно запустился и ожидает нас на стандартном для hass порту — 8123.
Заходим браузером по адресу http://myipaddress:8123, заводим пользователя и пароль.
На этом все, если нужен доступ во вне, то можно рассмотреть вариант проксирования с помощью NGINX.
P.S. Помимо огромного количества модулей сопряжения, у Home Assistant большое сообщество.
Вроде между 6 и 7 шагом пропущен шаг. Откуда взялся /opt/homeassistant/config?
Приветствую!
Вы совершенно правы, конечно нужно создать данную директорию:
mkdir /opt/homeassistant/config
Внес исправление в материал.
Спасибо за обратную связь:)
доброго времени. не совсем понятно про пункт 8. как и где создаем скрипт
если не трудно ткните носом в тему или опишите вкратце. заранее спасибо за ответ
Сделал плейбук по мотивам статьи: https://gist.github.com/don-rumata/5f9853aaa1ab4e21ddb6fb9065aa8814
Выражаю благодарность автору, всё сделали, всё работает, проблем нет. Установку проводили на Linux Mint 18.2 :idea:
Ну а какой пароль?
Какой зададите
Та же проблема. В 8 пункте, при вводе sudo vi /etc/systemd/system/hass.service просит пароль для пользователя homeassistent, который мы ранее не задавали. Подскажите как его задать, поменять?
Ваш пароль, hass.service редактируете под своей УЗ
проще говоря эти команды надо делать нет от пользователя homeassistent, на данном этапе я просто закрыл терминал и открыл новый с реальным пользователем
Выдает ошибку на этой строчки
sudo chown homeassistant:homeassistant /opt/homeassistant
Пишет что chown: неверная группа: «homeassistant:homeassistant»
В чем может быть причина?
Пропустили 2 пункт
sudo adduser —system homeassistant && addgroup homeassistant
sudo adduser homeassistant dialout
sudo adduser —system homeassistant && addgroup homeassistant
как видим вторая часть команды начинается с «&& addgroup homeassistant»
в некоторых системах такой синтаксис теряет sudo
попробуйте выполнить команду по частям:
sudo adduser —system homeassistant
sudo addgroup homeassistant
выдал следущее сообщение:
● hass.service — Home Assistant
Loaded: loaded (/etc/systemd/system/hass.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-10-31 12:42:51 MSK; 48s ago
Main PID: 13490 (hass)
Tasks: 9 (limit: 6432)
Memory: 233.7M
CGroup: /system.slice/hass.service
├─13490 /opt/homeassistant/bin/python3 /opt/homeassistant/bin/hass -c /opt/homeassistant/config —log-file /opt/homeassistant/h>
└─13534 /opt/homeassistant/bin/python3 -m pip install —quiet hass-nabucasa==0.50.0 —timeout 60 —upgrade —constraint /opt/ho>
окт 31 12:42:51 homeassistant systemd[1]: Started Home Assistant.
~
lines 1-11/11 (END)
и дальше не знаю что дулать ?