- Saved searches
- Use saved searches to filter your results more quickly
- License
- openlumi/homeassistant_on_openwrt
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- Установка Home Assistant на роутер Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware) — Linux Debian и Умный дом на роутер
- Установка Home Assistant на роутер Xiaomi
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Install Home Assistant on your OpenWrt device with a single command
License
openlumi/homeassistant_on_openwrt
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
This repo provides tools to install the latest version of Home Assistant. (2022.12.x) on a system with OpenWrt 21.02+ installed. It provides the reduced version of HA with only minimal list of components included. Additionally, it keeps MQTT, ESPHome, and ZHA components as they are widely used with smart home solutions.
It is distributed with a shell script that downloads and installs everything that required for a clean start.
Then, download the installer and run it.
wget https://raw.githubusercontent.com/openlumi/homeassistant_on_openwrt/21.02/ha_install.sh -O - | sh
After script prints Done. you have Home Assistant installed. Start the service or reboot the device to get it start automatically. The web interface will be on 8123 port after all components load.
The only components with flows included are MQTT and ZHA. After adding a component in the interface or via the config HA could install dependencies and fails on finding them after installation. In this case restarting HA could work.
Other components are not tested and may require additional changed in requirement versions or python libraries.
ZHA usage on Xiaomi Gateway
The component uses internal UART to communicate with ZigBee chip. The chip has to be flashed with a proper firmware to be able to communicate with the HA. The recommended firmware is v3.23:
You could try another Zigate firmwares for JN5169 chip. The baud rate must be 115200 as it is hardcoded in zigpy-zigate.
Use /dev/ttymxc1 port for ZHA configuration, it is connected to the zigbee chip.
It is REQUIRED to erase Persistent Data Manager (PDM) before adding new devices. Otherwise, device adding fails.
Use luci zigbee tools submenu to send erase PDM command with the button or erase PDM in console:
Zigbee port must not be locked with any program, like ZHA or zigbee2mqtt.
NOTE: It may require restarting Home Assistant after adding a new component via the UI to let it see newly installed requirements. E.g. ZHA installs paho-mqtt and will not allow configuring it unless HA is restarted.
Enabling other components and installing custom
You may want to add more components to your HA installation. In this case you have to download tar.gz from PyPI: https://pypi.org/project/homeassistant/2022.12.0/#files Then extract the content and copy the required components to /usr/lib/python3.9/site-packages/homeassistant/components If the component uses the frontend wizard, you may want to uncomment the corresponding line in /usr/lib/python3.9/site-packages/homeassistant/generated/config_flows.py also.
Or you can create custom_components directory in /etc/homeassistant and copy it there.
Try to install requirements from manifest.json with pip3 manually to check it installs and doesn’t require pre-compiled C libraries. Otherwise, you have to cross-compile python3 dependencies and install them as ipk packages.
If the dependency is already installed via opkg or via pip3 you may want to fix the strict dependency in manifest.json to a weaker one or remove versions at all.
About
Install Home Assistant on your OpenWrt device with a single command
Установка Home Assistant на роутер Xiaomi Mi WiFi Router 3G (С прошивкой Padavan + Entware) — Linux Debian и Умный дом на роутер
Да, вам не послышалось, в этой статье будет установка Home Assistant на роутер Xiaomi , причём в операционную систему Debian , которую мы перед этим установим на маршрутизатор в chroot среду Entware )))
В предыдущем посте я уже рассказал, как установить MQTT брокер Mosquitto на роутер Xiaomi Mi WiFi Router 3G , но судя по практически отсутствующей нагрузке брокера на процессор и ОЗУ роутера, эта задачка оказалась для него не серьёзной. Что ж, нагрузим его как следует и установим на него Debian в chroot среду, ну а в Debian уже установим «полноценную» систему «Умного дома» — Home Assistant Core ))) Как она будет там работать (тормозить), это уже второй вопрос (см. ниже характеристики роутера) — мне же был интересен только сам процесс и факт запуска )))
Напомню, что есть у меня в коллекции Wi-Fi роутер « Xiaomi Mi Wi-Fi Router 3G » с прошивкой от Padavan , который после покупки роутера MikroTik остался не у дел. Точнее не работает больше, как полноценный роутер, стоя на страже интернета, а выполняет свою функцию как дополнительная точка доступа Wi-Fi, маршрутизатор на 2-а порта и сетевое файловое хранилище с диском на 500 Гб. Есть у этого роутера такая замечательная штука, как Entware — это репозиторий (хранилище), которая позволяет «проводить много экспериментов с ним» )))
Сначала я решил «покурить тему» в сети интернет на предмет наличия у кого-либо опыта и мануалов, описанного у меня в посте «баловства», но каких-либо толковых гайдов на эту тему не нашёл. Встретил только на 4pda такое сообщение:
Но способ описанный по ссылке из этого сообщения, мне показался уж очень «замысловатым» и есть подозрение, что он уже устарел на текущий момент. Хотя если в Entware сейчас есть пакеты python 3.8 и выше, которые требуются для установки Home Assistant Core с декабря 2020 года, то способ тоже может быть рабочим. Я не проверял.
Итак, много слов — ближе к делу )))
Алгоритм (последовательность) установки на роутер Xiaomi Mi WiFi Router 3G операционной системы Debian в chroot среду, а затем системы «Умного дома» — Home Assistant Core, у нас такая:
Компилируем (собираем) скриптом PROMETHEUS самую свежую прошивку от Padavan. Я выбрал репозитарий Alxdm .
После прошивки и настройки роутера, развёртываем Entware на своём внешнем носителе. ( Рекомендую использовать жесткий диск, ибо ресурс флеш-карт не большой. У меня флешка на 128 Гб прожила только три года ).
Подключаемся через PuTTY по SSH к роутеру.
Для получения списка и обновления новых пактов, выполните:
Я не заморачивался и пошёл следующим простым путём:
# wget —no-check-certificate https://raw.githubusercontent.com/DontBeAPadavan/chroot-debian/master/install.sh
Теперь у вас на роутере есть Debian 8 — радуйтесь и хвалитесь друзьям )))
Если что-то пошло в установленной системе Debian у вас нет так, то не переживайте — это легко поправимо — ваш роутер не пострадает от лёгких экспериментов )))
# /opt/etc/init.d/S99debian stop
# rm /opt/etc/init.d/S99debian
Теперь подключаемся через PuTTY по SSH к Debian:
IP — локальный адрес вашего роутера
Порт: 65022 (потом можете сменить)
Пароль: debian (потом можете сменить)
Для получения списка новых пактов, выполните:
Для выполнения обновления пакетов, выполните:
# apt-get install transmission-daemon
# echo ‘transmission-daemon’ >> /chroot-services.list
Последняя команда (в качестве примера) добавляет передачу в список служб Debian, которая запускается во время загрузки. transmission-daemon это имя сценария из /etc/init.d/.
Установка 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
Не порядок! Так дело не пойдёт, с декабря 2020 года для установки Home Assistant Core нужен python3.8 или версии порядком выше, устанавливаем его любым удобным вам способом, например:
Устанавливаем недостающие библиотеки:
# apt install build-essential libncurses5-dev libgdbm-dev libnss3-dev libsqlite3-dev libreadline-dev curl libbz2-dev
Скачиваем последую версию Python с официального сайта:
# wget https://www.python.org/ftp/python/3.9.1/Python-3.9.21.tgz
# tar xzf Python-3.9.1.tgz
# ./configure —enable-optimizations
Долго ждём завершения…. (~ 01:30 часа)
И ещё раз подумать — действительно ли вам это нужно…? Может просто купить «Raspberry Pi 4 b» или поставить «простенький сервер» для своего «Умного дома»? Кстати в качестве него может выступать например Nettop, как у меня:
Если хотите просто протестировать систему, то можно поставить Home Assistant Core или Home Аssistant Supervised на бесплатный VPS — сервер от Oracle , вариантов, отличных от описанного в этом посте, в лучшую сторону — множество…
А тем временем роутер у меня стойко держал нагрузку:
И за один час + 25 минут у меня наконец собрался Python-3.9.1:
Устанавливаем Home Assistant Core:
Создаём пользователя homeassistant:
# useradd -rm homeassistant
Создадим папку homeassistant в папке srv:
и назначим её владельцем пользователя homeassistant:
# chown homeassistant:homeassistant homeassistant
Создание и изменение виртуальной среды (вводите лучше построчно):
# python3.9 -m venv . (пробел и точка нужна)
Устанавливаем необходимый пакет Python:
# python3 -m pip install wheel
Устанавливаем Home Assistant Core:
# pip3 install homeassistant
Где-то через час возвращаемся к терминалу и вводим последнюю команду, которая создаёт каталог конфигурации и установит все основные зависимости: