Xiaomi gateway 3 какие устройства можно подключить
Перейти к содержимому

Xiaomi gateway 3 какие устройства можно подключить

  • автор:

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

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

Следуем указаниям из следующего сообщения, подключаем шлюз к USB2TTL по схеме:

USB-to-TTL Xiaomi Gateway 3
GND GND
RX TX
TX RX

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

Закрываем информационное окно, подаем штатное питание на шлюз от micro-USB провода. Появится сообщение о необходимости выбрать файл rtkboot_xxxxxx.bin , закрываем кнопкой OK и выбираем скачанный ранее файл.

xiaomi gateway 3 telnet home assistant

После загрузки файла появится сообщение о необходимости выбора файла прошивки mgl03_xxxxx.uart , закрываем кнопкой OK и выбираем скачанный ранее файл. Ждем пока загрузится прошивка, это займет некоторое время.

xiaomi gateway 3 load custom firmware

По окончании прошивки появится сообщение об успешном завершении и необходимости перезагрузки шлюза, жмем OK , шлюз перезагрузится сам.

xiaomi gateway 3 flash custom firmware

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

xiaomi gateway 3 firmware home assistant

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

telnet gateway_ip_address

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

xiaomi gateway telnet mode

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

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

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

Вариант #1. Установка из HACS.

Если у вас еще не установлен 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

Вариант #2. Ручная установка компонента.

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

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

$ sudo mkdir -p /home/homeassistant/.homeassistant/custom_components/ $ sudo wget https://github.com/AlexxIT/XiaomiGateway3/archive/v0.11.0.zip $ sudo unzip v0.11.0.zip $ sudo cp -R XiaomiGateway3-0.11.0/custom_components/xiaomi_gateway3/ /home/homeassistant/.homeassistant/custom_components/ $ sudo chown -R homeassistant:homeassistant /home/homeassistant/.homeassistant/custom_components/xiaomi_gateway3/

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

$ sudo rm -R XiaomiGateway3-0.11.0/ $ sudo rm -R v0.11.0.zip
Добавление интеграции 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 для шлюза будет доступно две настройки:

  • Блокировка установки новых обновлений
  • Перевод в режим подключения новых ZigBee устройств

xiaomi gateway 3 integration with home assistant

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

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

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

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

Обновление прошивки устройства

Если прошить устройство через MiHome, то с вероятностью 146% доступ к telnet будет закрыт, но сообщество позаботилось и предлагает возможность прошить устройство альтернативным методом.

Обновление прошивки проходит достаточно просто. Подключаемся к устройству по telnet, пользователь admin , пароль отсутствует. В консоли вводим:

wget -O /tmp/curl "http://master.dl.sourceforge.net/project/mgl03/bin/curl?viasf=1" && chmod +x /tmp/curl export PATH="$PATH:/tmp" curl -s -k -L -o /tmp/update.sh https://raw.githubusercontent.com/zvldz/mgl03_fw/main/firmware/mgl03_update.sh && sh /tmp/update.sh

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

xiaomi gateway 3 firmware update via telnet

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

Файлы для скачивания

Рекомендованный загрузчик rtkboot_115200 — Формирование ссылки.

Файл прошивки mgl03_1.4.6_0012_mod20201223 — Формирование ссылки.

Файл mgl03_uart_recovery — Формирование ссылки.

Программа Tera Term для Windows — Формирование ссылки.

Плюсы интеграции Xiaomi Gateway 3 в Home Assistant

Первая версия компонента XiaomiGateway3 для Home Assistant вышла 4 месяца назад, и с тех пор много всего изменилось. В прошлой статье я писал про создание компонента. А в этой статье расскажу, почему это решение так заинтересовало сотни пользователей.

Прошивка шлюза

Эта модель шлюза действительно получилась очень удачной. Иначе как можно объяснить, что компания Xiaomi уже два раза успела обновить прошивку шлюза на своих заводах. Это единственная модель шлюза, у которой прошивка теперь обновляется настолько оперативно на производстве.

В сентябре вышла первая версия компонента. В октябре, после долгих задержек, покупателям начали приходить шлюзы уже с новой прошивкой. В ней Telnet был закрыт паролем. В ноябре прошивка на заводах снова обновилась, и Telnet в ней совсем пропал. Определить проблемный шлюз можно по дате производства на коробке — 2020.10 и выше.

В миг шлюз превратился из простого Plug and Play устройства в устройство, которое нужно обязательно вскрыть и прошить для интеграции в альтернативные системы умного дома.

