Отличный способ выйти за рамки стандартного приложения Mi Home и управлять умными устройствами Xiaomi с помощью сторонних программ. Программы, такие как Home Assistant, используют протокол miio для связи с устройствами.
Чтобы программа могла управлять лампой, розеткой или пылесосом, вам нужен токен, или цифровой пароль вашего устройства. Производитель не показывает этот токен в стандартном интерфейсе приложения, потому что это мера безопасности.
Таким образом, для интеграции устройств в продвинутые системы умного дома необходимо получить токен самостоятельно. Этот процесс обычно не так сложен, как кажется, и обычно требует всего нескольких действий на смартфоне и компьютере.
Далее мы рассмотрим основные методы получения этого токена. Вы можете выбрать то, что вам нравится, и открыть для своих устройств Xiaomi новые возможности.
Универсальный способ #1 — Xiaomi cloud token extractor
Самый простой и быстрый способ получения token’а на данный момент для всех устройств компании Xiaomi использование утилиты Xiaomi cloud token extractor. В случае OS Windows это утилита, в случае использования Unix/Linux это скрипт, написанный на Python. Проект выложен на GitHub.
Устaновка Pyton3 и необходимые компоненты для Ubuntu и Raspberry Pi будут выглядеть следующим образом:
$ sudo apt-get install python3 python3-pip $ pip3 install pycryptodome pybase64 requests
Скачиваем скрипт:
$ wget https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/token_extractor.py
Запуск скрипта:
$ python3 token_extractor.py
Утилиту Xiaomi-cloud-tokens-extractor/releases/latest/download/token_extractor.exe можно скачать с GitHub: https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/releases/latest/download/token_extractor.exe и затем запустить ее на Windows.
При запуске скрипт или утилита попросит ввести учетную запись Xiaomi. Необходимо:
- E-mail или User ID Xiaomi
- Пароль от учетной записи
- Выбрать страну привязки устройств, можно оставить пустым, и программа проверит для всех перечисленных стран
Результат:
$ python3 token_extractor.py Username (email or user ID): <strong>my_xiaomi_mail_or_user_id</strong> Password: <strong>my_xiaomi_password</strong> Country (one of: ru, us, tw, sg, cn, de) Leave empty to check all available: Logging in… Logged in. Devices found for country "cn": ——— NAME: Xiaomi Mi Gateway v.2 ID: XXXXXXXX IP: 192.168.XXX.XXX TOKEN: 1234567890abcdef1234567890abcdef MODEL: lumi.gateway.v3 ——— NAME: Mi IR Remote control ID: XXXXXXXXX IP: 192.168.XXX.XXX TOKEN: 1234567890abcdef1234567890abcdef MODEL: chuangmi.remote.v2 ——— NAME: Miji Robot Vacuum Cleaner 1C ID: XXXXXXXXX IP: 192.168.XXX.XXX TOKEN: 1234567890abcdef1234567890abcdef MODEL: dreame.vacuum.mc1808
Огромным плюсом этого метода является то, что помимо подключенных Wi-Fi устройств, утилита показывает подключенные Bluetooth устройства, подключенные к шлюзам ZigBee устройства, созданные пульты для Mi IR Remote control.
——— NAME: Xiaomi Mijia BLE Temperature and Humidity Sensor ID: blt.3.ubsv8hlXXXXX IP: XXX.XXX.XXX.XXX TOKEN: 1234567890abcdef123456789 MODEL: cleargrass.sensor_ht.dk1 ——— NAME: Aqara Smart Wall Socket ID: lumi.158d000XXXXXXX IP: TOKEN: MODEL: lumi.ctrl_86plug.aq1
Это удобно использовать для определения идентификационных данных ZigBee устройств.
Универсальный способ #2 — модифицированный Mi Home от vevs для Android
Ми Дом от Vevs — это модифицированный Mi Дом с переводом действий, условий и статусов на русский и английский языки. Подробнее об этом можно узнать в блоге автора.
- Удаляем оригинальный Mi Home
- Скачиваем и устанавливаем последнюю версию
Mi Home от vevsдля Android - Запускаем установленное приложение Mi Home
- Авторизуемся в приложении Mi Home
- Открываем плагин необходимого устройства
- Настройки -> Дополнительные настройки -> Информация о сети
- В самом низу поле «Токен»

Чтобы подключить устройство Xiaomi к системе miio и использовать сторонние приложения для управления им, необходимо получить особый токен, который действует как пароль для подтверждения доступа. Это обычно доступно в настройках устройства в приложении Mi Home, особенно если вы используете китайский сервер или инструменты для разработчиков. Этот токен необходим для интеграции в умные домашние системы, такие как Домовой помощник. Важно быть осторожным, избегать передачи токена третьим лицам и помнить, что смена токена может прервать подключение.
Универсальный способ #3 — Mi Home v5.4.49 для Android
Хотя метод достаточно старый, он все еще работает. Логи взаимодействия устройств Mi Home в версии v5.4.49 для Android хранятся в папке /Smarthome/logs в виде текстовых файлов. Следующий алгоритм действий:
- Скачиваем и устанавливаем
Mi Home v5.4.49для Android. Если есть второе устройство, то лучше все операции делать на нем, иначе придется удалить текущую версию Mi Home - Запускаем установленное приложение Mi Home
- Авторизуемся в приложении Mi Home
- Для надежности открываем необходимое устройство в Mi Home
- В менеджере файлов переходим в папку
/Smarthome/logs - Открываем текстовый log файл
- Просматриваем содержимое log файла, ищем по слову
token
В папке может быть несколько текстовых файлов, просматриваем их все или удаляем всё содержимое папки и запускаем Mi Home v5.4.49 заново.
По результатам просмотра log файла:
- Для Xiaomi Mi Gateway v.2 —
{"did":"XXXXXXXX","token":"1234567890abcdef1234567890abcdef","longitude":"XX.XXXXXXX","latitude":"XX.XXXXXXX","name":"Xiaomi Mi Gateway v.2", - Для Mi IR Remote control —
{"did":"XXXXXXXXX","token":"1234567890abcdef1234567890abcdef","longitude":"XX.XXXXXXXX","latitude":"XX.XXXXXXXX","name":"Mi IR Remote control"
Для моего пылесоса Mijia Robot Vacuum Cleaner 1C токен тоже есть в лог файле, но в плагин управления попасть нельзя т.к. не поддерживается версией приложения. Но это не важно, главное результат получить token.
Список устройств и методов, с помощью которых я получил токен
Xiaomi Mi Gateway 2 (DGNWG02LM)

Методы номер один, номер два и номер три, описанные выше, могут быть использованы для получения токена.
Получить токен для региона Китай можно в программе Mi Home любой версии, пока писал статью на версии Mi Home v5.9.19 обновился плагин для шлюза, из которого похоже вырезали доступ к режиму разработчика. Но в версии Mi Home v.5.8.40 плагин шлюза версии v.2.77.1, для включения режима разработчика и получения сведений он нам сгодится.
- Скачиваем и устанавливаем
Mi Home v5.8.40для Android. Если есть второе устройство, то лучше все операции делать на нем, иначе придется удалить текущую версию Mi Home - Запускаем установленное приложение Mi Home
- Авторизуемся в приложении Mi Home
- Открываем плагин шлюза Xiaomi Mi Gateway 2
- Нажимаем три точки в правом верхнем углу
- Сведения -> Информация о шлюзе, если пункты меню «Протокол связи локальной сети» и «Информация о шлюзе» отсутствуют, то пять раз нажимаем на пункт
Версия плагина: 2.XX.Xпока не появятся указанные пункты меню.

Пункт 1

Рисунок 2

Рисунок 3

Рисунок 4

Статья 5
Xiaomi Mijia Universal Remote control (MJYKQ01CM)

Методы номер один, номер два и номер три, описанные выше, могут быть использованы для получения токена.
Устройство USB2TTL и паяльник могут вытащить токену из устройства. Отклеиваем нижнюю резиновую противоскользящую вставку и откручиваем четыре болта под ней. По схеме мы припаиваем провода к техническим контактам (GND0, TX0, RX0) и подключаем шайбу к USB2TTL:
ВНИМАНИЕ! Все, что вы делаете, делаете только на свой страх и риск, и автор статьи не несет никакой ответственности за любые последствия, которые могут возникнуть в результате действий, описанных в этой статье.
| USB-to-TTL | Mi IR Remote Control |
|---|---|
| GND | GND0 |
| RX | TX0 |
| TX | RX0 |

После подключения USB2TTL к компьютеру мы открываем программу PuTTY и выбираем тип подключения Serial. Затем мы указываем порт COM, на который подключен адаптер UART и указываем скорость подключения 115200.

Вы можете настроить ведение логов для всех выведенных данных в меню Session и указать путь к файлу логов. Мы нажимаем кнопку «Открыть».

После подключения штатного питания устройства PuTTy начнет показывать данные через несколько секунд. Поиск в логе по слову token предпочтительнее, поскольку информация отображается достаточно быстро.
Xiaomi Mijia Bedside Lamp (MJCTD01YL)

Из трех альтернативных систем автоматизации, которые я опробовал, только OpenHAB требует токенов доступа к лампе. Методы номер один, номер два и номер три, описанные выше, могут быть использованы для получения токенов.
Все, что вам нужно знать, чтобы получить токен устройств Xiaomi, можно найти здесь. Вы получите тот самый «ключ», выполнив шаги с дампом сети или специальными утилитами, хотя процесс не самый простой. Поскольку токен является ключом к вашему устройству, обращайтесь с ним как с ценностью.
Он необходим для настройки любой локальной интеграции, будь то помощник дома или другие системы умного дома, поэтому его следует хранить в безопасном месте. С ним ваши устройства будут максимально эффективны, работая быстро и автономно, без задержек в облаке.
Теперь вы можете выйти за рамки обычного приложения Mi Home и полностью контролировать свои устройства. Удачи в дальнейшей перепланировке и создании уютного дома!








