(UPD) Эта статья устарела, рекомендуется другой вариант установки - Установка Home Assistant Supervised.
Очень вольный перевод https://www.home-assistant.io/docs/installation/raspberry-pi/
Обновляем систему
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
Создаем аккаунт нового пользователя
sudo useradd -rm homeassistant -G dialout
Создадим директории для ядра Home Assistant не в домашней папке пользователя
cd /srv
sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant
Сменим пароль пользователю homeassistant
sudo passwd homeassistant
Далее создадим и изменим виртуальное окружение ядра Home Assistant
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source bin/activate
При этом строка приглашения должна выглядеть так:
(homeassistant) homeassistant@hostname:/srv/homeassistant$
Устанавливаем дополнительные компоненты python3
python3 -m pip install wheel
Устанавливаем Home Assistant
pip3 install homeassistant
После установки ядра Home Assistant запускаем
hass
Теперь можно получить доступ к Home Assistant через веб-интерфейс по адресу http://ipaddress:8123
В первую очередь придется создать учетную запись
Далее определяемся с названием умного дома и местоположением
На этом этапе Home Assistant возможно обнаружит какие-то устройства, их интеграцию пропустим и откроем главное окно Home Assistant
Установка завершена, прерываем выполнение hass - Ctrl + C
Для обновления системы Home Assistant нужно проделать следующие шаги:
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant
Следующим шагом настроим Home Assistant для запуска как сервис. Вот ссылка на официальное руководство https://www.home-assistant.io/docs/autostart/
Новые дистрибутивы Linux используют systemd для управления демонами. Убедимся, что это верно:
ps -p 1 -o comm=
Все верно команда возвращает строку systemd. Создадим файл запуска:
sudo nano -w /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"
Restart=on-failure
RestartSec=5s[Install]
WantedBy=multi-user.target
Необходимо перезагрузить systemd, чтобы демон знал о новой конфигурации.
sudo systemctl --system daemon-reload
Для автоматического запуска Home Assistant при загрузке включите службу.
sudo systemctl enable home-assistant@homeassistant
Чтобы отключить автоматический запуск, используйте эту команду.
sudo systemctl disable home-assistant@homeassistant
Чтобы запустить Home Assistant сейчас, используйте эту команду.
sudo systemctl start home-assistant@homeassistant
Вы также можете заменить start на stop, чтобы остановить Home Assistant, restart перезапустить Home Assistant и status, чтобы увидеть краткий отчет о состоянии, как показано ниже.
$ sudo systemctl status home-assistant@homeassistant
● home-assistant@homeassistant.service - Home Assistant
Loaded: loaded (/etc/systemd/system/home-assistant@homeassistant.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-01-17 19:53:52 MSK; 29s ago
Main PID: 368 (hass)
Tasks: 22 (limit: 4701)
Memory: 125.8M
CGroup: /system.slice/system-home\x2dassistant.slice/home-assistant@homeassistant.service
└─368 /srv/homeassistant/bin/python3 /srv/homeassistant/bin/hass -c /home/homeassistant/.homeassistant
Чтобы получить вывод журнала Home Assistant, используйте journalctl.
sudo journalctl -f -u home-assistant@homeassistant
Поскольку журнал может прокручиваться довольно быстро, вы можете выбрать только просмотр строк ошибок:
sudo journalctl -f -u home-assistant@homeassistant | grep -i 'error'
Как настроить Home Assistant напишу в следующей статье.