UBUNTU: Установка Home Assistant

Ubuntu and Hass

В рамках данного блога я уже рассказывал про установку Home Assistant во FreeBSD.
Не буду рассказывать, что это такое.
Раз вы зашли сюда через поиск, то точно знаете что этот такое и для чего вам нужен сервер домашней автоматизации.
Не так давно домашний сервер переехал на операционную систему Ubuntu 20.04.
Поэтому я решил поделиться рецептом установки Hass в Ubuntu.
Рассмотрим установку hass как сервиса, без использования Docker.
Будем использовать возможность Python создавать виртуальные среды.

Поехали

  1. Первым делом установим все, что нам нужно:
    sudo apt update
    sudo apt install python3-dev python3-pip python3-venv libffi-dev libssl-dev
  2. Создадим пользователя homeassistant и одноименную группу:
    sudo adduser --system homeassistant && addgroup homeassistant
    sudo adduser homeassistant dialout
  3. Создадим директорию для установки и назначим ей права:
    sudo mkdir /opt/homeassistant
    sudo chown homeassistant:homeassistant /opt/homeassistant
  4. Авторизуемся под пользователем homeassistant для установки hass от его имени:
    sudo su -s /bin/bash homeassistant
  5. Устанавливаем виртуальное окружение Python:
    cd /opt/homeassistant
    python3 -m venv /opt/homeassistant
    source bin/activate
  6. Устанавливаем Home Assistant:
    python3 -m pip install wheel
    pip3 install homeassistant
  7. Создадим директорию для конфигов:
    mkdir /opt/homeassistant/config
  8. Под реальным пользователем создаем скрипт автозапуска :
    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
  9. Передергиваем systemctl, включаем Home Assistant в автозагрузку:
    sudo systemctl --system daemon-reload
    sudo systemctl enable hass && systemctl start hass
  10. Проверим:
    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 большое сообщество.

Рейтинг
( 5 оценок, среднее 3.4 из 5 )
Понравилась статья? Поделиться с друзьями:
Комментарии: 14
  1. Алексей

    Вроде между 6 и 7 шагом пропущен шаг. Откуда взялся /opt/homeassistant/config?

    1. Vladimir (автор)

      Приветствую!
      Вы совершенно правы, конечно нужно создать данную директорию:
      mkdir /opt/homeassistant/config
      Внес исправление в материал.
      Спасибо за обратную связь:)

  2. serjo

    доброго времени. не совсем понятно про пункт 8. как и где создаем скрипт
    если не трудно ткните носом в тему или опишите вкратце. заранее спасибо за ответ

  3. don Rumata

    Сделал плейбук по мотивам статьи: https://gist.github.com/don-rumata/5f9853aaa1ab4e21ddb6fb9065aa8814

  4. Александр

    Выражаю благодарность автору, всё сделали, всё работает, проблем нет. Установку проводили на Linux Mint 18.2 :idea:

  5. lol

    Ну а какой пароль?

    1. Vladimir (автор)

      Какой зададите

      1. Владимир

        Та же проблема. В 8 пункте, при вводе sudo vi /etc/systemd/system/hass.service просит пароль для пользователя homeassistent, который мы ранее не задавали. Подскажите как его задать, поменять?

        1. Vladimir (автор)

          Ваш пароль, hass.service редактируете под своей УЗ

        2. Dmitry

          проще говоря эти команды надо делать нет от пользователя homeassistent, на данном этапе я просто закрыл терминал и открыл новый с реальным пользователем

  6. Denis

    Выдает ошибку на этой строчки
    sudo chown homeassistant:homeassistant /opt/homeassistant
    Пишет что chown: неверная группа: «homeassistant:homeassistant»
    В чем может быть причина?

    1. Vladimir (автор)

      Пропустили 2 пункт
      sudo adduser —system homeassistant && addgroup homeassistant
      sudo adduser homeassistant dialout

    2. Dmitry

      sudo adduser —system homeassistant && addgroup homeassistant
      как видим вторая часть команды начинается с «&& addgroup homeassistant»
      в некоторых системах такой синтаксис теряет sudo
      попробуйте выполнить команду по частям:
      sudo adduser —system homeassistant
      sudo addgroup homeassistant

  7. Alexander

    выдал следущее сообщение:
    ● 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)

    и дальше не знаю что дулать ?

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

:) :D :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.