Здравия всем! Понадобилось мне на даче поставить Home Assistant. В закромах нашел одноплатник Cubieboard 2. На него решил и поставить Home Assistant Core.
Содержание
Подготовка
Для одноплатников есть хороший дистрибутив Armbian на основе Debian 10 / Ubuntu 20.04. Одноплатник Cubieboard 2 уже сняли с поддержки, но в архиве есть еще относительно свежие образы. Идем в архив. Нам доступно 2 стабильные версии Armbian
- – Armbian_21.08.1_Cubieboard2_focal_current_5.10.60.img (на основе Ubuntu 20.04)
- – Armbian_21.08.1_Cubieboard2_buster_current_5.10.60.img (на основе Debian 10)
Подготовка microSD
Для операционной системы Windows есть хорошая бесплатная утилита Win32 Disk Imager.
После того как залили образ Armbian на microSD
Настройка Armbian после установки
Вытаскиваем microSD вставляем ее в Cubieboard 2, подключаем сеть и питание. Через несколько минут устройство появится в сети, если включен на роутере DHCP. Заходим через Putty на наш компьютер по протоколу OpenSSH. Логин по умолчанию root, пароль 1234
Запустится мастер настройки, он попросит ввести новый пароль для пользователя root, выбрать терминал по умолчанию( я выбрал bash), придумать нового пользователя и пароль к нему. Также определит ваше текущее время на основе местоположения и спросит прописать ли язык системы на основе вашего местоположения.
Для настройки системы есть утилита armbian-config. Введем её в консоле
armbian-config
Мастер достаточно функциональный и интуитивно понятный.
Обновим систему
apt update
apt upgrade
Тк это одноплатник процесс обновления затянется минут на 5-30 в зависимости от количества обновлений. Для применения обновлений ядра перезагрузим нашу систему
reboot
Установка Home Assistant
Установка Python
После перезагрузки снова подключаемся по SSH к нашему серверу и входим в Root режим
sudo bash
Для последней версии Home Assistant Core нужен Python 3.9 установим его. Для этого добавим PPA репозиторий
add-apt-repository ppa:deadsnakes/ppa
For nightly builds, see ppa:deadsnakes/nightly https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly
More info: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
Press [ENTER] to continue or Ctrl-c to cancel adding it.
Сущ:1 http://ports.ubuntu.com focal InRelease
Пол:2 http://ports.ubuntu.com focal-security InRelease [114 kB]
Пол:3 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal InRelease [18,1 kB]
Сущ:4 http://ports.ubuntu.com focal-updates InRelease
Сущ:6 http://ports.ubuntu.com focal-backports InRelease
Пол:5 http://mirrors.dotsrc.org/armbian-apt focal InRelease [26,8 kB]
Пол:7 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal/main armhf Packages [26,3 kB]
Пол:8 http://ports.ubuntu.com focal-security/universe armhf Packages [665 kB]
Пол:9 http://ports.ubuntu.com focal-security/main armhf Packages [853 kB]
Получено 1 702 kB за 5с (345 kB/s)
Чтение списков пакетов… Готово
root@cubieboard2:/home/ha#
Нужно нажать Enter, чтобы разрешить установку репозитория
Установим Python 3.9 и необходимые библиотеки
apt-get install python3.9 python3.9-dev python3.9-venv python3-pip rustc cargo libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 libturbojpeg0-dev tzdata
Доставим недостающие пакеты для Python 3.9
pip install build dependencies
Установка Home Assistant Core
Для работы Home Assistant Core создадим в систему локального пользователя homeassistant, под ним будет работать Home Assistant Core.
useradd -rm homeassistant
Создадим папку для Home Assistant Core и дадим на неё доступ для пользователя homeassistant
mkdir /srv/homeassistant
chown homeassistant:homeassistant /srv/homeassistant
Создадим виртуальное окружение для Home Assistant Core, для этого переключимся на пользователя homeassistant
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3.9 -m venv .
source bin/activate
root@cubieboard2:/home/ha# sudo -u homeassistant -H -s
homeassistant@cubieboard2:/home/ha$ cd /srv/homeassistant
homeassistant@cubieboard2:/srv/homeassistant$ python3.9 -m venv .
homeassistant@cubieboard2:/srv/homeassistant$ source bin/activate
(homeassistant) homeassistant@cubieboard2:/srv/homeassistant$
Установим wheel для Python
python3 -m pip install wheel
(homeassistant) homeassistant@cubieboard2:/srv/homeassistant$ python3 -m pip install wheel
Collecting wheel
Downloading wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel
Successfully installed wheel-0.37.1
(homeassistant) homeassistant@cubieboard2:/srv/homeassistant$
Запустим установку Home Assistant Core
pip3 install homeassistant
Процесс установки Home Assistant Core происходит неспешно.Во время установки все наглядно логируется
На моем одноплатнике заняло 30 минут.
Теперь запустим Home Assistant Core в ручном режиме.
hass
Процесс завершит установку, автоматически создаст папку конфигурации .homeassistant в домашней папке пользователя /home/homeassistant и доставит необходимые зависимости
Процесс неспешный. Прерывать нельзя! В процессе установки мастер будет сообщать в окно о процессе.
Процесс можно проверять через браузер по адресу http://ip:8123. В моем случае http://192.168.222.162:8123
Как только появится картинка с предложением войти, значит процесс установки завершился. Можно выходить из виртуальной среды.
Настройка Home Assistant Core
Чтобы Home Assistant Core работал после перезагрузки, нужно создать сервис.
mcedit /etc/systemd/system/homeassistant@homeassistant.service
Вставим туда следующий текст:
[Unit]
Description=Home Assistant
After=network-online.target
[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
[Install]
WantedBy=multi-user.target
После это активируем сервис в системе и запустим его:
systemctl --system daemon-reload
systemctl enable homeassistant@homeassistant.service
systemctl start homeassistant@homeassistant.service
Для перезагрузки нашего Home Assistant Core, можно пользоваться командой:
service homeassistant@homeassistant restart
Для проверки статуса используем команду:
homeassistant@homeassistant status
root@cubieboard2:/home/ha# service homeassistant@homeassistant status
● homeassistant@homeassistant.service - Home Assistant
Loaded: loaded (/etc/systemd/system/homeassistant@homeassistant.service; e>
Active: active (running) since Sun 2022-03-20 18:56:11 MSK; 19s ago
Main PID: 3157 (hass)
Tasks: 9 (limit: 2138)
Memory: 55.6M
CGroup: /system.slice/system-homeassistant.slice/homeassistant@homeassista>
└─3157 /srv/homeassistant/bin/python3.9 /srv/homeassistant/bin/has>
мар 20 18:56:11 cubieboard2 systemd[1]: Started Home Assistant.
Наша конфигурация находится в папке /home/homeassistant/.homeassistant
Вот и результат:
Заключение
На этом установку и настройку Home Assistant Core на Ubuntu 20.04 закончили. Мне показалось, что в некоторых инсталляциях нет смысла ставит Home Assistant в Docker. Home Assistant Core очень хорошо справляется со своей задачей на слабом железе. Если будет нужен готовый образ для Cubieboard 2, пишите в комментариях, и я выложу на какой нибудь общественный сервер.
Решил тоже на кубик поставить ассистента, тори дня бился с ним и ничего не получилось.Можно готовый образ?
Василий, в моем образе не актуальная версия Home Assistant Core 2022.03. Чтобы сделать образ с актуальной версией придется подождать до выходных
Василий, у Вас какая модель кубика? (если ещё актуально ;-))
Я тут проапдейтил Armbian и hass на своём Cubox-i 2ex
Как раз собирался полный образ снять…
Добрый день Юрий. Пытаюсь установить по инструкции. Питон отказывается ставиться. Не могли бы Вы выложить готовый образ?
Версия питона уже обновилась, у меня, например получилось вот так
apt-get install python3.12 python3.12-dev python3.12-venv python3-pip rustc cargo libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff6 libturbojpeg0-dev tzdata ffmpeg
На разных версиях Armbian она от 3.11 до 3.13, и libtiff6
Я давно не обновлял эту инсталляцию.