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 большое сообщество.

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

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

    1. img-5
      Vladimir (автор)

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

  2. img-6
    serjo

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

  3. img-7
    don Rumata

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

  4. img-8
    Александр

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

  5. img-9
    lol

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

    1. img-10
      Vladimir (автор)

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

      1. img-11
        Владимир

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

        1. img-12
          Vladimir (автор)

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

        2. img-13
          Dmitry

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

  6. img-14
    Denis

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

    1. img-15
      Vladimir (автор)

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

    2. img-16
      Dmitry

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

  7. img-17
    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.