Установка Home Assistant на нетбуки и старые ПК

22 апреля 2021, 07:29

Лет 15 назад нетбуки неожиданно для многих ворвались на рынок мобильных устройств и очень быстро заняли на нем свою нишу. Время работы от батареи превышало мощные ноуты того времени, процессор, хоть и менее производительный, но такой же настоящий х86. Нетбуки идеально подходили для просмотра веб-страниц, набора текста и простейших задач. Вскоре эту нишу заняли и планшеты, а они, в свою очередь, уступили смартфонам с экранами, конкурирующими в размерах с лопатами. Сейчас нетбуки остались пылиться в шкафах, так как быстрее устарели морально, чем физически. И вовсе незаслуженно. Они и сейчас могут выполнять массу задач, не требуя дополнительных капиталовложений и большого потребления энергии.

Нетбуки были бы идеальным железом для установки сервера Home Assistant, если бы разработчики продолжали поддержку таких систем. Как выяснилось, существует масса нюансов.

В процессе экспериментов, тестировались Ubuntu 16.04, 18.04 (более поздние уже 64-битные), FreeBSD (таки сложная для меня) и Debian 10.8. Далее будет описана установка Home Assistant Supervised на Ubuntu 18.04 LTS и установка в виртуальное окружение на Debian 10.8.

Такой выбор обусловлен тем, что Debian 10.8 - это свежая актуальная система с поддержкой 32 бит, но при попытках установки в нее, Docker устанавливался только 18 версии, а Home Assistant требует уже 19й Docker. И что интересно, Docker 19.03.6 подтянулся только на Ubuntu. К сожалению, я не имею большого опыта в использовании linux, поэтому заранее хочу простить спецов не бить меня палками и не тыкать пальцами, а указать на имеющиеся ошибки.

Установка Debian 10.8

Я не люблю гигабайты избыточной информации, которая возникает вместе со стандартной установкой. Для Debian существует крошечный образ, который имеет размер всего 42 мб. Там находятся самый минимум, который позволяет запустить процесс установки и скачать все необходимое из сети в процессе. Записываем его любой программой для записи образов на флешку, вставляем ее в свой ПК и устанавливаем в BIOS загрузку с USB.

Простота процесса установки Debian позволяет в нескольких картинках показать практически все. Пробежимся бегло.

1600x_image.png?1618757210
Нажимаем Enter
1600x_image.png?1618757210
Выбираем язык
1600x_image.png?1618757207
Страну
1600x_image.png?1618757207
Раскладку клавиатуры
1600x_image.png?1618757210Комбинацию клавиш, для переключения раскладки
1600x_image.png?1618757208Придумываем прикольное имя компьютера
1600x_image.png?1618757210
Жмем Enter

1600x_image.png?1618757211Используем весь диск
1600x_image.png?1618757212
И один раздел
1600x_image.png?1618757213Записываем изменения на диск
1600x_image.png?1618757213
Я ставлю тольrj SSH. Остальное по желанию.
1600x_image.png?1618757215
И последний раз Enter

С установкой закончили. Если я что-то и попустил, то все достаточно понятно и задокументировано.

Установка Home Assistant в виртуальное окружение

Далее предлагаю подключиться по SSH любимой терминальной программой (например Putty) к нашему подопытному. Код ниже можно копировать построчно и вставлять в консоли.

В минимальной установке Debian нет программы sudo, поэтому сначала устанавливаем ее и даем права вашему пользователю:

su -
apt-get install sudo -y
usermod -aG sudo <ИМЯ АДМИНИСТРАТОРА DEBIAN>
reboot
Скачиваем последнюю версию Python, компилируем и устанавливаем:
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev
cd /tmp/
sudo apt-get install wget -y
wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz
tar -xf Python-3.9.2.tgz
rm Python-3.9.2.tgz
cd Python-3.9.2
./configure --enable-optimizations
make -j 2

Курим, пьем кофе, откинувшись на спинку кресла. Много курим...

sudo make install

Теперь устанавливаем Home Assistant и сразу редактор конфигураций YAML:

sudo useradd -rm homeassistant -G dialout
cd /srv
sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant
sudo -u homeassistant -H -s
-----------------------------------------
sudo /srv/homeassistant/bin/python3.9 -m pip install --upgrade pip
sudo python3.9 -m pip install --upgrade pip
-----------------------------------------
cd /srv/homeassistant
python3.9 -m venv .
source bin/activate
python3.9 -m pip install wheel
pip3 install homeassistant
pip3 install hass-configurator
hass

