Установка Home Assistant на роутер Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware) — Linux Debian и Умный дом на роутере :-D

+5

Да, вам не послышалось, в этой статье будет установка Home Assistant на роутер Xiaomi, причём в операционную систему Debian, которую мы перед этим установим на маршрутизатор в chroot среду Entware )))

В предыдущем посте я уже рассказал, как установить MQTT брокер Mosquitto на роутер Xiaomi Mi WiFi Router 3G, но судя по практически отсутствующей нагрузке брокера на процессор и ОЗУ роутера, эта задачка оказалась для него не серьёзной. Что ж, нагрузим его как следует и установим на него Debian в chroot среду, ну а в Debian уже установим «полноценную» систему «Умного дома» —  Home Assistant Core ))) Как она будет там работать (тормозить), это уже второй вопрос (см. ниже характеристики роутера) — мне же был интересен только сам процесс и факт запуска )))

Установка Home Assistant на роутер Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware) - Linux Debian и Умный дом на роутере

Напомню, что есть у меня в коллекции Wi-Fi роутер «Xiaomi Mi Wi-Fi Router 3G» с прошивкой от Padavan, который после покупки роутера MikroTik остался не у дел. Точнее не работает больше, как полноценный роутер, стоя на страже интернета, а выполняет свою функцию как дополнительная точка доступа Wi-Fi, маршрутизатор на 2-а порта и сетевое файловое хранилище с диском на 500 Гб. Есть у этого роутера такая замечательная штука, как Entware — это репозиторий (хранилище), которая позволяет «проводить много экспериментов с ним» )))

Сначала я решил «покурить тему» в сети интернет на предмет наличия у кого-либо опыта и мануалов, описанного у меня в посте «баловства», но каких-либо толковых гайдов на эту тему не нашёл. Встретил только на 4pda такое сообщение:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Но способ описанный по ссылке из этого сообщения, мне показался уж очень «замысловатым» и есть подозрение, что он уже устарел на текущий момент. Хотя если в Entware сейчас есть пакеты python 3.8 и выше, которые требуются для  установки Home Assistant Core с декабря 2020 года, то способ тоже может быть рабочим. Я не проверял.

Итак, много слов — ближе к делу )))

Алгоритм (последовательность) установки на роутер  Xiaomi Mi WiFi Router 3G  операционной системы Debian в chroot среду, а затем системы «Умного дома» — Home Assistant Core, у нас такая:

Компилируем (собираем) скриптом PROMETHEUS самую свежую прошивку от Padavan. Я выбрал репозитарий Alxdm.

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост
Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

После прошивки и настройки роутера, развёртываем Entware на своём внешнем носителе. (Рекомендую использовать жесткий диск, ибо ресурс флеш-карт не большой. У меня флешка на 128 Гб прожила только три года).

Подключаемся через PuTTY по SSH к роутеру.

Для получения списка и обновления новых пактов, выполните:

# opkg update
# opkg upgrade

Запускаем скрипт установки службы Debian 8 на маршрутизаторы MIPS замечательного человека (нашего соотечественника) Александра Рыжова. Судя по всему он специализируется на Keenetic, но его скрипт замечательно отрабатывает и на Xiaomi Mi WiFi Router 3G. Среду Debian 8 — debian_clean.tgz устанавливающуюся в скрипте, собирал он сам и расположена она на его сетевом ресурсе. Если не доверяете, то можете собрать свою, например уже среду Debian 10 по его же инструкции. 😉

Я не заморачивался и пошёл следующим простым путём:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост
# cd /opt
# wget --no-check-certificate https://raw.githubusercontent.com/DontBeAPadavan/chroot-debian/master/install.sh
# sh install.sh
Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Теперь у вас на роутере есть Debian 8 — радуйтесь и хвалитесь друзьям )))

Если что-то пошло в установленной системе Debian у вас  нет так, то не переживайте — это легко поправимо — ваш роутер не пострадает от лёгких экспериментов )))

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост
# cd /opt
# /opt/etc/init.d/S99debian stop
# rm -fr debian
# rm /opt/etc/init.d/S99debian
# sh install.sh

Теперь подключаемся через PuTTY по SSH к Debian:

IP — локальный адрес вашего роутера

Порт: 65022 (потом можете сменить)

Логин: root

Пароль: debian (потом можете сменить)

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Обновим систему Debian::

Для получения списка новых пактов, выполните:

# apt-get update

Для выполнения обновления пакетов, выполните:

# apt-get upgrade
# apt-get install transmission-daemon
# echo 'transmission-daemon' >> /chroot-services.list

Последняя команда (в качестве примера) добавляет передачу в список служб Debian, которая запускается во время загрузки. transmission-daemon это имя сценария из /etc/init.d/<name>.

Установка Home Assistant на роутер Xiaomi

Если вы это делаете сейчас, то надеюсь для эксперимента, как я, а не на полном серьёзе, ибо «Умный дом» на роутере, ну такое себе ; -)) Ресурсов хватит на мониторинг десятка датчиком и управления несколькими выключателями…, что-то серьёзное не получится или будет работать с жёсткими тормозами. Имейте это ввиду!