Но шлюз хорош не только своим современным Zigbee-чипом и наличием чипа Bluetooth. Выбранный компанией-производителем SoC от Realtek позволяет в любой момент записать на шлюз любую прошивку, подключив всего три провода UART.

Если вы не любите паять, можно воспользоваться специальной прищепкой с контактами. Есть даже удачные примеры прошивки с бельевой прищепкой. Главное помнить, что обрыв контактов во время прошивки или UART на 5 В вместо 3.3 В вполне могут спалить микросхемы шлюза.

В развитии этого хаба участвует довольно много крутых людей. @serrj-sv собрал скрипт под Windows, который может прошить шлюз в полуавтоматическом режиме. А @zvldz собрал альтернативную версию прошивки, которая на 99% соответствует оригинальной. В ней поправлено недоразумение с закрытым Telnet и ещё пара мелочей. По особенностям прошивки и другим вопросам можно писать в этот чат Telegram.

Все полезные ссылки можно найти в вики проекта.

Поддержка Mi Home

Многие гики не любят облака и стараются с ними не связываться. Идеология облаков нарушает и главный девиз Home Assistant: конфиденциальность — прежде всего (privacy first).

С другой стороны, если при данном подходе сохраняется полноценное локальное управление (local control, вторая часть девиза Home Assistant), то ничего страшного в облаках нет.

Экосистемы производителей добавляют устройствам больше свободы и возможностей управления, включая внешний доступ «из коробки» и прямое подключение к популярным голосовым ассистентам вроде Яндекс.Алисы и Google Assistant.

Также с этим подходом новые пользователи могут плавно осваивать Open Source системы умного дома: если что-то не получается, можно легко продолжить пользоваться устройством в экосистеме производителя.

Да, где-то на китайском сервере будет хранится информация, включен ли у вас в туалете свет. Так ли много на вас компромата у лампочки? Особенно если сравнивать с данными в вашем браузере или смартфоне. А полный доступ к прошивке шлюза позволяет пытливому уму легко отследить, какая именно информация отправляется «на родину».

Поддержка Zigbee устройств Xiaomi

  • все популярные устройства: выключатели, кнопки, розетки, реле, лампочки, датчики движения, температуры, открытия, протечки, вибрации, газа, дыма, шторы и замки;
  • редкие устройства вроде термостата Aqara Thermostat S2 (KTWKQ03ES) — такой термостат пока не поддерживается даже в zigbee2mqtt;
  • самые свежие устройства вроде новых: реле Aqara Relay T1 и высокоточный датчик присутствия Aqara Hight Precision Motion Sensor (RTCGQ13LM).

Альтернатива: разнообразные DIY и коммерческие Zigbee-стики и DIY-хабы. Вот довольно большое русскоязычное сообщество в Telegram, где могут ответить на ваши вопросы по поводу Zigbee.

Поддержка BLE-датчиков Xiaomi

  • все популярные датчики: разнообразные датчики температуры с экраном, датчик ухода за растениями, фумигатор, ночник и умный кубик Рубика;
  • редкие устройства вроде сейфа Xiaomi Safe Box (BGX-5/X1-3001) — да, есть и такое устройство;
  • самые свежие датчики вроде новых датчиков двери, протечки и движения на технологии BLE;
  • различные дверные замки экосистемы Xiaomi.

Компонент не поддерживает не BLE устройства вроде чайника и самоката Xiaomi.

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

Поддержка Bluetooth Mesh-ламп

Компонент поддерживает новые Mesh-лампы экосистемы Xiaomi под брендами MiJia и Yeelight. И один китайский пользователь уже второй месяц пытается добавить поддержку Mesh-выключателей. А я никак не найду время рассмотреть его pull request.

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

Альтернатива: на ум приходит только новый хаб Yeelight и подключение его к Home Assistant через протокол HomeKit. Open Source проекты с поддержкой Mesh-ламп я не встречал.

Поддержка Zigbee Home Automation

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

Я добавил в него режим, в котором Home Assistant напрямую подключается к Zigbee-чипу хаба через интеграцию Zigbee Home Automation.

Конечно, у подхода есть минусы:

  • Zigbee-чип перестаёт работать с Mi Home и начинает работать только с Home Assistant;
  • по количеству поддерживаемых устройств ZHA сильно уступает проекту zigbee2mqtt.