Переходим по адресу, который указан в конце установки, и ждем (довольно долго) пока Home Assistant закончит установку, после чего появится начальное приветствие.

1600x_image.png?1616031478

Пока можно ничего не вводить и продолжить установку дополнительных инструментов.

Скачиваем и устанавливаем HACS. Дальнейшая настройка уже в системе:

exit
sudo apt install unzip
cd /home/homeassistant/.homeassistant/
sudo mkdir custom_components
sudo chmod 777 custom_components/
sudo -u homeassistant -H -s
wget -q -O - https://install.hacs.xyz | bash -
exit

Ставим базу MariaDB:

sudo apt-get install libmariadb-dev
sudo -u homeassistant -H -s
cd /srv/homeassistant
source bin/activate
pip3 install mysqlclient
exit
sudo mysql -u root -p

Добавляем в базу таблицу, пользователя и устанавливаем права:

CREATE DATABASE hass_db;
CREATE USER 'hassuser'@'localhost' IDENTIFIED BY '<ПАРОЛЬ ВАШЕГО ПОЛЬЗОВАТЕЛЯ БАЗЫ>';
GRANT ALL PRIVILEGES ON hass_db.* TO 'hassuser'@'localhost';
FLUSH PRIVILEGES;
quit

Теперь было бы неплохо сразу изменить конфигурационный файл, добавив подключение к базе, ссылку на редактор YAML и некоторые полезные датчики:

sudo nano /home/homeassistant/.homeassistant/configuration.yaml

Нужно добавить этот текст в конец файла, не забыв указать свои <ПАРОЛЬ ВАШЕГО ПОЛЬЗОВАТЕЛЯ БАЗЫ> и <ВАШ IP АДРЕС СЕРВЕРА>.

После окончания редактирования, нажмите CTRL O для сохранения файла и CTRL X - для выхода из редактора.

recorder:
  db_url: mysql://hassuser:<ПАРОЛЬ ВАШЕГО ПОЛЬЗОВАТЕЛЯ БАЗЫ>@localhost/hass_db
panel_iframe:
  configurator:
    title: Конфигуратор
    icon: mdi:square-edit-outline
    url: http://<ВАШ IP АДРЕС СЕРВЕРА>:3218
    require_admin: true
sensor:
  - platform: systemmonitor
    resources:
    - type: processor_use
    - type: disk_use_percent
    - type: memory_use_percent
    - type: last_boot
    - type: disk_free
  - platform: sql
    db_url: mysql://hassuser:<ПАРОЛЬ ВАШЕГО ПОЛЬЗОВАТЕЛЯ БАЗЫ>@localhost/hass_db
    queries:
      - name: DBsize
        query: 'SELECT table_schema "database", Round(Sum(data_length   index_length) / 1024 / 1024, 1) "value" FROM information_schema.tables WHERE table_schema="hass_db" GROUP BY table_schema;'
        column: 'value'
        unit_of_measurement: MB

Создаем сервис автозапуска для редактора YAML:

sudo nano /etc/systemd/system/hass-configurator.service

После окончания редактирования CTRL O  и CTRL X.

[Unit]
Description=HASS-Configurator
After=network.target
[Service]
Type=simple
User=homeassistant
WorkingDirectory=/home/homeassistant/.homeassistant
ExecStart=/srv/homeassistant/bin/hass-configurator
Restart=always
[Install]
WantedBy=multi-user.target

Также нужен сервис для самого Home Assistant:

sudo nano -w /etc/systemd/system/home-assistant@homeassistant.service

После окончания редактирования CTRL O  и CTRL X.

[Unit]
Description=Home Assistant
After=network-online.target
[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/%i/.homeassistant"
[Install]
WantedBy=multi-user.target

Ну и завершающий этап - запуск сервисов:

sudo systemctl --system daemon-reload
sudo systemctl enable home-assistant@homeassistant.service
sudo systemctl start home-assistant@homeassistant.service
sudo systemctl enable hass-configurator.service
sudo systemctl start hass-configurator.service

Теперь можно перезагрузить систему и начать настройку.

sudo reboot

Итак, у нас установлен актуальный Home Assistant на актуальной операционной системе, установлен редактор конфигурационных файлов YAML, репозиторий кастомных интеграций HACS и SQL база MariaDB.

Обновление Home Assistant в виртуальном окружении

Заходим в консоль сервера и вводим команды:

sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant

Дожидаемся обновления, выходим из виртуального окружения:

exit

И перезапускаем службу:

sudo systemctl restart home-assistant@homeassistant.service

Конечно, настраивать есть еще много всего, но эта информация хорошо описана в сообществе, а пальцы автора уже порядком устали)) Идем дальше...

