udvnl

 
<<< Back

Установка Zigbee2mqtt на телефон (Android) под эмулятором Termux

Небольшая статья по установке сервиса zigbee2mqtt на телефон с Android.
Установка проверялась на нескольких телефонах Redmi (7, 10. 14).
Предназначена для тестов или кратковременного быстрого развёртывания сети zigbee с ограниченным количеством устройств.
В качестве координатора используется сетевой (Lan или WiFi) координатор.
Для проверки работы использовался шлюз SLS, подключаемый по сети WiFi.

Termux — эмулятор терминала для среды GNU/Linux для Android. представляющее собой эмулятор терминала и полноценную среду Linux. Минимальный базовый функционал устанавливается автоматически, расширенные возможности подтягиваются с помощью менеджера пакетов и установкой стороннего ПО с git.
Распространяется под лицензией GNU General Public License v3.0.
Установка из Google Play хотя доступна, однако, официальная поддержка Android 10 и выше официально прекращена.
Последняя доступная версия приложения (0.101) на PlayMarket была опубликована 29 сентября 2020 года.
Также мовозможно использование утилиты Termux Boot для автоматического запуска среды Linux и его приложений (сервисов) при старте/перезагрузки смартфона.
Эти два приложения должны быть установлены из одного источника (F Droid, GitHub и т.д.).

Скачиваем и устанавливаем приложение * .apk Termux, для своей версии Android c Github или независимого маркета (F-Droid):
Release Termux App
После установки, первый вход в систему.
В эмуляторе пользователь создается автоматически. Что б узнать имя и IP адрес вводим стандартные для Linux команды

whoami
 ifconfig
 pwd

Вид приложения на телефоне:

Итак, я являюсь Пользователь u0_a474. Root в Termux по дефолту нет (пока он мне не нужен, не ставлю)
Первым делом, после установки термух устанавливаем SSH доступ.

pkg update && pkg upgrade
pkg install openssh

Меняем/создаем пароль для своего пользователя (без пароля SSH не работает, с ключами я пока не стал заморачиваться). Добавляем SSH в автозапуск при старте Termux.

passwd
sshd 
echo "sshd" >> ~/.bashrc

SSH работает на не совсем стандартном порту 8022. Дальнейшие действия, лично мне, удобнее с SSH терминала (в моем случае Putty).

Установка MQTT брокера Mosquitto

Для работы zigbee2mqtt требуется брокер, установим его и добавим в автозапуск

pkg install mosquitto
mkdir -p ~/.mosquitto
echo -e "listener 1883\nallow_anonymous true" > ~/.mosquitto/mosquitto.conf
mosquitto -c ~/.mosquitto/mosquitto.conf &
echo "pgrep -x mosquitto > /dev/null || mosquitto -c ~/.mosquitto/mosquitto.conf &" >> ~/.bashrc

Установка zigbee2mqtt в Termux

Устанавливаем пакеты и зависимости, клонируем репозиторий и переходим в директорию z2m.

pkg install nodejs yarn git make python -y
git clone https://github.com/Koenkk/zigbee2mqtt.git
cd zigbee2mqtt

установливаем Nodejs (стабильную LTS, на новой версии у меня произошла несовместимость, возникали в дальнейшем при установке z2m ошибки), менеджер пакетов pnpm.

pkg install nodejs-lts
npm install -g pnpm

Проверяем версии (команда, на следующей строке мой вывод):

node -v
v24.17.0
pnpm --version
[WARN] The "pnpm" field in package.json is no longer read by pnpm. The following                                     keys were ignored: "pnpm.overrides", "pnpm.onlyBuiltDependencies". See https://                                    pnpm.io/settings for the new home of each setting.
10.18.3

Как видно, pnpm установилась с предупреждением (не ошибкой), с первого взгляда на работу не повлияло
Устанавливаем сам zigbee2mqtt

pnpm install --frozen-lockfile

Установка прошла без ошибок.
Создаем файл конфигурации.
На этом шаге я решил немного упростить себе задачу.
С тестовой малинки скопировал из прошлой своей статьи содержимое файла конфигурации с настройкой SLS шлюза и вставил.

Zigbee2mqtt и шлюз SLS: подключение, настройка и и...

nano data/configuration.yaml

Дальше перегружаем Termux, я полностью перегрузил телефон.
После перезагруки, запускаем Termux. SSH запускается при старте системы, также должен запуститься и брокер Mosquitto (проверим его).

ps ax | grep mosquitto
19121 pts/28   S<+    0:00 grep mosquitto

запускаем сейчас zigbee2mqtt (запуск обязательно из директории /zigbee2mqtt).

pnpm start

После запуска и настройки конфигурации (как в прошлой заметке), веб интерфейс доступен на порту 8090.
И о чудо!!! Открываем IP адрес телефона браузером с указанием порта, у меня получилось следующее:

перейдем на вкладку настройки, увидим устройство, версии и прочее

Для сопряжения новых устройств, нажимаем кнопку Разрешить подключение в веб интерфейсе, само устройство переводим в режим сопряжения (обычно физической кнопкой или многократным нажатием, это уже в документации на устройство). Появляется устройство в сети zigbee

Далее нужно добавить сам Termux в автозагрузку, zigbee2mqtt и прочие действия.
которые добавлю позже, пока главное zigbee2mqtt на android - запускается и работает.

Хотелось бы сказать спасибо за идею и статьи и материалы авторам: artt652 и krepton85

Дополнение и продолжение (возможно будет обновляться) .....

Устанавливаем пакет pm2 и запускаем zigbee2mqtt режиме сервиса

npm install -g pm2
pm2 start "pnpm start" --name zigbee2mqtt
pm2 start "pnpm start" --name zigbee2mqtt


Управление процессом z2m:
• Посмотреть статус: pm2 status
• Посмотреть логи в реальном времени: pm2 logs zigbee2mqtt
• Остановить: pm2 stop zigbee2mqtt

Дополнение:
для нормальной работы в ОС, требуется добавить Termux в автозагрузку самого Android,
Для меня рабочий способ: Устанавливаем MacroDroid из Google Play.В самом Android заходим в настройки батареи и отключем оптимизацию энергопотребления для MacroDroid и Termux.Открываем MacroDroid и нажимаем «Добавить макрос».В разделе Триггеры (красный плюс) выберием: Устройство заблокировано/изменено → Загрузка устройства.В разделе Действия (синий плюс) выбераем: Запуск приложения → Выберите Termux из списка.

Discuss (0) (0)

See also:
2026-07-08 Zigbee2mqtt и шлюз SLS: подключение, настройка и интеграция в MajorDoMo
2026-07-01 Установка плеера VLC и использование модуля Internet Radio
2025-01-24 Zigbee2mqtt 2025 (2.0) небольшое описание по установке
2024-06-21 Послеустановочные заметки
2024-05-21 RHVoice установка, проверка и прочее
2023-11-03 Пару мыслей о совместном применении SIP телефонии и систем «Умного Дома», а также немного об организации независимого от Internet канала связи с УД.
2023-10-14 Контроль SystemD и инструмент работы с системными логами через веб браузер
2023-10-10 Установка SIP сервера FreeSWITCH 1.10.10 на Raspberry Pi OS Lite (Debian11)
2023-01-03 Установка MajorDoMo с помощью скрипта от SergeJey на Raspberry Pi
2022-12-09 Где Телефон?
2022-05-30 Вариант установки Majordomo на Windows 10 с использованием пакета XAMPP. Немного о переносе и создании тестовой копии системы с Raspberry PI на Windows
2022-03-09 Небольшие заметки по подключению и использованию сервиса CONNECT
2022-02-27 Zigbee2mqtt, немного о стиках CC2531 и Sonoff USB Zigbee 3.0 Dongle Plus (сравнение, подключение, тестирование).
2021-09-23 Второй раз в первый класс. Часть 1: начало работы c базовым образом для RPi.
2020-12-31 Возможность создания канала управления через телефонные сети для системы домашней автоматизации.
2020-07-06 Чтение файлов из образа img Операционной системы. Возможность записи образа на меньшую по размеру SD карту памяти
2020-06-19 Raspberry Pi: немного о резервном копировании и актуальной копии системы
2020-05-07 Установка VoIP сервера FreeSWITCH с частичной интеграцией в систему MajorDoMo
2020-04-28 Установка базового образа MajorDoMo на Raspberry Pi. Начало первые шаги.
2019-10-07 Возможность создания видео звонков у MajorDoMo (RPI +WebCam)
2019-09-11 Создание голосового оповещения MajorDoMo
2019-08-21 Установка USB аудиокарты и настройка звука в Raspberry Pi
2019-04-04 Сертификация в Z-Wave
2019-03-11 RPI Monitor полезное ПО для Raspberry PI и Orange Pi
2019-02-04 Тестирование пропускной способности канала Ethernet (Wi-Fi) с помощью утилиты IPerf
2018-12-23 Пошаговая инструкция с картинками по установки MajorDoMo на Raspberry Pi 3 с помощью скрипта от Immortal
2018-10-20 Установка Freeswitch 1.8.2 на Debian 9 (Raspbian Stretch) на базовый образ системы «Умного дома» MajorDomo
2018-08-14 Создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo. Включение первого устройства Z-Wave и первые шаги по автоматизации
2018-07-08 Создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo. Включение контроллера RaZberry и первые шаги по Z-Wave
2018-06-29 Пошаговая инструкция по установке образа Majordomo на Raspberry Pi
2018-06-21 Удаленное наблюдение за близкими, но к сожалению, больными людьми.

Минск, Беларусь

На форуме: udvnl