Но есть и плюсы:

  • в Китае не узнают, включен ли у вас в туалете свет;
  • в любой момент можно вернуть хаб в обычный режим работы c Mi Home без последствий для родной прошивки хаба;
  • BLE-датчики и Mesh-лампы продолжают работать в этом режиме;
  • команда Home Assistant активно развивает проект ZHA в рамках своей основной работы.

Альтернатива: шлюз Sonoff ZBBridge, прошитый Tasmota.

Поддержка сторонних устройств в Mi Home

В некоторых случаях для поддержки сторонних Zigbee-устройств режим ZHA включать не обязательно.

Изучая проблему, почему лампы IKEA E27 из российских магазинов не подключаются к хабам Xiaomi, я пришел к выводу, что в хабах зашита поддержка лишь семи моделей ламп, хотя проект zigbee2mqtt поддерживает более 30 моделей ИКЕА.

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

И самое интересное в данном способе то, что устройства работают и управляются в Mi Home без участия Home Assistant. И могут участвовать в автоматизациях.

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

Интеграция с облаком

Компонент поддерживает опциональную интеграцию с облаком. При этом компонентом можно пользоваться и без интеграции с облаком, просто добавив шлюз по IP-адресу и токену Mi Home.

Но если вы авторизуетесь в облаке Xiaomi, все данные о шлюзе загрузятся автоматически. Кроме адреса и токена шлюза из облака загрузятся все имена ваших Zigbee, BLE и Mesh-устройств. Вам не придётся снова заполнять их в Home Assistant, выясняя, что за устройство скрывается за именем 0x00158D0007396A5D.

Получение токенов любых Xiaomi устройств

Помимо получения данных о шлюзе и его устройствах — облачная интеграция позволяет получить Mi Home токены от любых Wi-Fi устройств в вашем аккаунте. Если ваш аккаунт использует одновременно разные сервера (например, европейский и китайский), это тоже поддерживается.

Функция получения токенов работает даже если у вас нет шлюза Xiaomi Gateway 3.

Расширенные настройки устройств

Один из самых популярных Zigbee-датчиков в экосистеме Xiaomi это датчик движения. Ранее я пользовался “вторым шлюзом” Xiaomi и писал автоматизации для этого датчика в Node-RED.

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

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

Логика работы показана на картинке

Мониторинг работы устройств

Радиосвязь всегда менее надёжнее провода. Сигнал от датчика может по разным причинам “не дойти” в центр. Zigbee и Bluetooth работают на той же частоте, что Wi-Fi и микроволновки.

Для обнаружения возможных проблем в компоненте есть опциональная статистика по каждому Zigbee и BLE устройству.

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

Хотя многие привыкли судить о стабильности в сети именно по качеству сигнала, на мой взгляд именно количество пропущенных сообщений является наиболее показательной величиной.

Именно этот показатель помог мне выпустить две заплатки и уменьшить количество пропусков срабатывания у популярного датчика движения Aqara Motion Sensor. Одна заплатка попала в компонент Home Assistant, а вторая в проект zigbee2mqtt.

Перспективы развития

За четыре месяца компонент оброс огромным количеством функционала и успел получить более 400 звёзд на GitHub. Но мысли по дальнейшему развитию и не думают кончаться.

Ещё остаётся добавить корректную работу с Bluetooth-устройствами при использовании нескольких хабов на одном сервере Home Assistant. Дело в том, что BLE датчики и Mesh-лампы не привязаны к какому-либо одному хабу. Все хабы могут получать данные с окружающих сенсоров и управлять окружающими лампами. Кстати огромный плюс в сравнении с технологией Zigbee.

Так же в планах добавить настройку параметров дочерних устройств — режим interlock в реле Aqara (переключатель пропал в последних версиях приложения Mi Home), чувствительность и задержки между срабатываниями нового датчика присутствия Aqara и многие другие.

Отдельным направление развития остаётся поддержка конвертеров проекта zigbee2mqtt. Если его удастся довести до релиза, пользователь сможет выбрать, как именно подключать имеющиеся у него устройства:

  • оригинальное ПО Xiaomi — готово
  • интеграция Zigbee Home Automation — готово
  • конвертеры zigbee2mqtt — есть рабочий прототип

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

На моём GitHub можно найти ссылки на другие компоненты и статьи. А за их развитием можно следить на моём канале в Telegram.

�� Обзор шлюза умного дома Xiaomi Mi Smart Home Hub Gateway 3

Шлюз — это элемент умного дома, предназначенный для подключения и поддержки связи датчиков и устройств, работающих по протоколу ZigBee. Сегодня у нас на обзоре 3-я версия шлюза от компании Xiaomi.

Розыгрыш 5 подарков 28.02 - 13.03

Mi Smart Home Hub 3 поставляется в небольшой картонной коробке белого цвета. Комплект глобальной версии довольно скромный: шлюз, кабель питания и руководство пользователя.

Xiaomi Mi Smart Home Hub Gateway 3

Шлюз Сяоми выполнен из матового пластика и имеет форму шайбы. В отличие от предыдущих моделей со встроенной вилкой питания новый хаб можно разместить в любом удобном месте. Для питания используется порт Micro-USB, а для стабильной работы будет достаточно 5В/1А.

Xiaomi Mi Smart Home Hub Gateway 3

На верхней части устройства расположился логотип и световой индикатор. На нижней — некоторые характеристики и QR-код для подключения к Apple HomeKit. По ободку расположились порт Micro-USB и единственная функциональная клавиша.

Xiaomi Mi Smart Home Hub Gateway 3

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

Xiaomi Mi Smart Home Hub Gateway 3

Кроме того, многие могли заметить отсутствие LED-подсветки и перфорации под динамик, которые присущи предыдущим моделям. Да, ни того, ни другого действительно нет, но Xiaomi Mi Smart Home Hub Gateway 3 оснащен небольшим зуммером, способным издавать громкий и не самый приятный звук при срабатывании сигнализации.

Xiaomi Mi Smart Home Hub Gateway 3

Gateway 3 стал первый хабом Xiaomi, который поддерживает 3 протокола беспроводного подключения: ZigBee 3.0, Bluetooth 5.0 и Wi-Fi 2,4 ГГц. Последний используется для доступа к всемирной паутине, а остальные — для подключения датчиков и устройств.

Xiaomi Mi Smart Home Hub Gateway 3

Подключение устройства стандартное. Приложение Mi Home, абсолютно любой регион, пара кликов — и все готово. С более подробной инструкцией можно ознакомиться по данной ссылке. Половину основного экрана плагина занимает картинка с радаром, а остальное пространство предназначено для настройки и активации охранных режимов, подключения устройств с протоколом ZigBee и журнала событий.

Предлагается 4 охранных режима. Основной работает на постоянной основе и контролирует важные датчики, такие как датчик дыма, углекислого газа и протечки воды, при их наличии. В остальных режимах вы можете настроить интересующие вас сценарии более детально.

Mi Smart Home Hub Gateway 3 поддерживает большое количество ZigBee-устройств. Максимальное количество подключаемых единиц составляет 32.

Наличие Bluetooth-модуля делает 3-ю версию шлюза универсальной и позволяет подключить не только основные датчики, но и вспомогательные, например, датчик температуры и влажности. Для добавления достаточно перейти в «Настройки» и нажать на пункт «Bluetooth Mesh-шлюз». Хаб просканирует доступные к подключению устройства и автоматически синхронизируется с ними.

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

При подключении шлюза в приложении Mi Home c гаджета компании Apple в «Настройках» появляется дополнительный пункт, позволяющий произвести сопряжение с HomeKit. Вместе со шлюзом перенесутся и все датчики, подключенные к нему.

Итоги

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

Автор: Андрей Калиновский

Подключаем новый Xiaomi Gateway 3 к Home Assistant без паяльника и смс

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

Введение

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

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

Wi-Fi

Чаще всего новички выбирают устройства на технологии Wi-Fi. Ведь Wi-Fi роутер сегодня есть у всех. Умным устройством можно пользоваться сразу после покупки. Но тут есть нюанс: в количестве устройств слабость Wi-Fi. Роутеры от провайдеров в большинстве своём тот ещё хлам, способный справиться с 1-2 десятками устройств. И пять новых умных лампочек могут быть проблемой для всей сети.

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

Bluetooth

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

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

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

Zigbee

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

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

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

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

Xiaomi

Фирма 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 поддерживаются не все устройства, будьте внимательны.

Xiaomi Gateway 3

В отличие от всех остальных шлюзов, обновлённая версия имеет уникальную особенность: на ней программно можно открыть 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. Ведь недавно в сети появилась рабочая реализация авторизации в их облаке.

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

BLE Gateway

С этим пришлось повозиться. Работа с 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.

  • Разработка для интернета вещей
  • Гаджеты
  • Умный дом

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *