Как узнать токен пылесоса xiaomi
Перейти к содержимому

Как узнать токен пылесоса xiaomi

  • автор:

Самый простой способ получения miio токена

Опытные пользователи о нем знают. Новичкам сэкономит нервы.

Мы уже не раз рассказывали о том, как можно получить тот самый злосчастный Miio-токен, но давайте признаемся, что существует единственный самый простой и верный способ.

Перед этим напомним, что Miio-токен требуется для взаимодействия со всеми wi-fi устройствами экосистемы Xiaomi. Среди них: увлажнители, пылесосы, очистители воздуха, лампочки, кондиционеры, обогреватели, хабы, розетки и т.д.

С одной стороны это очень хорошо — единый протокол работы для целого пласта устройств. С другой стороны плохо — потому что добыть тот самый токен с каждым годом становится всё сложнее.

Если раньше нам было достаточно выполнить команду miio discover, чтобы добыть токен, то теперь мы видим в ответах только знаки вопросов.

Точно также и с другим методом, о котором мы писали — многие устройства меняют токен после подключения к вашей wi-fi сети.

Поэтому последнее время я пользуюсь единственным простым и рабочим способом добыть токен — с помощью модифицированного .apk Mi Home.

Люди с шапочкой из фольги, консперологи и переживающие за слив своих персональных данных — выходим из чата ��

Инструкция

  • либо телефон на Android (это позволит вам сэкономить чуть больше времени)
  • либо компьютер (неважно PC или Mac)

Т.к. я не владею ни Android ни Windows, то дальше инструкция будет описана на примере MacOS.

  1. Идем на сайт https://www.bignox.com и скачиваем эмулятор Android.
  2. Устанавливаем эмулятор и ждем его запуска. (на двух компьютерах я столкнулся с одним и тем же поведением — при первом запуске загрузка доходит до 99% и перестает двигаться дальше. Закрываем, открываем заново — вуа-ля)
  3. После запуска эмулятора идем на сайт https://www.kapiba.ru/, находим там самую актуальную версию модифицированного Mi Home и скачиваем apk по ссылке. Актуальная ссылка на момент написания статьи.
  4. Устанавливаем apk — кнопка для установки см. на скриншоте
  5. Устанавливаем, выбираем сервер, на котором было добавлено устройство (не забываем, что это эмулятор Android, поэтому все действия выполняем эмулируя движение пальцем — т.е. прокрутка списка осуществляется как на телефоне — зажатием и перетягиванием), авторизовываемся, ждем загрузки устройств.
  6. Дальше выбираем устройств, нажимаем на «***» выбираем «Дополнительные настройки», дальше «Информация о сети» и внизу находим «Токен».
  7. Переписываем токен. Вот и всё — дальше можете использовать данный токен в нужных вам целях.

Остальные методы можно найти здесь.

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
  • Открываем плагин необходимого устройства
  • Настройки -> Дополнительные настройки -> Информация о сети
  • В самом низу поле «Токен»

miio получение token mihome vevs

Универсальный способ #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)

получить token для xiaomi mi gateway 2

Токен можно получить с помощью методов #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 пока не появятся указанные пункты меню.

Токены miIO-устройств

Токен — это уникальная 32-ухзначная последовательность символов, используемая для формирования ключа шифрования. Наличие и знание токена — это обязательное условие успешного управления miIO-устройством средствами модуля.

В целом процедура добавления нового устройства в приложение Mihome выглядит так:

  1. Включаем новое устройство в сеть. Оно создает свою открытую точку доступа.
  2. Приложение Mihome производит поиск новых wifi-сетей, и если находит, то предлагает добавить устройство.
  3. При добавлении телефон подключается к точке доступа, созданной устройством.
  4. Mihome посылает hello-пакет устройству.
  5. Устройство, получив hello-пакет, отправляет ответ на него, в котором содержится токен.
  6. Mihome получает ответ, сохраняет токен в свою базу данных и отправляет устройству команду на подключение к wifi-сети и пароль от нее.
  7. Устройство перезагружается и цепляется к целевой wifi-сети. Телефон также переключается обратно на основную точку доступа.
  8. Mihome и устройство обмениваются пакетами по протоколу miIO, зашифрованного на основе полученного ранее токена.
  9. После привязки устройства к Mihome устройства в большинстве случаев перестают транслировать свой токен в ответ на hello-пакеты. Это зависит от логики, зашитой в прошивку устройства, и версии этой прошивки. Одни устройства всегда, на любой версии прошивки, открыто отдают свой токен. Вторые отдают токен только до определенной версии прошивки, а после обновления перестают. Ну а третьи сообщают свой токен только в режиме инициализации, т.е. до привязки к Mihome и подключения к wifi-сети.

Исходя из вышеуказанной процедуры, можно рассмотреть несколько базовых подходов получения токенов устройств.

  1. Произвести поиск устройств в сети с помощью отправки широковещательного hello-пакета (handshake discover) и получить токен в ответном пакете от устройства.
  2. Извлечь токены из базы данных или кеш-файлов приложения Mihome на смартфоне.
  3. Сбросить устройство (или удалить из 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-радио и, возможно, еще какие-то другие.

Узнать IP-адрес и токен

Подскажите пожалуйста как узнать IP-адрес и токен пылесоса?

Комментарии 1

Аватар пользователя

Пришелец FROL
3 года назад

Обсуждение товара

Роботы-пылесосы 2 года назад

это развод ребята — не ведитесь …. серийный номер пылесоса заявленного здесь на сайте . не совпадает с реальным который вы купите.

платишь деньги за skv 4093 gl . а в итоге тебе выдают совсем другой пылесос — разводят в наглую. там даже коробка отличается от той которая на сайте на фото. рассказывают. типа мы не знаем . может это старая партия . — но все они прекрасно знают .

Роботы-пылесосы 2 года назад

Уборка по комнатам, не могу отдельно заставить его убирать в определленой комнате

Кто- нибудь знает как отдельно запустить в несколько комнат? Или в одну определённую? Понял что только выделять зону можно, но это не совсем удобно. Если кто знает напишите подробно пожалуйста

Роботы-пылесосы 2 года назад

Сертификация пылесоса в России

Сертифицирована ли эта модель пылесоса в России , есть русский язык? Цена в интернет магазине дешевле чем в магазине на 3500 р, почему.

Роботы-пылесосы 3 года назад

Сухая и влажная уборка

Здравствуйте, скажи пожалуйста его можно одновременно включать,влажную и сухую уборку?
Роботы-пылесосы 3 года назад

Камера и датчики

Добрый день. Подскажите на что вообще реагирует камера, для чего она нужна и как она работает и вообще работает ли она как проверить? Я приобрёл это пылесос в лес, но у брата Redmond в такой же ценовой категории, ставишь ногу перед ним он объезжает п.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *