Модуль Xiaomi miIO
Описание
Модуль предназначен для интеграции Wi-Fi устройств из экосистемы Xiaomi Mihome, взаимодействующих по протоколу miIO.
miIO - проприетарный сетевой протокол Xiaomi с шифрованием, по которому взаимодействуют wifi-устройства из экосистемы Xiaomi и приложение Mihome на смартфоне. В качестве транспорта используется UDP и порт 54321. Содержимое пакетов шифруется. Ключи шифрования формируются на основе уникальных токенов. Для контроля корректности принимаемых пакетов используется контрольная сумма на основе алгоритма MD5.
Использование этого протокола позволяет управлять теми устройствами, которые не имеют открытого API (режима разработчика). Например, пылесосы, лампы, светильники, увлажнители и очистители воздуха, розетки и многие другие. Также позволяет расширить имеющиеся возможности открытого API у xiaomi-шлюза, в частности переводить его в режим сопряжения, привязывать и отвязывать zigbee-устройства, управлять радио и др.
В основе модуля лежит библиотека php-miio.
Обсуждение модуля на Форуме.
Исходный код модуля на Github.
Модуль в Connect.

Модуль Xiaomi miIO
Поддерживаемые устройства
* По состоянию на сентябрь 2019 года.
-
- Шлюз ZigBee Mi Smart Home Gateway 2
- Шлюз ZigBee Aqara AC Companion Gateway
- Розетка Mi Smart Socket Plug 2
- Розетка Mi Smart Socket Plug with USB
- Розетка Mi Smart Socket Plug with 2 USB
- Пылесос Mi Vacuum Cleaner
- Пылесос Mi Roborock S50/S51
- Настольная лампа Philips EyeCare Smart Desk Lamp 2
- Лампочка белая Е27 Philips Light Bulb
- Лампочка белая Е27 Yeelight White Bulb
- Лампочка цветная Е27 Yeelight Color Bulb
- Лампочки Philips Rui Chi Candle Light Bulb
- Настольная лампа Mi LED Desk Lamp
- Потолочный светильник Yeelight Ceiling Light
- Потолочный светильник Yeelight Square Ceiling Light
- Потолочный светильник Yeelight Jiaoyue 650 Ceiling Light
- Потолочный светильник Philips EyeCare Smart Ceiling Lamp
- Светодиодная лента Yeelight LED Lightstrip
- Удлинитель (5 розеток) Mi (Chingmi) Smart Power Strip 5 Plugs
- Удлинитель (6 розеток) Mi Smart Power Strip 6 Plugs
- Увлажнитель воздуха Mi Air Humidifier
- Увлажнитель воздуха Mi Air Humidifier 2
- Очиститель воздуха Mi Air Purifier v3
- Очиститель воздуха Mi Air Purifier 2S
- IR-контроллер Mi IR Remote 360
- WiFi-колонка Mi Internet Speaker
- Ночник Yeelight Bedside Lamp
- Светильник (спот) Philips Zhirui Downlight
- Напольный вентилятор Mi Smart Fan SA1
- Анализатор качества воздуха Mi ClearGrass Air Monitor S1
Требования
Сервер MajorDoMo и miIO-устройства должны находиться в одном сегменте локальной сети, в котором разрешен широковещательный UDP-трафик с портом назначения 54321.
На сервере должен быть отключен, либо корректно настроен межсетевой экран для пропуска сетевых пакетов UDP/54321.
Для всех устройств должны быть получены их уникальные токены! В большинстве случаев устройства не сообщают свой токен в ответных сообщениях, и модуль не может определить их автоматически, поэтому выяснять токены приходится вручную. Без токенов будет работать только поиск устройств в сети и определение статуса онлайн/оффлайн. Способы получения токенов описаны здесь.
Документация по модулю
- Установка, обновление, удаление модуля
- Интерфейс модуля
- Настройка модуля
- Протокол miIO
- Токены устройств
- Управление техникой по ИК-каналу
- Управление роботом-пылесосом
Ссылки на полезные материалы
- Команды управления пылесосом
- Еще команды управления пылесосом
- Команды управления FM-радио в шлюзе
- Команды управления wifi-колонкой
- Управление IR-шайбой
- Отчет о статусе пылесоса и отправка в Telegram
- Обновление свойств устройства по запросу (prop_update)
- Утилита MiHomeAdmin для Windows
- Кастомная сборка Mihome для простого получения токенов устройств