Блог

Открытие портов Xiaomi Gateway (часть 2)

Если вы собрались покупать Xiaomi MiJia Smart Home Gateway 2 для последующей интеграции со сторонней системой умного дома (например HomeAssistant) - вам может не повезти, и достанется модель у которой не так просто открываются заветные порты 4321 и 9898.

Подробнее можно почитать в этой статье. На сайте HA (в самом низу) так же есть есть инструкция.

Мне как раз попалась такая модель:

  • MAC: 04:CF:8C:xx:xx:xx
  • Model: DGNWG02LM / lumi.gateway.v3
  • Date: 2018.11
  • Firmware: 1.4.1_150.0143
  • Надпись по кругу

Даже после включения режима разработчика порты не открывались:

nmap -sU 192.168.xxx.xxx -p 9898,4321,54321 PORT STATE SERVICE 4321/udp closed rwhois 9898/udp closed monkeycom 54321/udp open|filtered bo2k

Все вышеупомянутые инструкции советовали вкрыть хаб. Подпаяться к его UART и через него послать команду на открытие портов.

Я решил оставить этот метод на самый крайний случай и попробовать найти выход программно.

Я пробовал включать режим разработчика через приложение Mi Home на iOS, Android, эмуляторе. Пробовал изучить протокол взаимодействия по единственному открытому порту - 54321. Пробовал принудительно отключать интернет на устройствах с Mi Home, чтоб общение с хабом было исключительно внутри локальной сети. Пробовал вручную слать разные команды на этот порт.

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

nmap -sU 192.168.xxx.xxx -p 9898,4321,54321 PORT STATE SERVICE 4321/udp open|filtered rwhois 9898/udp open monkeycom 54321/udp open|filtered bo2k

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

PS: я обновился на прошивку 1.4.1_170.0143, а затем на 1.4.1_170.0158 и затем перезапустил хаб (выдернул из розетки). Порты остались открытыми.


может включение режима идет через облако, с задержкой? или как на телефоне - многократный тап по строке меню?

ЗЫ вот и у меня с видеозвонком так же. есть рабочий, со звуком. пытаюсь повторить - вылетает ffmpeg.

Я думаю это был просто баг определенной версии прошивки, который поправили. 

А достаточно ли протокола UDP? У меня вот 3 шлюза: один lumi.gateway.v3 (прошивка 1.4.1_170.0158) и два lumi.acpartner.v3 (прошивки 1.4.1_159.0149). На всех открыты по UDP порты 9898 и 4321, по TCP закрыты.

Что я только не делал, как только не прописывал их в конфиге и с маками и без, с хостами и без. И по одному и все сразу. Все шлюзы в режиме разработчика. Пробовал разные образы с HA на машинке с докерами и без. Без толку, ни один не подцепился. Выкурил всю доку по компоненту HA xiaomi-aqara. Остаётся только курочить?

Точно UDP порты открыты? Через nmap проверяли?

Уже разобрался. С портами все хорошо - nmap показал. Включил детальные логи. Компонент xiaomi_aqara крашился когда подтягивал устройства с одного из шлюзов lumi.acpartner. Это происходило даже когда этот шлюз не был прописан в конфиге. Прописал ему в конфиге disable: true и два других шлюза подтянулись.



Доброе время суток!

Проверил порты, выдало так:

https://sprut.ai/static/media/cache/00/37/89/5/1982736/46610/1000x_image.jpg?1573928923" alt="1000x_image.jpg?1573928923" />

Но Domoticz не обновляет устройства. До сброса шлюза и изменения пароля работало. Обновлений шлюза не было. Сервер стоит на Synology.

Попробовал заново создать сервер на компе. Не видно устройств.

В чем проблема? Заранее благодарю!

У меня не было опыта с Domoticz. nmap показывает, что порты открыты. Внимательно проверьте ключ разработчика. Кстати приложения iOS и Android создают очень разные ключи при включении режима разработчика. Можно попробовать его включить на другом телефоне.

  • Model: DGNWG02LM / lumi.gateway.v3
  • Date: 2019.11
  • Firmware: 1.4.1_149.0143
  • Надпись по кругу

    Также после включения режима разработчика под Android порты были закрыты
    включал\выключал, потом включал\выключал режим под iOS. 
    Добавлял на хаб, wireless switch, датчик температуры, датчик motion .
  • Порты через какое-то время открылись. Проверил после добавления motion и через часов 12 после включения\выключения в iOS.

    может кому-то пригодится

А каким приложением проверить, что порты открыты? Скачал Zenmap на мак, показывает, что открыты порты 5353 и 54321, этого достаточно?

Zenmap норм. Порты в статье указаны

У тебя нет проблем с включением и выключением подсветки шлюза с маком 04:хх:хх:... у меня НА видит состояние но включить или выключить не может. На буржуйских форумах встречал что мак переводится в режим без двоеточия, и код теряет этот ноль в начале. соответственно мак стает 4хххх..... и работает с багами

Хаб Xiaomi Mi Air Conditioning Companion (lumi.acpartner.v2 и вероятно v3) имеет аналогичную распайку разъема с RX/TX (земля между ними).
ВНИМАНИЕ! Этот хаб НЕ имеет гальванической развязки. При подключении через UART TTL в USB к компьютеру и в резетку одновременно ВЫГОРИТ всё что можно.
Подключать только к ноутбуку, который больше никуда не подключен, в том числе и в розетку.

Спасибо. Хорошо, если получится. Какие команды на порты посылали, не подскажете?


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