Установка Ubuntu 18.04 LTS и Home Assistant Supervised

Эта версия Ubuntu еще позволяет установить ее на 32х битную систему, правда с небольшой хитростью. Просто в релизе вы не найдете нужного образа. Но так же, как и для Debian, существует минимальный образ 18.04 LTSОн занимает всего 68 мбайт. 

Качаем, записываем на флешку любимой программой для записи образов, вставляем в свой ПК и устанавливаем в BIOS загрузку с USB.

Так как Ubuntu основана на Debian, то и процесс установки также максимально прост - выбор локализации, сетевой карты и настройка сети, пользователей, разметка диска и выбор только сервера SSH. Если выбрать русский язык, то сможете безошибочно определить, где нажимают кнопку "далее". Также можно глянуть на описание установки Debian, отличия чисто косметические.

После установки системы и перезагрузки, советую сразу подключаться с помощью терминальной программы (я все еще пользуюсь putty) и можно приступать к установке Home Assistant.

Ставим кастомный репозиторий, с которого загружаем последнюю версию Python:

sudo su
apt install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt update
apt install python3.9
apt-get install python3.9 python3.9-dev python3.9-venv python3-pip libffi-dev libssl-dev

Добавляем unzip:

apt install unzip

Подготавливаем и устанавливает Docker и Home Assistant:

apt update && apt upgrade -y && apt autoremove -y
export PATH=$PATH:/usr/sbin
apt-get install -y software-properties-common apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat bash
systemctl disable ModemManager
systemctl stop ModemManager
apt install -y docker.io
curl -sL "https://raw.githubusercontent.com/Kanga-Who/home-assistant/master/supervised-installer.sh" | bash -s

Набираемся терпения и ждем, пока появится начальное приветствие по адресу, который указан в конце установки. Можно пока не входить, установить еще HACS и перезагрузиться:

curl -sfSL https://hacs.xyz/install | bash -
reboot

Наслаждаемся)

Заключение

Конечно, Home Assistant Supervised очень удобна своей простотой, но при практически равном функционале, реализованном в этих установках, версия с Docker потребляет значительно больше ресурсов. Так что вам решать, какую систему выбрать.


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. (hACK)
    (hACK) месяц назад

    Или просто залить образ HassOS для NUC, особенно если сетевая карта Intel.

  2. (endoftime)
    (endoftime) месяц назад

    очень интересно с точки зрения проделанной работы, а вот практический смысл какой? Да и где найти такой настолько древний ПК до корковой эпохи... Коркам то уже 10+ лет.

    • Андрей Куликов (nightguest)

      в принципе,  я рассчитывал на атомы. их немало еще осталось

      • (endoftime)
        (endoftime) месяц назад

        Да как бы атомы тоже в основном 64 разряда, а те что 32 достаточно редкие... На кромен n-к...

        • Андрей Куликов (nightguest)

          первые атомы, на которых были первые нетбуки все 32 бита. у меня в загашнике пылилось asus eee pc, acer aspire one d250,  ZOTAC ZBOX ID41 и пара fit-pc2

          теперь fit-pc2 в деле

  3. (pechkin)
    (pechkin) месяц назад

    Добрый день, отличная статья давно хотел окучить свой ЕЕЕРС который уже лет 10 без дела валянтся и теперь - и малинка будет и бесперебойник на ССД.

    Вопрос поссле установки получаю такое

    1000x_image.jpg?1620793341

    что я делаю не так

    • Андрей Куликов (nightguest)
      Андрей Куликов (nightguest) отредактировано месяц назад

      все так, на скорость не влияет). просто супервайзер хочет debian 10. кстати, если загрузка процессора в простое будет более 20-30%, можно попробовать поставить этот аддон

      хочется иметь актуальную систему, но с убунтой можно только максимум 18.04, а в debian 10 тянется 18й docker, с которым ha не работает(( 

      сейчас тестирую debian 11. пока все нравится, но неподдерживаемый способ установки тоже присутствует т.к. релиза  debian 11 еще не было

      1000x_image.jpg?1620817311
  4. (pechkin)
    (pechkin) отредактировано месяц назад

    Было бы неплохо небольшой мануал как сделать все тоже самое но используя Wi-Fi устройства.

    Например у меня не везде можно установить девайс и подключить шнурком.

    А так сложил нетбук под кровать положил и пусть себе трудится.

    Если не сложно то подскажите. А то в линуксах слаб и не получается поставить ХА на  нетбуке подключенном по Wi-Fi  

    После
    [info] Replacing /etc/network/interfaces 

    [info] Restarting NetworkManager 

    Я теряю связь с сервером и установка НА не продолжается

    • Андрей Куликов (nightguest)

      не уверен, но попробуй поискать сервер на другом ip и с другим macом (поискать на роутере). установка, на самом деле, может продолжаться и через 10-20-30-60 мин может быть закончена (если не прерывать) 

      нужно будет попробовать самому

  5. (pechkin)
    (pechkin) месяц назад

    Я нахожу сервер на другом ИПе но вот почему то подключиться не могу даже по SSH

    • Андрей Куликов (nightguest)
      Андрей Куликов (nightguest) отредактировано месяц назад

      по "новому ip":8123 через время есть что-то?

      постараюсь попробовать, но сначала я "добью" тестовую инсталляцию (пытаюсь получить звук из аудиовыхода с управлением из ha)

      • (pechkin)
        (pechkin) месяц назад

        Посмотрите в сторону аддона Mopidy

        • Андрей Куликов (nightguest)
          Андрей Куликов (nightguest) отредактировано месяц назад

          бьюсь и c Mopidy и с MPD и с VLC(( если бы еще понимать что делаешь))))))

          • (AlexSZ)
            (AlexSZ) месяц назад

            знакомо...
            а вот с этим скриптом установки под убунту у меня не срослось, и тоже не пойму почему. при запуске по инструкции из-под суперпользователя при скачивании образа скрипт выдаёт invalid reference format, под обычным юзером ващще вылетает без ошибок, как так и надо...
            Автор! Рад за тебя, что хоть с установкой у тебя всё прошло норм =)

            • Андрей Куликов (nightguest)

              и под убунту и под  debian 11 замечательно ставится.

              пишите сразу в телегу, попробуем вместе разобраться

              • (AlexSZ)
                (AlexSZ) месяц назад

                как я и думал, дело было не в бобине, просто хард от возраста захряс =)
                что интересно, на acer aspire one d257 и на ubuntu 20.04 по той же инструкции поднялся hass.io, без проблем. Образ, такой же минимальный, брал тут:
                 http://archive.ubuntu.com/ubun...

                • Андрей Куликов (nightguest)
                  Андрей Куликов (nightguest) отредактировано месяц назад

                  у меня сейчас умирает в тестовой машине compact flash 16Gb в переходнике на sata) примерно через сутки тупит и виснет. потом еще больше извращусь и поставлю в этот переходник ibm microdrive 6Gb в формате CF)))))))))))

                  с Atom N570, который 64 битный, проблем не должно быть при любом способе установки. чтобы не ругался на неподдерживаемый способ установки можно поставить debian 10 64 битный. но если душа больше лежит к убунте, то все будет и так прекрасно работать

                  • (AlexSZ)
                    (AlexSZ) месяц назад

                    " с Atom N570, который 64 битный, проблем не должно быть при любом способе установки."
                    мдя, оказывается, у меня железка ещё вполне ничего =)
                    просто с 2011г. жинка его убила практически совсем: колонки с усилком, клава, хард - всё под замену, кухонным плеером быть уже не может, вот и думал, что недобуку совсем хана. А тут, глядишь, и третья жизнь начнётся =)
                    "  но если душа больше лежит к убунте"
                    да, скорее, привычка. файлопомойка уж скоро лет 10 как под убунтой крутится, и хассио пока что там же, в докере, но core версия. ну, теперь буду supervised поковырять 

    • Андрей Куликов (nightguest)
      Андрей Куликов (nightguest) отредактировано 17 дней назад

      я сделал "финт ушами" - при установке системы использовал проводной интерфейс, а потом, уже в супервайзере, настроил wifi

      1000x_image.jpg?1622589254
К списку статей

Тематические чаты

Похожие статьи

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
15 ноября 2018, 09:42
Способы автоматизации механических ворот
25 сентября 2020, 11:49
Сенсорный монитор для управления умным домом. Настройка и использование.
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
27 августа 2018, 10:14
Интегрируем ХА в HomeKit
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
29 октября 2019, 07:59
Умный домофон на базе nodeMCU с прошивкой ESPHome.