Установка Home Assistant на Raspberry Pi

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

Часть 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

  1. Создаём виртуальную машину:
    $ python3 -m venv homeassistant
  2. Открываем виртуальную машину:
    $ cd homeassistant
  3. Запускаем её:
    $ source bin/activate
  4. Устанавливаем wheel:
    $ python3 -m pip install wheel
  5. Устанавливаем Home Assistant:
    $ python3 -m pip install homeassistant
  6. Настраиваем автостарт. Или можете запустить вручную:
    $ hass --open-ui

Не забывайте, что первый запуск занимает около 20 минут. Это время веб-интерфейс может быть недоступен. Сам веб-интерфейс находится по адресу http://ipaddress:8123/

Настройка автостарта

  1. Создаем файл с настройками автостарта
    $ sudo nano -w /etc/systemd/system/home-assistant@YOUR_USER.service

    где вместо YOUR_USER необходимо подставить вашего пользователя (по стандарту это «pi»)

  2. Откроется редактор с пустым файлом, который будет вами создан. В него записываем следующее
    [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 — это ваш пользователь

  3. Далее перезапускаем systemd, чтобы он узнал о нашей новой настройке
    $ sudo systemctl --system daemon-reload
  4. Активируем автостарт Home Assistant
    $ sudo systemctl enable home-assistant@YOUR_USER

    Не забываем менять YOUR_USER

  5. Запускаем 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 в сценарии.

  6. Используйте эту команду для рестарта и последующего просмотра логов (это удобно)
    $ sudo systemctl restart home-assistant@YOUR_USER && sudo journalctl -f -u home-assistant@YOUR_USER

После этого вы можете полноценно пользоваться Home Assistant, но т.к. обновления системы приходят достаточно часто, то ниже дополнительно будет разобран сценарий обновления. В любом случае пригодится — добавляйте страницу в избранное 🙂

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

  1. Остановите Home Assistant
  2. Откройте директорию куда был установлен Home Assistant:
    $ cd homeassistant
  3. Активируйте виртуальную машину:
    $ source bin/activate
  4. Обновите Home Assistant:
    $ python3 -m pip install --upgrade homeassistant
  5. Запустите Home Assistant.

Часть 0. Почему Home Assistant?
Часть 1. Установка Home Assistant
Часть 2. Настройка Z-wave
Часть 3. Настройка Zigbee
Часть 4. Установка Node-RED
Часть 5. HomeKit в Home Assistant через Node-RED

Подписывайтесь на канал InDaHomeKit в Telegram и Яндекс.Дзен, чтобы у вас всегда было что почитать: новости мира умного дома, обзоры новых устройств, инструкции по подключению.

Приходите в наш чат в Telegram

Так же у нас отличные паблики VK, Facebook, Instagram и Twitter.