Как подключить gateway 3 к apple home

Обновлено: 07.07.2024

Xiaomi Gateway 3 шлюз, пришедший на смену шлюзу второй версии. Новая версия обзавелась поддержкой протокола ZigBee версии 3 и поддержкой BLE, теперь не надо специально покупать отдельный BLE шлюз для использования в сценариях Bluetooth устройств (как минимум в умном доме Xiaomi с использованием программы Mi Home).

Устройство лицензировано для использования с Apple HomeKit, а это значит, что режима управления по LAN (он же режим разработчика) у шлюза нет, но устройство можно подключить к альтернативным системам автоматизации через интеграцию HomeKit, хоть и с ограничениями. Но благодаря трудам человека под именем AlexxIT стало возможно подключить Gateway 3 к Home Assistant и управлять подключенными устройствами по LAN. Он разработал компонент, который при помощи токена открывает доступ к telnet устройства и запускает на нем MQTT сервер откуда уже считываются данные с подключенных к шлюзу ZigBee устройств, через telnet обрабатываются данные подключенных BLE устройств.

Список поддерживаемых устройств перечислен на сайте проекта.

Версии прошивок

До прошивки версии v.1.4.6_0030 включительно никаких дополнительных манипуляций с устройством не требовалось, достаточно было только установить компонент в Home Assistant и получить токен устройства. Начиная с прошивки версии v.1.4.6_0043 на telnet был установлен пароль, который необходимо сбросить либо понизить версию прошивки, это реализуется паяльно-термальным методом (уже не удивительно). На данный момент дела обстоят так, что новые устройства идут с заводскими прошивками не ниже версии v.1.4.6_0043.

Основным методом работы с устройством автор компонента рекомендует установку модифицированной прошивки версии v.1.4.6_0012, объясняет он это следующим:

  • Прошивка версии v.1.4.6 стабильнее прошивок v.1.4.7
  • Отсутствует пароль на telnet
  • Улучшена работа с BLE устройствами
  • Основную работу над компонентом он ведет для прошивки версии v.1.4.6

Для устройств с заводской прошивкой v.1.4.7_0063 возможен только метод понижения до модифицированной прошивки.

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

ВНИМАНИЕ! Автор статьи не несет никакой ответственности за последствия, которые могут произойти при выполнении действий, описанных в данной статье! Всё что вы делаете, вы делаете только на свой страх и риск!

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

Xiaomi Gateway 3 подключение к Home Assistant

Припаиваемся к техническим контактам на плате шлюза (TP8 - GND, TP11- TX, TP4 - RX).

Скачиваем необходимое ПО:

  • Загрузчик из каталога, автор рекомендует этот (rtkboot_115200)
  • Скачиваем файл прошивки mgl03_xxxxx.uart из каталога.
  • Скачиваем файл mgl03_uart_recovery.ttl
  • Скачиваем и устанавливаем программу Tera Term для Windows

Запускаем Tera Term , выбираем Serial -> выбираем порт UART адаптера -> OK :

xiaomi gateway 3 home assistant custom firmware

Выбираем Control -> Macro , в открывшемся окне выбираем загруженный ранее файл mgl03_uart_recovery.ttl :

xiaomi gateway 3 developer mode

В появившемся окне нажимаем OK .

xiaomi gateway 3 lan mode

ВНИМАНИЕ! Питание 3.3V или 5V с адаптера UART НЕ ПОДКЛЮЧАТЬ!

xiaomi gateway 3 telnet home assistant

xiaomi gateway 3 load custom firmware

xiaomi gateway 3 flash custom firmware

После перезагрузки шлюза нажимаем на нем 10 раз единственную кнопку для сброса к заводским настройкам. Шлюз заново перезагрузится, издаст звуковой сигнал и будет моргать зеленым диодом. Теперь его можно подключить к Mi Home из приложения штатными средствами (если шлюз уже был до этого добавлен в Mi Home, то его необходимо удалить). В свойствах шлюза проверяем, что установлена прошивка, которая нам нужна. Программа будет предлагать обновиться, чего делать не стоит.

xiaomi gateway 3 firmware home assistant

Отключаем шлюз от питания и USB-2-TTL адаптера, закрываем Tera Term, если необходимо собираем шлюз. Подключаем питание. Проверяем работу telnet, в командной строке выполняем:

gateway_ip_address - IP адрес шлюза в локальной сети. Пользователь: admin

xiaomi gateway telnet mode

В качестве бонуса получаем токен устройства.

Безопасность! Поскольку пароль на telnet не установлен, то необходимо позаботиться о том, чтобы доступ к устройству был ограничен не только из внешней сети, но и в локальной. Если есть возможность, то все устройства умного дома лучше всего вывести в отдельную подсеть с ограниченным доступом.

Подключение к Home Assistant

Если у вас еще не установлен HACS, то читаем статью Установка HACS в Home Assistant.

В Home Assistant переходим HACS -> Integration -> Меню -> Custom repositories .

home assistant add xiaomi gateway 3

В поле Add custom repository URL пишем AlexxIT/XiaomiGateway3 , в разделе Categoty выбираем Integration . При нажатии кнопки ADD будет найден компонент (возможно, что репозиторий уже будет добавлен).

xiaomi gateway 3 режим разработчика

В разделе HACS -> Integration находим и устанавливаем добавленный репозиторий, перезагружаем Home Assistant.

xiaomi gateway 3 install repository home assistant

Если по каким-то причинам установка компонента из HACS не возможна, то компонент можно установить вручную.

Скачиваем со страницы компонента на GitHub архив, из архива папку xiaomi_gateway3 со всем содержимым кладем в .homeassistant/custom_components , если ее нет, то необходимо создать. На момент написания статьи последним релизом компонента была версия v.0.11.0. Для Linux/Unix систем будет так:

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

Добавление интеграции Xiaomi Gateway 3 в Home Assistant

В Home Assistant переходим Configuration -> Integrations -> + Add integration , находим и добавляем интеграцию Xiaomi Gateway 3.

home assistanr add integration xiaomi gateway 3

Компонент поддерживает автоматическое получение токена устройства из учетной записи Xiaomi или токен можно ввести вручную. Выбираем второй вариант, а токен получаем, подключившись по telnet к шлюзу (показано выше).

home assistant xiaomi gateway 3 use token

Вводим IP адрес шлюза (не забываем в настройках DHCP сервера сделать статический адрес для шлюза, что бы шлюз всегда после перезагрузки получал постоянный адрес) и токен устройства.

После настройки интеграции в Home Assistant для шлюза будет доступно две настройки:

После установки блокировки обновления прошивки, при попытке обновления через программу Mi Home будет выполнена попытка обновления устройства, но процесс будет на стадии 0%.

Для подключения ZigBee устройств в Home Assistant достаточно включить режим Pair . Подключенное новое устройство появится как в Home Assistant, так и в Mi Home.

Найденные проблемы

Bluetooth датчик температуры и влажности (LYWSDCGQ/01ZM) не появился в Home Assistant, в программе Mi Home в разделе BLE устройств виден.

Новый хаб от Xiaomi с поддержкой технологий Zigbee 3, Bluetooth Mesh, HomeKit и его подключение к достаточно популярной системе умного дома — Home Assistant, интересует?




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

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

Здесь выходом будет хороший двухдиапазонный роутер. Весь умный дом можно повесить на диапазон 2.4 ГГц, а мультимедиа-устройства (смартфоны, ноутбуки, телевизоры, колонки) на 5 ГГц.

Устройства на Bluetooth новички выбирают так же охотно, ведь сегодня смартфоны есть почти у всех. Проблема в том, что дальность Bluetooth весьма ограничена. Уже из соседней комнаты вы не сможете посмотреть температуру на датчике или включить чайник или лампочку.

В таких случаях производители рекомендуют покупать BLE Gateway. Это устройство, которое будет посредником между Bluetooth и серверами производителя. Здесь уже далеко не все пользователи соглашаются на дополнительные траты и лишнюю железку в доме.

Некоторые производители встраивают возможности BLE Gateway в камеры и лампы, закрывая проблему лишних затрат и лишнего устройства в доме.

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

Дополнительную проблему составляет, что каждый такой Gateway поддерживает только дочерние устройства своего производителя. Купив устройства Philips Hue, IKEA, Sonoff, Xiaomi и Tuya, вы, скорее всего, должны будете докупить пять Gateway соответственно.

Эта технология заслуживает внимания по следующим причинам:

  • Беспроводные датчики довольно маленькие и в последнее время не такие и дорогие: 500 рублей за простейший датчик или кнопку — это реальность, Xiaomi и AliExpress сделали своё дело.
  • Беспроводные датчики могут продержаться на одной батарее несколько лет, без шуток — лет!
  • В количестве Zigbee устройств их сила: технология поддерживает Mesh, проводные устройства, скорее всего, будут ретрансляторами сигнала между Gateway и удалёнными датчиками, заодно снимая нагрузку с самого Gateway.
  • Технология поддерживает прямое управление в обход Gateway, можно связать кнопку и лампочку. В случае выхода Gateway из строя управление светом продолжит работать. Правда далеко не все кнопки это умеют.

Фирма Xiaomi сделала многое для продвижения технологии Zigbee в альтернативных системах умного дома. Их старенький Xiaomi Gateway 2 (DGNWG02LM, lumi.gateway.v3) имел на борту "режим разработчика", который открывал локальный протокол доступа к управлению Zigbee устройствами этого шлюза. Интеграции этого протокола есть в множестве open source систем.

В евро-версии этого шлюза Xiaomi Gateway EU (DGNWG05LM, lumi.gateway.mieu01), а также в обновлённой версии Xiaomi Gateway 3 (ZNDMWG03LM, lumi.gateway.mgl03) этого протокола нет.

Обновлённая версия шлюза получила новый чип на Zigbee 3 (EFR32MG1B), а также поддержку технологии Bluetooth Mesh и HomeKit. В HomeKit поддерживаются не все устройства, будьте внимательны.

В отличие от всех остальных шлюзов, обновлённая версия имеет уникальную особенность: на ней программно можно открыть Telnet-доступ. Доступ открывается только при наличии Mi Home токена, так что всё вполне секьюрно.

В этом шлюзе стоит чип серии EFR32 от фирмы Silicon Labs. Те в свою очередь поставляют вместе с чипом набор SDK. В составе SDK есть MQTT-транспорт, обеспечивающий доступ к Zigbee проколу из любого ПО, установленного как на шлюзе, так и за его пределами.

По умолчанию MQTT-брокер не доступен извне, но у нас ведь теперь есть Telnet!

В брокере есть два корневых топика: это "сырые" данные Zigbee и обработанные данные от Xiaomi. Я решил взять за основу обработанные данные. Там атрибуты устройств хоть и описаны псевдокодами, но в них всё же проще разобраться человеку, ничего не понимающему в Zigbee.

В итоге получился такой вот компонент для Home Assistant — XiaomiGateway3.

Он автоматически включает Telnet и публичный MQTT, используя токен Mi Home.

Сейчас токен нужно получать нехитрым образом (инструкция в readme). Но в будущем я планирую добавить получение токена с серверов Xiaomi, используя аккаунт Mi Home. Ведь недавно в сети появилась рабочая реализация авторизации в их облаке.

Сейчас компонент получает список устройств и последние значения их атрибутов с Хаба. Но в дальнейшем я планирую добавить получение списка устройств из облака. Там есть пользовательские названия всех устройств.

С этим пришлось повозиться. Работа с Bluetooth-устройствами не отражается в MQTT. Зато все данные отражаются в консоли. Поэтому компонент подключается к хабу через Telnet отдельным потоком, перезапускает утилиту работы с Bluetooth и читает её вывод в реальном времени. Это самый стабильный способ, что я нашёл. В syslog данные от этой утилиты попадают с перебоями. Моих знаний Linux не хватает, чтоб понять, почему так происходит.

Первым делом компонент научился поддерживать стандартный набор Bluetooth-устройств Xiaomi: датчики температуры, анализаторы почвы и освещенности, фумигатор.

А пару дней назад в нём появилась поддержка умных Bluetooth-замков. На сегодняшний день это единственный из известных мне способов подключить BLE-умный замок Xiaomi в альтернативную систему умного дома.

Чайника у меня нет, но присылайте логи — добавлю и его. Правда чайники Xiaomi не поддерживают функцию удалённого включения, это большой минус.

BLE-устройства и их атрибуты отображаются по мере поступления данных. Когда появится поддержка облака — полный список BLE устройств с их моделями, именами и последними посланными данными можно будет получить оттуда. Такая информация на хабе не хранится.

Поддержка Bluetooth Mesh ламп пока в разработке. Работа с ними сильно отличается от BLE-устройств.

Нужно отладить работу хаба со всем списком официально поддерживаемых Zigbee-устройств. Добавить возможность настройки "тонких" параметров:

  • настройки хаба: например, мощность (и её можно сильно увеличить!),
  • изменение настроек дочерних устройств: режим логических кнопок на выключателях, чувствительность датчика вибрации и многое другое.

Нужно добавить поддержку облака для получения токена хаба и полного списка Zigbee и Bluetooth-устройств.

Нужно добавить поддержку Bluetooth Mesh ламп.

И самое главное — добавить поддержку устройств других производителей. Да, это возможно. Мне удалось подключить все сторонние устройства, что у меня были, и управлять ими. Такие устройства не отображаются в Mi Home и HomeKit. Но управлять ими можно с помощью "сырых" Zigbee-команд.

Для понимания полного масштаба проблемы такой поддержки загляните в исходники замечательного проекта zigbee2mqtt: devices, fromZigbee, toZigbee.

Почти каждое устройство требует свой собственный обработчик. В случае с Xiaomi Gateway 3 и официально поддерживаемыми устройствами — роль такого обработчика выполняет софт хаба.

Другие мои разработки можно найти на GitHub. Среди русскоговорящей аудитории наиболее популярный проект — YandexStation. Глобально очень хорошо себя зарекомендовал SonoffLAN. Но, думаю, XiaomiGateway3 его легко обгонит. За развитием этого и других моих проектов можно следить на моём канале Telegram.

В этом обзоре я расскажу про обновление в системе умного дома Xiaomi — Zigbee шлюз третьей версии. Посмотрим на него и на его возможности в приложении. Забегая вперед скажу — что для тех кто выбрал путь альтернативных систем управления, покупка этого гаджета не имеет никакого смысла, он интересен только тем, кому достаточно штатных возможностей mihome.

Содержание

Где купить ?

    — цена на момент написания обзора $ 26,99 — цена на момент написания обзора $ 26,99 — цена на момент написания обзора $ 22,88 — цена на момент написания обзора 2690 руб

Параметры

  • Модель: ZNDMWG03LM
  • Интерфейсы: Wi-Fi 2,4 Ггц, Zigbee 3.0 и Bluetooth Mesh 5.0
  • Питание — micro USB
  • Заявленная дальность действия — 200 метров
  • Диапазон рабочих температур -5 +50 С, влажность 0-95%
  • Размер — 90 x 25 мм

Поставка

Поставляется новинка в классической для экосистемы белой коробке, на которой изображен сам шлюз и указана совместимость с экосистемой mijia и apple homekit


Перейдем к содержимому — упаковано все плотно, внутри коробки имеется дополнительный защитный слой.


В комплект, кроме шлюза, идет кабель питания USB — micro USB и блок питания с плоской американской вилкой. Он рассчитан на максимальную мощность 5 Ватт, но можно использовать любой источник питания с USB портом, что значительно удобнее чем во второй версии шлюза

Внешний вид

Шлюз имеет круглую форму, корпус сделан из матового пластика, на передней панели — универсальная кнопка. LED подсветку в третьей версии убрали, как и радио


На противоположной стороне — находится стандартный micro USB разъем питания, так что подключать можно даже к powerbank


На нижней части — по кругу, резиновая противоскользящая насадка, тут же указана модель устройства и интерфейсы — wi-fi, zigbee, bluetooth


Сравнительно с вторым шлюзом — диаметр новинки немного больше, ввиду отсутствия радио — верхняя крышка монолитная


Мое мнение, что питание micro USB на новом шлюзе организовано удобнее, — для старого нужна отдельная розетка, переходник, да и еще он частенько перекрывал соседние розетки.


Толщина второй версии больше, но у нее по окружности расположен светодиодный ночник


Подключим шлюз к источнику питания и посмотрим что же он умеет


Mihome

Процесс подключения стандартный и привычный. После включения — гаджет активирует свою вай фай сеть, приложение видит ее и по названию определяет тип устройства. Запускается мастер подключения, в котором указываем параметры своей сети и ждем

После того как устройство подключится к сети — проходим три финальных шага, выбор локации, имени устройства и при необходимости доступ для других аккаунтов.

Теперь новое устройство появилось в общем списке устройств. Плагин — своеобразный, на предшественника не похож. Большую часть окна занимает что-то вроде радара, ниже идут опции настроек сигнализации, лог срабатываний и меню добавления zigbee устройств.

В отличии от второй версии, новинка поддерживает 4 режима сигнализации — Basic — это круглосуточный неотключаемый режим, он предназначен для датчиков утечки воды, дыма, газа. Остальные режимы — индивидуально настраиваемые — режим Дома, Вне дома

И режим — сон, имеется в виду ночной режим работы. Журнал сработки будет содержать список событий сигнализации, и меню добавления zigbee датчиков — позволит добавлять все датчики mijia и aqara

Перечень поддерживаемых устройств занимает три экрана, — у меня установлен регион Китай. Не хватает только специальных версий предназначенных для европейского рынка, например розетки с Schuko разъемом

Настройка

Рассмотрим меню основных настроек. На момент создания обзора актуальная версия прошивки имела номер 1.4.5_0005

Как я уже сказал каждый из четырех режимов сигнализации имеет собственные настройки, у режима Basic — их две, громкость сигнала, от самой громкой до бесшумной.

Вторая настройка — это длительность сигнала, постоянный или на протяжении заданного интервала времени. В трех остальных режимах имеется дополнительная настройка — это задержка до включения сигнализации.

В режиме Bluetooth шлюза — никаких настроек делать не надо, он сам подтягивает устройства в радиусе действия, так-же заявлена поддержка mesh — например для светильников Yeelight. В автоматизациях шлюз имеет один вариант условия — тревога, и 6 вариантов действий — включение выключение режимов сигнализации кроме Basic

Zigbee

Все режимы сигнализации могут работать только с напрямую подключенными к шлюзу датчиками. Добавлять zigbee устройства можно двумя методами — через приложение, нажав на + в меню добавления устройств и следуя указаниям мастера подключения

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


Добавленный датчик — на примере кнопка, появится во всех режимах сигнализации и может быть выбрана для одного из них в качестве устройства — триггера. Изменение статуса датчика будет условием для сработки сигнализации

Проверить связь с шлюзом можно коротким нажатием на кнопку сопряжения датчика, шлюз пискнет подтверждая наличие соединения — см в видео версии обзора

При наличии подключенного датчика — режим сигнализации может быть включен и сработает если датчик изменит свой статус. Это отобразится в виде пуш уведомления на смартфоне и останется в журнале тревог

Работа сигнализации показана в видео версии.

Отключение писка сигнализации — однократным нажатием на кнопку шлюза.

Отключение режима постановки на охрану — двойное нажатие на кнопку шлюза.

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


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

Видео версия

Итак, в первом приближении мы выяснили основные отличия от предыдущей версии:

Физически это более удобное питание через micro USB, но при этом отсутствие радио, и ночника.

Программно — это намного больший список поддерживаемых устройств, целых четыре варианта сигнализаций, что весьма удобно и это плюс, но все перечеркивает жирный минус — отсутствие режима разработчика. Шлюз может работать только в mihome, правда существует возможность пробросить в Apple Home Kit. К покупке рассмотреть можно только пользователям, которым достаточно этого, штатного функционала.


Датчики умного дома без шлюза никуда. Поэтому сегодня мы расскажем, как подключить 3-ю версию хаба Сяоми к вашему смартфону. Если вы пропустили обзор гаджета, читайте здесь.

Для подключения и работы со шлюзом Gateway 3 вам потребуется фирменное приложение Mi Home.



После первого запуска приложения необходимо пройти стандартную процедуру регистрации или авторизации. Шлюз 3-го поколения работает на любом регионе, поэтому при выборе ориентируйтесь на другие элементы умного дома, которые у вас есть или вскоре появятся. Попав в главное меню приложения, необходимо нажать на «+» для подключения нового устройства.



Mi Smart Home Hub Gateway 3 может автоматически определиться в верхней части приложения. Иначе перейдите в пункт «Бытовая безопасность» и выберите его вручную.



Затем сбросьте настройки хаба зажатием функциональной клавиши на 10–15 секунд. Мигающий оранжевый индикатор будет свидетельствовать о готовности к подключению. Установите галочку об успешном сбросе и нажмите клавишу «Далее».



Выберите точку доступа Wi-Fi, к которой будет подключен шлюз.



Несколько секунд на подключение.





Задайте имя новому другу.



Осталось дождаться финального сопряжения, после чего устройство будет готово к дальнейшей настройке и работе.

Читайте также: