Интеграция из этой статьи будет работать как минимум с этими устройствами:
Xiaomi gateway 3: https://alii.pub/76s2w3?erid=2SDnjcd3Bvm
Mi Smart home hub 2: https://alii.pub/76s2xn?erid=2SDnjdEcth3
Aqara E1 (но только для ZIgbee): https://alii.pub/76s31j?erid=2SDnjc4RoD7
Наверное все уже знают, что xiaomi с их экосистемой умного дома xiaomi home (он же mihome бывший) выпускает устройства работающие как по wifi – но тут никого не удивить. А вот от протокола zigbee они отказываются и переходят все больше и больше на протокол Bluetooth.
Он у них называется Bluetooth mesh – якобы блютуз устройства друг из друга создают mesh сеть и все это хорошо работает.
Так-же xiaomi всегда были иноваторами в тебе умного дома и выпускали передовые устройства. А потом уже другие производители их догоняли.
Вот и сейчас у Xiaomi есть всякие датчики дождя Linptech RS1: https://alii.pub/76s3qm?erid=2SDnjeSLKpq Датчики сидения: https://alii.pub/76s3sk?erid=2SDnjcRDe3X Датчики движения и присутствия: https://alii.pub/76s3up?erid=2SDnjdHdDdF Выключатель с экраном: https://alii.pub/76s41p?erid=2SDnjd5merR работающие по протоколу Bluetooth и аналогов попросту нет.
Чтоб эти Bluetooth устройства напрямую в Home Assistant добавить через bluetooth встроенный в сервер или usb свисток – надо прям сильно постараться. Потому что эти устройства имеют ключ шифрования, с которым не под каждые устройства научились работать. И грубо говоря, большинство устройств Bluetooth от умного дома xiaomi home (mihome) не работают с Home Assistant.
Но вот существует интеграция для HACS, которая так и называется Xiaomi gateway 3: https://github.com/AlexxIT/XiaomiGateway3
Эта интеграция “дружит” вместе xiaomi gateway 3 (с всеми устройствами подключенными к этому шлюзу) и home assistant вместе. Причем при такой дружбе устройства продолжают работать в xiaomi home (mihome) и так-же начинают работать в Home Assistant.
Это что касается Bluetooth. Но в этом шлюзе же есть еще Zigbee – который при наличии Home Assistant с zigbee2mqtt установленным – довольно бесполезный.
Zigbee координатор в этом шлюзе на базе чипа EFR32MG21 с прошивкой ezsp – и он отлично добавляется в zigbee2mqtt как сетевой координатор. И при таком использовании zigbee – с устройствами bluetooth ничего не ломается – все работает как и раньше.
Установка интеграции Xiaomi Gateway 3:
На страничке проекта все по сути расписано и переписывать там все было бы не правильно, по этому я Вам опишу мой путь установки этой интеграции и подготовки шлюза, для подключения к Home Assistnat.
Устанавливается интеграция через HACS. Просто в HACS ищите по поиску xiaomi gateway 3 и устанавливаете её.
После установки и перезагрузки Home Assistant. Идём в Настройки -> Интеграции и добавляем эту самую интеграцию
И выбираем первый пункт:
После чего у нас запросит Логин, пароль и регион от умного дома Mihome (xiaomi home).
Ну и наш аккаунт добавляется в Home Assistant. И если теперь зайти в эту интеграцию, и напротив добавленной учетной записи щелкнуть на “Настройки”, то нам выдаст все устройства из xiaomi home (mihome) – причем у каждого устройства может увидеть ip адрес и token – который часто требуется для добавления различных устройств bluetooth xiaomi.
Но обратите внимание на пункт у шлюза – Telnet: no_key
Вот это поле важное для добавление шлюза в Home assistant. Дело в том, что Home Assistant со шлюзом общается по telnet. А чтоб общаться по телнет, нужен ключ доступа (назовём его так). И вот если у в Шлюзе не последняя версия прошивки, а например 1.5.4 – то все у Вас тут определится и добавится нормально. А вот моя прошивка последняя в шлюзе оказалась 1.5.6_0001. И с этой прошивкой есть проблема.
В этой прошивке telnet по умолчанию в шлюзе закрыт и так просто по телнету не подключиться к шлюзу. А это необходимо сделать.
Решение проблемы есть, но без пайки не обойтись.
Разблокирование Telnet на шлюзе Xiaomi gateway 3:
Для начала нужно разобрать шлюз. Корпус весь на защелках, по этому надо сбоку подлезть к крышке и отщелкнуть её везде:
Открыв крышку, мы добираемся до внутренностей, но нужно плату еще открутить и добраться до обратной стороны:
И вот тут с обратной стороны нужно площадку найти с контактами uart. Все контакты тут не подписаны и вот прикладываю фото с подписью контактов:
Стрелочкой выделил контакты к которым надо подключаться.
Тут 4 контакта, но нужно подключаться только к трём rx,tx и GND. Питание само нужно подавать прям по microusb на сам шлюз отдельно.
Ну и помним же да? что пины rx и tx на uart интерфейсых всегда подключаются к usb/ttl программатору крест на крест. rx к tx, а tx к rx.
Да, к этим контактам подключаем usb/ttl переходник. Причем он должен быть с 3.3 вольтовой логикой. 5тью вольтами можете спалить платку.
Я подключился специальной прищепкой напечатанной на 3D принтере, чтоб не паяться:
Далее идём на компьютер. Там нам нужно скачать программу Tera Term: https://github.com/TeraTermProject/teraterm/releases
С помощью её и будет узнавать этот самый ключ для подключения по telnet.
Ну а этому терминалу нужно сделать специальный макрос https://raw.githubusercontent.com/serrj-sv/lumi.gateway.mgl03/main/uart_recovery/mgl03_uart_recovery.ttl
Копируем отсюда содержимое и вставляем в текстовый файлик. А сам текстовый файлик обзываем mgl03_uart_recovery.ttl – расширение txt надо убрать, чтоб осталось расширение ttl.
В общем запускаем Tera Term, идём в управление -> макросы и выбираем макрос mgl03_uart_recovery.ttl .
После чего скрипт нас попросит включить шлюз xiaomi gateway 3. Включаем его, а если уже был включен, то перегружаем его.
После перезагрузки побегут всякие надписи и нужно дождаться надписи launch finished – которая просигнализирует что шлюз загрузился:
После этого нужно терминал немного вверх проскролить и там мы увидим тот самый драгоценный key который нужен для подключения к home assistant.
Копируем его и сохраняем где-то, чтоб в следующий раз снова его так не запоминать.
Донастройка Home Assistant:
Далее идём в Home Assitant, идём в Настройки-> интеграции и снова добавляем интеграцию Xiaomi gateway 3, но на этот раз она нам покажет шлюз который можно добавить. Выбираем его.
Выбираем, на следующей странице далее вписываем токен, который раньше могли найти в интеграции xiaomi gateway 3. И вводим ключ. После чего нажимаем подтвердить.
Ну и при подтверждении, все устройства которые были в шлюзе, прокидываются в home Assistant. И новые устрйоства так-же будут потом прокидываться.
Сам же шлюз как устройство тоже имеет некоторые функции для управления которые выглядят так:
Отсюда можно шлюз на охрану поставить и есть еще пункт “Диагностика” где можно выбрать разные команды. Например можно обновить zigbee координатор внутренний прям из этой панели. Вот давайте теперь к нему и приступим.
Добавление Zigbee координатора от Xiaomi Gateway 3 в Zigbee2mqtt:
Добавляется координатор очень легко. Достаточно знать ip адрес шлюза.
Идём в Zigbee2mqtt, переходим в конфигурацию и в блоке Serial вписываем вот так:
serial: port: tcp://{gatewayIP}:8888 adapter: ezsp
Где у меня 192.168.31.85 это ip адрес шлюза.
ну и все, запускаем zigbee2mqtt и он работать начинает и можно добавлять устройства.
Вывод:
В этой статье описал свой путь по добавлению xiaomi gateway 3. Спасибо огромное AlexxIT за чудесные интеграции.
Меня вообще поразили возможности этого шлюза в Home Assistant и я прям жалею, что раньше так его не добавил (пол года где-то лежал и ждал своего часа он).
Крайне рекомендую всем такую манипуляцию произвести – это существенно увеличит количество поддерживаемых устройств Вашим экземпляром Home Assistant.