Статья

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

Лет 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 позволяет в нескольких картинках показать практически все. Пробежимся бегло.

Нажимаем Enter
Выбираем язык
Страну
Раскладку клавиатуры
Комбинацию клавиш, для переключения раскладки
Придумываем прикольное имя компьютера
Жмем Enter
Используем весь диск
И один раздел
Записываем изменения на диск
Я ставлю тольrj SSH. Остальное по желанию.
И последний раз 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 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 закончит установку, после чего появится начальное приветствие.

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

Скачиваем и устанавливаем 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 потребляет значительно больше ресурсов. Так что вам решать, какую систему выбрать.


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

на 32битный процессор? неужели получилось?))

Гхм, да, я как-то проглядел упор именно на 32bit.

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

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

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

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

ZOTAC ZBOX ID41

и пара fit-pc2

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




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

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

https://sprut.ai/static/media/cache/00/48/28/5/8402362/78114/1000x_image.jpg?1620793341" alt="1000x_image.jpg?1620793341" />

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

все так, на скорость не влияет). просто супервайзер хочет https://www.home-assistant.io/more-info/unsupported/os">debian 10. кстати, если загрузка процессора в простое будет более 20-30%, можно попробовать поставить этот https://github.com/OPHoperHPO/hassio-addons">аддон


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

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

debian 11 еще не было


https://sprut.ai/static/media/cache/00/63/10/5/8405578/78125/1000x_image.jpg?1620817311" alt="1000x_image.jpg?1620817311" />

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


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


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


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


После

[info] Replacing /etc/network/interfaces 

[info] Restarting NetworkManager 



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



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

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

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

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


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

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

Mopidy

бьюсь и c

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

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

и под убунту и под 

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

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

как я и думал, дело было не в бобине, просто хард от возраста захряс =)
что интересно, на acer aspire one d257 и на ubuntu 20.04 по той же инструкции поднялся hass.io, без проблем. Образ, такой же минимальный, брал тут:
 http://archive.ubuntu.com/ubuntu/dists/focal-updates/main/installer-amd64/current/legacy-images/netboot/mini.iso">http://archive.ubuntu.com/ubun...

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

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

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

"

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

 но если душа больше лежит к убунте"
да, скорее, привычка. файлопомойка уж скоро лет 10 как под убунтой крутится, и хассио пока что там же, в докере, но core версия. ну, теперь буду supervised поковырять 

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

https://sprut.ai/static/media/cache/00/63/10/5/8654363/78782/1000x_image.jpg?1622589254" alt="1000x_image.jpg?1622589254" />

