Попробуем разобрать самый простой и беззаботный способ.
Часть 0. Почему Home Assistant?
Часть 1. Установка Home Assistant
Часть 2. Настройка Z-wave
Часть 3. Настройка Zigbee
Часть 4. Установка Node-RED
Часть 5. HomeKit в Home Assistant через Node-RED
И так. По мотивам предыдущей статьи мы решили начать с описания процесса установки Home Assistant на Raspberry Pi 3B.
Ниже будет рассмотрен наиболее простой и быстрый способ установить HA без заморочек с отдельным пользователем, но в виртуальном окружении. Почему именно так?
- я не думаю, что вы как-то сильно рискуете всей системой запуская HA из отдельного пользователя (по опыту не сталкивался с таким ниразу), но при этом избавляете себя от большого ряда заморочек с запуском под отдельным пользователем
- почему venv? Скорее всего вы пришли к этому решению (установить Home Assistant) не с первых дней покупки Raspberry, и у вас скорее всего уже стоит тот же Homebridge, какой-нибудь Plex, может даже NextCloud и в общем вы выжимаете из вашей малины по максимуму: именно поэтому мы отбрасываем hass.io и Hassbian, а Docker ест еще ресурсов и с ним тоже не мало дополнительных подводных камней.
Также важная оговорка, нет ничего лучше оригинальной статьи на сайте самого Home Assistant, но без VPN их сайт зачастую недоступен, да и на родном русском в интернете в основном говорят как ставить hass.io, а не venv.
И так. Делать все будем на основе Raspbian Stretch. Начинаем с установки Python3, PIP и VENV. Возможно что-то у вас к этому моменту стояло и тогда установщик пропустит ненужные шаги.
$ sudo apt-get install python3 python3-venv python3-pip libffi-dev
Установка Home Assistant
- Создаём виртуальную машину:
$ python3 -m venv homeassistant
- Открываем виртуальную машину:
$ cd homeassistant
- Запускаем её:
$ source bin/activate
- Устанавливаем wheel:
$ python3 -m pip install wheel
- Устанавливаем Home Assistant:
$ python3 -m pip install homeassistant
- Настраиваем автостарт. Или можете запустить вручную:
$ hass --open-ui
Не забывайте, что первый запуск занимает около 20 минут. Это время веб-интерфейс может быть недоступен. Сам веб-интерфейс находится по адресу http://ipaddress:8123/
Настройка автостарта
- Создаем файл с настройками автостарта
$ sudo nano -w /etc/systemd/system/home-assistant@YOUR_USER.service
где вместо YOUR_USER необходимо подставить вашего пользователя (по стандарту это «pi»)
- Откроется редактор с пустым файлом, который будет вами создан. В него записываем следующее
[Unit] Description=Home Assistant After=network-online.target [Service] Type=simple User=%i ExecStart=/home/YOUR_USER/homeassistant/bin/hass -c "/home/YOUR_USER/.homeassistant" [Install] WantedBy=multi-user.target
где опять же YOUR_USER — это ваш пользователь
- Далее перезапускаем systemd, чтобы он узнал о нашей новой настройке
$ sudo systemctl --system daemon-reload
- Активируем автостарт Home Assistant
$ sudo systemctl enable home-assistant@YOUR_USER
Не забываем менять YOUR_USER
- Запускаем Home Assistant
$ sudo systemctl start home-assistant@YOUR_USER
Также можно использовать stop — для остановки, restart для перезапуска, status для просмотра статуса, чтобы понять успешно ли отработал ваш сценарий
$ sudo systemctl status home-assistant@YOUR_USER ● home-assistant@fab.service - Home Assistant for YOUR_USER Loaded: loaded (/etc/systemd/system/home-assistant@YOUR_USER.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2016-03-26 12:26:06 CET; 13min ago Main PID: 30422 (hass) CGroup: /system.slice/system-home\x2dassistant.slice/home-assistant@YOUR_USER.service ├─30422 /usr/bin/python3 /usr/bin/hass └─30426 /usr/bin/python3 /usr/bin/hass [...]
если по итогам запуск не произошел, то попробуйте пройтись по инструкции автозапуска сначала и заменить ExecStart на ExecStart=/srv/homeassistant/bin/hass , на ExecStart=/usr/bin/hass или ExecStart=/usr/local/bin/hass в сценарии.
- Используйте эту команду для рестарта и последующего просмотра логов (это удобно)
$ sudo systemctl restart home-assistant@YOUR_USER && sudo journalctl -f -u home-assistant@YOUR_USER
После этого вы можете полноценно пользоваться Home Assistant, но т.к. обновления системы приходят достаточно часто, то ниже дополнительно будет разобран сценарий обновления. В любом случае пригодится — добавляйте страницу в избранное 🙂
Обновление Home Assistant
- Остановите Home Assistant
- Откройте директорию куда был установлен Home Assistant:
$ cd homeassistant
- Активируйте виртуальную машину:
$ source bin/activate
- Обновите Home Assistant:
$ python3 -m pip install --upgrade homeassistant
- Запустите Home Assistant.
Часть 0. Почему Home Assistant?
Часть 1. Установка Home Assistant
Часть 2. Настройка Z-wave
Часть 3. Настройка Zigbee
Часть 4. Установка Node-RED
Часть 5. HomeKit в Home Assistant через Node-RED