Устанавливаем необходимые нам пакеты для питона стандартным способом:

# apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5

Проверяем версию python:

# python3 --version
Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Не порядок! Так дело не пойдёт, с декабря 2020 года для установки Home Assistant Core нужен python3.8 или версии порядком выше, устанавливаем его любым удобным вам способом, например:

Устанавливаем недостающие библиотеки:

#  apt install build-essential libncurses5-dev libgdbm-dev libnss3-dev libsqlite3-dev libreadline-dev curl libbz2-dev

Ставим пакет wget:

#  apt install wget

Скачиваем последую версию Python с официального сайта:

# wget https://www.python.org/ftp/python/3.9.1/Python-3.9.21.tgz

Распаковываем архив:

# tar xzf Python-3.9.1.tgz

Устанавливаем (собираем):

# cd Python-3.9.1
# ./configure --enable-optimizations
# make altinstall

Долго ждём завершения…. (~ 01:30 часа)

Здесь на пару часиков можно идти пить чай…. 😀

И ещё раз подумать — действительно ли вам это нужно…? Может просто купить «Raspberry Pi 4 b» или поставить «простенький сервер» для своего «Умного дома»? Кстати в качестве него может выступать например Nettop, как у меня:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Почитайте пока на эту тему мой пост Простая установка Home Assistant Supervised на Debian | Kali Linux на Неттоп (домашний сервер), Ноутбук, Десктоп… или даже VirtualBox

Если хотите просто протестировать систему, то можно поставить  Home Assistant Core или Home Аssistant Supervised на бесплатный VPS — сервер от Oracleвариантов, отличных от описанного в этом посте, в лучшую сторону — множество…

А тем временем роутер у меня стойко держал нагрузку:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

И за один час + 25 минут у меня наконец собрался Python-3.9.1:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Устанавливаем  Home Assistant Core:

# cd

Создаём пользователя homeassistant:

# useradd -rm homeassistant

Создадим папку homeassistant в папке srv:

# cd /srv
# mkdir homeassistant

и назначим её владельцем пользователя homeassistant:

# chown homeassistant:homeassistant homeassistant

Создание и изменение виртуальной среды (вводите лучше построчно):

# cd /srv/homeassistant
# python3.9 -m venv . (пробел и точка нужна)
# source bin/activate

Устанавливаем необходимый пакет Python:

# python3 -m pip install wheel

Устанавливаем Home Assistant Core:

# pip3 install homeassistant

Опять идём пить чай или кофе 😀

Где-то через час возвращаемся к терминалу и вводим последнюю команду, которая создаёт каталог конфигурации и установит все основные зависимости:

# hass

Ещё где-то через час… 😀 😀 😀 пробуем зайти по адресу ipaddress:8123 (ipaddress вашего роутера) в браузере, где должна открыться такая страничка. Вводим свои данные (регистрируемся) и настраиваем/тестируем систему….

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Проверяем, что у нас установилась свежая версия системы Home Assistant Core (http://ipaddress:8123/config/info):

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост
Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Папка с конфигами лежит по пути — /opt/debian/root/.homeassistant

Можно открывать и редактировать, например через WinSCP

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Закинем в конфиг несколько сенсоров для проверки работоспособности с рабочей системы Home Assistant:

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Перезапустим Home Assistant и понаблюдаем за поведением ЦП и ОЗУ нашего роутера.

«Пациент скорее жив, чем мёртв» 😀

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Ну что ж, оставим систему для экспериментов на недельку другую и посмотрим, как она там будет жить ))

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

Для обновления Home Assistant (а они выходят регулярно) нужно ввести в терминале Debian эти команды:

# cd /srv/homeassistant
# source bin/activate
# python3 -m pip install --upgrade homeassistant

И набраться терпения на пару часиков 😀

После установки обновления и/или правки конфигов нужно перезапустить сервер, например из веб-интерфейса: Настройки → Сервер → Перезапустить

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Если после перезапуска роутера у вас «не стартует Debian», то добавляем задержку в веб-интерфейсе роутера, следуя по пути: «Персонализация» — «Скрипты» — «Выполнить после полного запуска маршрутизатора«, например 20 секунд:

sleep 20
/opt/etc/init.d/S99debian start

Спасибо Дмитрию за эту подсказку 😉

Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

Ну, и само собой, необходимо добавить  Home Assistant в автозапуск.

Можно добавить по аналогии старта Debian:

sleep 20
chroot /opt/debian /srv/homeassistant/bin/hass -c "/root/.homeassistant"
Установим Debian 8 и Умный дом (Home Assistant Core) на роутер - Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware)  :-D Умный дом, Debian, Linux, Xiaomi, Роутер, Wi-Fi, Home Assistant, Длиннопост

На этом у меня Ф С Ё ! )))

+5

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пролистать наверх