прискорбно, но вторая часть статьи уже не актуальна(

Доброго времени суток! У меня вопрос: ОШИБКА: после октября 2020 года могут возникать ошибки при установке или обновлении пакетов. Это связано с тем, что pip изменит способ разрешения конфликтов зависимостей.

Мы рекомендуем вам использовать --use-feature = 2020-resolver, чтобы протестировать ваши пакеты с новым резолвером, прежде чем он станет по умолчанию.

homeassistant 2021.11.1 требует pip <20.3,> = 8.0.3, но у вас будет pip 21.3.1, который несовместим.

в этом и "прелесть" всех инструкций по установке ha - они актуальны лишь на дату публикации. 

И вот еще:

ERROR: Command errored out with exit status 1:
command: /srv/homeassistant/bin/python3.9 /srv/homeassistant/lib/python3.9/site-packages/pip/_vendor/pep51 7/in_process/_in_process.py build_wheel /tmp/tmpytoedjya
cwd: /tmp/pip-install-6dl7fufm/cryptography_9c14c881cf154c508d9b10397e43c372
Complete output (165 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-i686-3.9
creating build/lib.linux-i686-3.9/cryptography
copying src/cryptography/utils.py -> build/lib.linux-i686-3.9/cryptography
copying src/cryptography/__init__.py -> build/lib.linux-i686-3.9/cryptography
copying src/cryptography/fernet.py -> build/lib.linux-i686-3.9/cryptography
copying src/cryptography/__about__.py -> build/lib.linux-i686-3.9/cryptography
copying src/cryptography/exceptions.py -> build/lib.linux-i686-3.9/cryptography
creating build/lib.linux-i686-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_der.py -> build/lib.linux-i686-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_types.py -> build/lib.linux-i686-3.9/cryptography/hazmat
copying src/cryptography/hazmat/__init__.py -> build/lib.linux-i686-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.linux-i686-3.9/cryptography/hazmat
creating build/lib.linux-i686-3.9/cryptography/x509
copying src/cryptography/x509/general_name.py -> build/lib.linux-i686-3.9/cryptography/x509
copying src/cryptography/x509/base.py -> build/lib.linux-i686-3.9/cryptography/x509
copying src/cryptography/x509/__init__.py -> build/lib.linux-i686-3.9/cryptography/x509
copying src/cryptography/x509/extensions.py -> build/lib.linux-i686-3.9/cryptography/x509
copying src/cryptography/x509/oid.py -> build/lib.linux-i686-3.9/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-i686-3.9/cryptography/x509
copying src/cryptography/x509/ocsp.py -> build/lib.linux-i686-3.9/cryptography/x509
copying src/cryptography/x509/name.py -> build/lib.linux-i686-3.9/cryptography/x509
creating build/lib.linux-i686-3.9/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-i686-3.9/cryptography/hazmat/backen ds
copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-i686-3.9/cryptography/hazmat/back ends
creating build/lib.linux-i686-3.9/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-i686-3.9/cryptography/hazmat/bindin gs
creating build/lib.linux-i686-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-i686-3.9/cryptography/hazmat/primi tives
copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-i686-3.9/cryptography/hazma t/primitives
copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-i686-3.9/cryptography/hazmat /primitives
copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-i686-3.9/cryptography/hazmat/p rimitives
copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-i686-3.9/cryptography/hazmat/prim itives
copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-i686-3.9/cryptography/haz mat/primitives
copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-i686-3.9/cryptography/hazmat/primitiv es
copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-i686-3.9/cryptography/hazmat/prim itives
copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-i686-3.9/cryptography/hazmat/primi tives
copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-i686-3.9/cryptography/hazmat/primitiv es
copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-i686-3.9/cryptography/hazmat/primit ives
creating build/lib.linux-i686-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ba ckends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-i686-3.9/cryptography/hazmat /backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-i686-3.9/cryptography/hazmat/back ends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-i686-3.9/cryptography/hazmat/b ackends/openssl
copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-i686-3.9/cryptography/hazma t/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-i686-3.9/cryptography/hazmat/b ackends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-i686-3.9/cryptography/hazmat /backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-i686-3.9/cryptography/ha zmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-i686-3.9/cryptography/hazmat/bac kends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-i686-3.9/cryptography/hazmat /backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ba ckends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ba ckends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ba ckends/openssl
copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ba ckends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-i686-3.9/cryptography/hazmat/bac kends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-i686-3.9/cryptography/ha zmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-i686-3.9/cryptography/hazma t/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ba ckends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-i686-3.9/cryptography/hazmat/back ends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ backends/openssl
creating build/lib.linux-i686-3.9/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-i686-3.9/cryptography/hazma t/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-i686-3.9/cryptography/hazmat /bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-i686-3.9/cryptography/h azmat/bindings/openssl
creating build/lib.linux-i686-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-i686-3.9/cryptography/ha zmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-i686-3.9/cryptography/hazmat /primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-i686-3.9/cryptography/haz mat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-i686-3.9/cryptography/ hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-i686-3.9/cryptography/haz mat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-i686-3.9/cryptography/hazma t/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-i686-3.9/cryptography/h azmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-i686-3.9/cryptography/hazm at/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-i686-3.9/cryptography/hazma t/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-i686-3.9/cryptography/h azmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-i686-3.9/cryptography/hazmat /primitives/asymmetric
creating build/lib.linux-i686-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-i686-3.9/cryptography/hazm at/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-i686-3.9/cryptography/h azmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-i686-3.9/cryptography/hazma t/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-i686-3.9/cryptography/hazma t/primitives/twofactor
creating build/lib.linux-i686-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-i686-3.9/cryptography/hazmat/p rimitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-i686-3.9/cryptography/hazmat/prim itives/kdf
copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-i686-3.9/cryptography/hazmat/pr imitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-i686-3.9/cryptography/hazmat /primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-i686-3.9/cryptography/hazmat/pri mitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-i686-3.9/cryptography/hazmat/pr imitives/kdf
creating build/lib.linux-i686-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-i686-3.9/cryptography/h azmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-i686-3.9/cryptography/hazmat/ primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-i686-3.9/cryptography/haz mat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-i686-3.9/cryptography/hazmat /primitives/ciphers
creating build/lib.linux-i686-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-i686-3.9/cryptography /hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-i686-3.9/cryptography/ hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-i686-3.9/cryptography/h azmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-i686-3.9/cryptograp hy/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-i686-3.9/cryptography/ha zmat/primitives/serialization
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files matching '*' found under directory '.github'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'mypy.ini'
warning: no previously-included files matching '*' found under directory '.zuul.d'
warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
adding license file 'LICENSE'
adding license file 'LICENSE.APACHE'
adding license file 'LICENSE.BSD'
adding license file 'LICENSE.PSF'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
copying src/cryptography/py.typed -> build/lib.linux-i686-3.9/cryptography
running build_ext
generating cffi module 'build/temp.linux-i686-3.9/_padding.c'
creating build/temp.linux-i686-3.9
generating cffi module 'build/temp.linux-i686-3.9/_openssl.c'
running build_rust

=============================DEBUG ASSISTANCE=============================
If you are seeing a compilation error please try the following steps to
successfully install cryptography:
1) Upgrade to the latest pip and try again. This will fix errors for most
users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip">https://pip.pypa.io/en/stable/...
2) Read https://cryptography.io/en/latest/installation.html">https://cryptography.io/en/lat... for specific
instructions for your platform.
3) Check our frequently asked questions for more information:
https://cryptography.io/en/latest/faq.html">https://cryptography.io/en/lat...
4) Ensure you have a recent Rust toolchain installed:
https://cryptography.io/en/latest/installation.html">https://cryptography.io/en/lat...#rust
5) If you are experiencing issues with Rust for *this release only* you may
set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
=============================DEBUG ASSISTANCE=============================

