Подключаем новый 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.
ClearGrass bluetooth шлюз
В системе умного дома растет количество устройств, которые подключаются по Bluetooth протоколу. И для участия их в сценариях автоматизации и удаленного управления требуется наличие специального шлюза. Я уже писал ранее про устройства, в которых эта функция встроена, но не каждому хочется доплачивать за ненужный функционал. Поэтому Сяоми выпустили отдельный шлюз, имеющий самую низкую цену — ClearGrass Bluetooth Gateway:
Давайте посмотрим, чем он нас может порадовать.
Содержание статьи:
Внешний вид и комплект поставки
Это одно из самых маленьких устройств в системе, поставляется в коробке размером 67 мм x 43 мм x 34 мм и весом 54 грамма.
В комплект поставки входит сам шлюз и инструкция. Устройство для китайского рынка, поэтому все надписи на китайском языке.
Про размеры самого устройства, габариты корпуса 62 мм x 42 мм x 31 мм, а вес 46 грамм. В сравнении со спичечным коробком:
Внешний вид похож на адаптер зарядки для телефона. Корпус выполнен из привычного матово-белого пластика, с ребристой фактурой. Вилка типа А, значит для наших евро розеток потребуется переходник, если же вы купили универсальный удлинитель, то проблем с этим не будет.
Или же обычный удлинитель с использованием такого переходника:
Небольшой список параметров указан на нижней части корпуса:
Давайте более детально на них посмотрим.
Характеристики ClearGrass CGSPR1
Что указал производитель на коробке устройства:
Представлю их в виде текстовой таблицы:
Производитель | ClearGrass |
Модель | CGSPR1 |
Рабочая температура | от -1 0℃ до 40℃ при отн. влажности 0-90% |
Питание | 100—240V, 50Hz / 60Hz, 0.2A |
Модули связи | Wi-Fi IEEE 802.11 b/g/n 2.4 GHz, Bluetooth 4.2 |
Габариты (корпус) | 62.16 мм x 42 мм x 31.5 мм |
Вес | 46 гр. |
Разбирать устройство не хочется, да и производитель сделал рендер:
При помощи розетки замерил энергопотребление, в обычном состоянии потребляет около 0,5 ватт-час, т.е. 1 кВт·ч уйдет примерно за 3 месяца.
Разнице в радиусе действия я не заметил, в сравнении с другими шлюзами показывает один уровень сигнала.
Функциональные возможности
В этом пункте все скромно, Gaateway выступает мостиком между Bluetooth и Wi-Fi, обеспечивая датчикам доступ в интернет. Схематично можно представить это так:
Давайте добавим шлюз в систему Умного дома.
Подключение в Mi Home
Подключение в Mi Home не отличается от других гаджетов. Вставляем устройство в розетку, нажимаем кнопку подключения в приложении, gateway находится автоматически. Если подключаете не в первый раз, устройство находим в разделе «Шлюз», а для сброса необходимо зажать кнопку на корпусе устройства (пока не начнет мигать оранжевый индикатор). Нажимаем Далее и ждем выполнение сопряжения.
Проблем возникнуть не должно. Если вдруг не находите устройство в списке — меняем регион в приложении на Китай. Если в процессе подключения выходит ошибка — проверяем настройки Wi-Fi, он должен работать по сети 2.4 GHz, а в названии и пароле не должно быть спец символов.
Вот так выглядит плагин устройства:
Никаких элементов управления в нем нет, а в дополнительных настройках только стандартные параметры. Нам сразу предлагают обновить прошивку:
Устройства к шлюзу подключаются автоматически, иногда надо немного подождать:
Если возник вопрос, почему часы видят 3 устройства, в этот список входят bluetooth mesh лампочки Yeelight, шлюз из обзора не поддерживает данную технологию.
В сценариях автоматизации он участвовать не может, первый раз такое встречаю. Но с другой стороны, что он там может сделать?
В инструкции указана поддержка приложения ClearGrass Air, но найти его в списке подключения я не смог, видимо еще не добавили. В умном доме Яндекса и HomeKit его так же не видно.