Статья

Xiaomi Gateway 3: прошивка, подключение к Home Assistant

В данной статье речь пойдёт о способах подключения Xiaomi Gateway 3 в Home Assistant, при помощи интеграции от AlexxIT. В текстовом варианте не будет приведено скриншотов, поскольку визуальная составляющая присутствует в видео, которое является дополнением данной статьи. Помимо этого, readme проекта на GitHub содержит довольно подробное описание как в текстовом виде, так и видео. Моя статья - это лишь вариация на тему. Предполагается, что у вас уже установлен HACS, если же нет, то инструкция есть в моей статье про подключение Яндекс Станции.

Подключение интеграции

Итак, для установки интеграции в HACS необходимо перейти в раздел Integrations и добавить сторонний репозиторий: AlexxIT/XiaomiGateway3, после чего перезагрузить сервер и в разделе интеграции добавить интеграцию Xiaomi Gateway 3. Далее необходимо подключить шлюз, используя его IP и токен (о том, как его получить, будет описано ниже). Также возможно выполнить подключение при помощи аккаунта MiHome, в данном случае нет необходимости предварительно получать токен устройства и кроме того, использование такого способа позволит при помощи GUI получить основную информацию ( в том числе, токен) о любом устройстве, добавленном в Home Assistant, что, согласитесь, выглядит очень привлекательно, даже для тех людей, кто не имеет шлюза.

Получение токена при помощи модифицированного Mi Home

Для этого нам понадобится эмулятор Android устройств, их существует множество, но я остановился на GenyMotion. Не буду лукавить, просто это единственный эмулятор, который без особых проблем установился на мой Debian. Обратите внимание, эмулятор для своей работы требует наличие установленной VirtualBox. Эмулятор бесплатен для персонального использования.

После установки эмулятора, необходимо в нём создать устройство, в моём случае это был телефон Samsung на 8-й версии Android, версия очень важна, так как после запуска устройства на него нужно установить ARM Translation, иначе Модифицированное приложение Mi Home не запустится. Затем необходимо перезагрузить эмулируемое устройство и установить модифицированное приложение Mi Home, последняя версия которого доступна тут. После установки снова перезагружаем устройство.

Для того, чтобы узнать токен, входим в аккаунт MiHome, выбираем шлюз и переходим в раздел Additional Settings - > Network Info. В данном разделе программы доступна информация о токене устройства, его IP и MAC адресах, и некоторая другая информация.

Прошивка устройства

Для прошивки необходим USB<>UART Преобразователь, схема соединения представлена в репозитории автора. Обратите внимание, что нет необходимости подавать на шлюз питание от преобразователя. Также и то, что TX на преобразователе подключается к RX шлюза, а RX преобразователя - к TX шлюза. Прошивка устройства мной осуществлялась в GNU/Linux, все дальнейшие шаги справедливы для этой операционной системы.

Ставим необходимые пакеты:

sudo apt update && sudo apt install lrzsz coreutils expect -y

Клонируем репозиторий в удобный для нас каталог, например, /home/username/. У меня на этот случай в домашней директории в каталог tmp монтируется tmpfs раздел:

git clone https://github.com/serrj-sv/lumi.gateway.mgl03.git

Переходим в каталог со скриптом загрузки:

cd lumi.gateway.mgl03/uart_recovery/

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

cp bootloader/rtkboot_115200.bin.

Копируем наиболее свежую прошивку:

cp../firmware/custom/mgl03_1.4.7_0065_mod20201116/mgl03_1.4.7_0065_mod20201116.uart.

Подключаем преобразователь при помощи USB к компьютеру, второй USB держим наготове, его нужно будет подключить к шлюзу по запросу скрипта. Запускаем скрипт:

./mgl03_uart_recovery.expect

  • Скрипт предложит выбрать бутлоадер, нажимаем Enter.

  • Скрипт предложит выбрать прошивку, нажимаем Enter.

  • Скрипт предложит выбрать последовательное устройство, по умолчанию это /dev/ttyUSB0, нажимаем Enter.

Затем появится сообщение Power ON Gateway NOW!, в этот момент необходимо подать на шлюз питание при помощи второго USB кабеля.

Прошивка устройства займёт около 20 минут, затем скрипт задаст несколько вопросов, на все необходимо ответить положительно. В завершении скрипт предложет перейти на PayPall для осуществления пожертвования автору, я рекомендую это сделать.

После прошивки, зарегистрируйте шлюз в MiHome и проверьте telnet. Логин пользователя admin, пароль не требуется.

telnet local_ip_address

Спасибо, что дочитали до конца! Пожалуйста оцените статью, оставьте в комментариях свои пожелания и рекомендации, это поможет мне писать лучше :)


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

А суть вопроса в том, что свежие Гейты приезжают с прошивкой в которой (все) закрыто! Или телнет паролем или кто-то случайно прошился пару раз. Вариантов море. Я вот например сегодня днём свеже приехавший гейт прошивал. Долго по телнету, но все супер. Вечером подключил в HomeAssistantu с последней но модифицированной прошивкой. Все видится и управляется. 

Я об этом писал, у меня не заработало. Как только по UDP на 54321 порт (как я выяснил) отправлялся пакет, шлюз наглухо зависал, помогало только отключение от сети. Попытка смены региона тоже не дала результата и шлюз не обновлялся. Тоже самое было с telnet. Возможно мне просто попался такой с бракованной прошивкой или что-то такое. А может просто у меня руки не из того места растут :) 

Уже с сентября 2020 шли шлюзы с изменённой прошивкой. Только под паяльник... До этого шли с паролем на телнет. Но его нашли как взломать...


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

Устройства


Xiaomi

Mi Smart Home Hub

(14 отзывов)

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