error: can't find Rust compiler

If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

To update pip, run:

pip install --upgrade pip

and then retry package installation.

If you did intend to build this package from source, try installing a Rust compiler from your system packag e manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustu p.rs) is the recommended way to download and update the Rust compiler toolchain.

This package requires Rust >=1.41.0.
----------------------------------------
ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects
(homeassistant) root@debian:/srv/homeassistant# hass
bash: hass: команда не найдена

ругается на pip но свежая версия не совместима с ассистентом

теоретически нашел изменения в установке на 32 битные машины как в виртуальное окружение, так и с супервайзером

затык на этапе:
pip3 install hass-configurator 

hass

hass не находит. Что делать? :(

в этом и "прелесть" всех инструкций по установке ha - они актуальны лишь на дату публикации. 


разработчики не сидят на месте и постоянно усовершенствуют процесс(

это конечно понятно, но неужели уже нет вариантов продолжить этот мануал исправив что-то для запуска это hass? 

Или 2 дня пыхтения , чтобы дойти до этого этапа коту под хвост? 

будет время - буду искать выход. а так-то больше месяца сам колупался пока вылизал

понятно.... значит придется искать другой вариант? Есть терминал (тонкий клиент) , мне на нем нужно срочно запустить HA :( Бидаааа....

при устаноке в виртуальное окружение нужно найти правильную ось (версию) и правильную версию питона

это уже сложно... я виндусятник.... поэтому увидел пошаговый мануал и подумал, что копи-пастами подниму систему... ан нет... грабли..

теоретически нашел изменения в установке на 32 битные машины как в виртуальное окружение, так и с супервайзером

Спасибо, я уже пошел по пути raspberry и стандартного образа на нее. Работает. Изучаю интеграцию с Алисой. Но по любому было бы интересно уснать Ваши наработки.

Перед pip3 install homeassistant введите:

export CRYPTOGRAPHY_DONT_BUILD_RUST=1

иначе возможна ошибка ERROR: Failed building wheel for cryptography

У меня так было, пришлось заново все ставить. Но благо HA на виртуалке, просто диск с чистой и обновленной Debian подключил и запустил установку заново

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


  1. 1.Устанавливаем Debian, во время установки, в пункте выбор программного обеспечения выбираем только "SSH сервер" и "Стандартные системные утилиты" 

  1. 2. Обновляем все пакеты

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

  1. 3. Устанавливаем зависимости (предварительно становимся суперпользователем с помощью 

su - или sudo su -)


apt-get install \


jq \


wget \


curl \


udisks2 \


libglib2.0-bin \


network-manager \


dbus -y


  1. 4. Устанавливаем docker.io

  1. 5.Сначала идем сюда: https://github.com/home-assistant/supervised-installer/tree/main/homeassistant-supervised/DEBIAN">https://github.com/home-assist... и загружаем на наш сервер файлы preinst и postinst

  1. 6. Делаем эти файлы исполняемыми (chmod u+x). Запускаем сначала preinst.
  2. 7. Затем идем сюда: https://github.com/home-assistant/supervised-installer/tree/main/homeassistant-supervised">https://github.com/home-assist... и параллельно на нашем сервере идем в те же директории, как и в репозитории на Github. Наша задача - отредактировать\создать такие же файлы, как и на Github. 
  3. 8. Когда все сделали, то можно попробовать запустить файл postinst. Если установщик ругается - смотрим, что мы сделали не так. Также можете скачать себе на комп скомпилированный файл *.deb и открыть его 7-zip архиватором. Я изначально так у себя и сделал)
  4. 9. В общем, если все сделали правильно - спустя некоторое время поднимется web интерфейс Home Assistant.

  1. P.S. Могут быть некоторые неточности в моем объяснении, но уж извините, я не особо программист и не супер спец по Linux. Может знающие люди пересоберут  *.deb пакет под 32х битные системы. У меня система, после такой установки, работает больше 2х недель и все ок.

На этапе запуска файла postinst появилась ошибка 


$: bash postinst


Can't exec "postinst": Нет такого файла или каталога at /usr/share/perl/5.28/IPC/Open3.pm line 178.


open2: exec of postinst failed: No such file or directory at /usr/share/perl5/Debconf/ConfModule.pm line 59.

Что делать?)

Спасибо за статью. Я хоть и новичок в всем этом, но запустил НА на Самсунг Атом - даже несмотря на то, что автор сваливал в кучу все построчные команды ). Но не удалось поднять некоторые компоненты НА. Буду раз за помощь в этом вопросе:
Invalid config
The following integrations and platforms could not be set up:

recorder (Show logs)
logbook (Show logs)
history (Show logs)
energy (Show logs)
default_config (Show logs)
Please check your config and logs.
это после смены дизайна сайта весь формат поломался. а вообще статья уже изрядно устарела
Вот если бы ее обновить! И с форматированием, хотя бы для yaml - там же отступы важны, на одном воображении сложно... ))
Андрей, и вопрос по базе: ругается система, что нет у нее команды mysql - ни для bash, ни для sudo - и ни для кого из пользователей, включая root, под которым я все и ставил. То есть на 32х Celeron зверушку поднял, но вот вот на шаге Mario_DB затормозил.... Спасибо за помощь заранее.
P.S. Если что, я про вот этот фрагмент кода:
Ставим базу 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
с вопросами лучше сразу в телегу

mysql> имеется в виду системное приглашение mysql
после команды sudo mysql -u root -p вы увидите приглашение "mysql>" и набираете CREATE DATABASE .....

...
sudo apt install mariadb-server
sudo apt-get install libmariadb-dev
sudo mysql -u root -p

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

sudo -u homeassistant -H -s
cd /srv/homeassistant
source bin/activate
pip3 install mysqlclient
exit
...

установка home assistant supervised (в том числе и на 32битные машины) одной командой на сайте https://hassinstall.top
Думаю, что куплю этот скрипт. в пятницу, когда в город вернусь на карточку положить деньги.
не проходят платежи... 2 карты + G-pay. Понятно, что причина в санкциях (точнее, санкции следствие причины), но как оплатить - не знаю (

Вернуться назад
Вернуться назад