Токены miIO-устройств
Токен — это уникальная 32-ухзначная последовательность символов, используемая для формирования ключа шифрования. Наличие и знание токена — это обязательное условие успешного управления miIO-устройством средствами модуля.
В целом процедура добавления нового устройства в приложение Mihome выглядит так:
- Включаем новое устройство в сеть. Оно создает свою открытую точку доступа.
- Приложение Mihome производит поиск новых wifi-сетей, и если находит, то предлагает добавить устройство.
- При добавлении телефон подключается к точке доступа, созданной устройством.
- Mihome посылает hello-пакет устройству.
- Устройство, получив hello-пакет, отправляет ответ на него, в котором содержится токен.
- Mihome получает ответ, сохраняет токен в свою базу данных и отправляет устройству команду на подключение к wifi-сети и пароль от нее.
- Устройство перезагружается и цепляется к целевой wifi-сети. Телефон также переключается обратно на основную точку доступа.
- Mihome и устройство обмениваются пакетами по протоколу miIO, зашифрованного на основе полученного ранее токена.
- После привязки устройства к Mihome устройства в большинстве случаев перестают транслировать свой токен в ответ на hello-пакеты. Это зависит от логики, зашитой в прошивку устройства, и версии этой прошивки. Одни устройства всегда, на любой версии прошивки, открыто отдают свой токен. Вторые отдают токен только до определенной версии прошивки, а после обновления перестают. Ну а третьи сообщают свой токен только в режиме инициализации, т.е. до привязки к Mihome и подключения к wifi-сети.
Исходя из вышеуказанной процедуры, можно рассмотреть несколько базовых подходов получения токенов устройств.
- Произвести поиск устройств в сети с помощью отправки широковещательного hello-пакета (handshake discover) и получить токен в ответном пакете от устройства.
- Извлечь токены из базы данных или кеш-файлов приложения Mihome на смартфоне.
- Сбросить устройство (или удалить из Mihome) и получить токен в режиме инициализации устройства аналогично первому способу через handshake discover.
Рассмотрим эти подходы подробнее.
Поиск устройств в сети (handshake discover)
Данный способ штатно предусмотрен в модуле Xiaomi miIO. Модуль выполняет периодический (или ручной) поиск устройств в домашней локальной сети, и если в ответных сообщениях от найденных устройств содержатся их токены, то модуль автоматически их получает и сохраняет в своих настройках.
Но, как было сказано ранее, не все так хорошо, как хотелось бы. Большинство устройств не сообщают открыто свои токены, поэтому приходится пользоваться другими способами.
База данных и кеш-файлы Mihome
Самый простой вариант — это воспользоваться кастомной сборкой Mihome от vevs (только для андроида).
Брать здесь http://www.kapiba.ru/2017/11/mi-home.html
В Mihome нужно зайти в раздел Информация о сети нужного устройства, в котором наряду с информацией о подключении к wifi точке доступа также будет строка с токеном. Бонусом получаем руссифицированный Mihome.
С другими вариациями этого подхода можно ознакомиться на Форуме.
Сброс устройства и последующая инициализация
Суть заключается в том, что предварительно нужно сбросить устройство (если оно уже было подключено к домашней сети), а затем подключиться к открытой точке доступа, которую оно создает в режиме инициализации.
В этом случае лучше воспользоваться ПК с wifi-адаптером и приложением для Windows MiHomeAdmin, которое можно скачать на Форуме.
Если Windows не подходит, то можно воспользоваться утилитой miio-cli.php в составе библиотеки php-miio. Или кросс-платформенными приложениями (в т.ч. под iOS, Android), которые позволяют отправить UDP-пакет нужной нам структуры. Примерами таким приложений могут быть Packet Sender, Packet Handler. Подробно эти варианты расписаны на Форуме.
Но у этого способа есть один нюанс — некоторые хитрые устройства меняют свой токен в момент последующей привязки к Mihome. Для таких устройств подойдет только вариант №2 — база Mihome. Так отличаются пылесос, wifi-радио и, возможно, еще какие-то другие.
Как узнать токен пылесоса Xiaomi Roborock?
Хотел поменять языковой пакет, в инструкциях, которые в интернете, токен можно было посмотреть прямо в приложении на телефоне, сейчас же узкоглазые косорезы убрали эту возможность. Через MiTool тоже не получается т. к. программа не находит телефон, отладку настраивал как положено. Как еще можно узнать токен или может есть другой способ установки русскоязычного языкового пакета?
Лучший ответ
А что, робот не сертифицирован для использования на территории РФ? Вот что отвечают на официальном сайте поддержки: «Робот, который вы приобрели, не сертифицирован и не может быть использован. Пожалуйста, приобретите его по обычным каналам. Если у вас есть какие-либо вопросы, пожалуйста, свяжитесь с дилером.»
Так что, оскорбления производителя неуместны.
Задавать подобные вопросы необходимо на ресурсах, где хотя бы понимают, что такое «токен»
«Копайте» глубже мегабайты опыта «самоделкиных» с самого «продвинутого» портала по бытовой электронике
https://4pda.ru/forum/index.php?showtopic=881982&st=3720
https://yandex.ru/turbo?text=https://sprut.ai/client/article/759&d=1
Остальные ответы
отпишите плз, удалось ли как-то сделать
NonameУченик (111) 4 года назад
Так и не разобрался
Александр Жуков Знаток (280) Я смотри как сделал, скачал на телефон программу XVacuum Firmware, на комп утилиту win-mirobo и несколько голосовых пакетов. сбрасываешь настройки сети на пылесосе (пылесос создает свою точку wi-fi) подключаешься к ней и с телефона и с компьютера. на телефоне в программе смотришь токен. потом уже меняешь озвучку в win-mirobo вставляя в файл конфига его ip(в свойствах сети смотришь) и полученный на телефоне токен и вуаля
До сих пор не понятно как узнать token
Пламенные товарищи из Поднебесной совершенно сознательно продают в Россию версии Сяомососов, предназначенные для продажи на территории континентального Китая. У них перепроизводство, а у нас пипл всё схавает и обладая природным талантом обойдет любые запреты. Да вот только бытовая техника не то поприще на котором стоит так изголяться. Вы сделали большую ошибку купив пылесос Сяоми. Нужно было покупать нечто по-надежнее, например iRobot
Узнать токен робота пылесоса xiaomi как
Контент представлен пользователями ОК. Здесь вы найдете все, что нужно, чтобы быть в курсе последних новостей и тенденций в мире технологий. узнать токен робота пылесоса xiaomi как – ОК место, где вы сможете найти ответы на все вопросы, связанные с гаджетами, а также прочитать интересные статьи, подготовленные нашими экспертами. Будьте в центре событий и следите за всеми новинками в области гаджетов. Изучайте контент, если вы искали узнать токен робота пылесоса xiaomi как и интересуетесь этой увлекательной темой.
Часто ищут
- Хоккей
- Собаки
- С днем рождения
- Полезная еда
- Косметика
- Закуски
- Пирожки с капустой
- Рассказы
- Отдых на море
- Кошки
- Пирожки с картошкой
- Смешные картинки
- Жареная картошка
- Вкусные рецепты
- Подарки
- Юмор
- Лучшие сериалы
- Торт
- Рыбалка
- Вышивка крестиком
Xiaomi miio получение токена для доступа к устройству
miio — проприетарный шифрованный сетевой протокол для взаимодействия Wi-Fi устройств компании Xiaomi и ее суббрендов с приложением Mi Home в локальной сети. Для интеграции устройств с альтернативными системами автоматизации в подавляющем большинстве случаев необходим token для доступа к устройству. Что бы получить token устройство должно быть привязано к учетной записи Xiaomi в приложении Mi Home.
- Универсальный способ #1 — Xiaomi cloud token extractor
- Универсальный способ #2 — модифицированный Mi Home от vevs для Android
- Универсальный способ #3 — Mi Home v5.4.49 для Android
- Xiaomi Mi Gateway 2 (DGNWG02LM)
- Xiaomi Mijia Universal Remote control (MJYKQ01CM)
- Xiaomi Mijia Bedside Lamp (MJCTD01YL)
- Xiaomi Mijia 1C Sweeping Vacuum Cleaner (STYTJ01ZHM)
- Скачать
Универсальный способ #1 — Xiaomi cloud token extractor
Самый простой и быстрый способ получения token’а на данный момент для всех устройств компании Xiaomi использование утилиты Xiaomi cloud token extractor. В случае OS Windows это утилита, в случае использования Unix/Linux это скрипт, написанный на Python. Проект выложен на GitHub.
Для Ubuntu и Raspberry Pi установка Pyton3 и необходимых компонентов будет выглядеть так:
$ 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. Необходимы:
- E-mail или User ID Xiaomi
- Пароль от учетной записи
- Выбрать страну привязки устройств, можно оставить пустым, и программа проверит для всех перечисленных стран
$ python3 token_extractor.py Username (email or user ID): my_xiaomi_mail_or_user_id Password: my_xiaomi_password 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
Это удобно использовать для определения ID ZigBee устройств.
Универсальный способ #2 — модифицированный Mi Home от vevs для Android
Mi Home от vevs — модифицированный Mi Home с переводом действий, условий и статусов (русский и английский языки), подробнее в блоге автора.
- Удаляем оригинальный Mi Home
- Скачиваем и устанавливаем последнюю версию Mi Home от vevs для Android
- Запускаем установленное приложение Mi Home
- Авторизуемся в приложении 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 — token«:»1234567890abcdef1234567890abcdef«,»longitude»:»XX.XXXXXXX»,»latitude»:»XX.XXXXXXX»,»name»:»Xiaomi Mi Gateway v.2″,
- Для Mi IR Remote control — token«:»1234567890abcdef1234567890abcdef«,»longitude»:»XX.XXXXXXXX»,»latitude»:»XX.XXXXXXXX»,»name»:»Mi IR Remote control»
Для моего пылесоса Mijia Robot Vacuum Cleaner 1C токен тоже есть в лог файле, но в плагин управления попасть нельзя т.к. не поддерживается версией приложения. Но это не важно, главное результат получить token.
Список устройств и методы с помощью которых мне удалось получить токен.
Xiaomi Mi Gateway 2 (DGNWG02LM)

Токен можно получить с помощью методов #1, #2 и #3 описанных выше.
Получить токен для региона Китай можно в программе 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 пока не появятся указанные пункты меню.