Xiaomi Cloud Token Extractor запускается одним файлом token_extractor.exe (или скриптом Python), после чего запрашивает логин и пароль от учётной записи Mi Account и выводит список всех устройств с их токенами — именно эти 32-символьные ключи нужны для подключения пылесосов, ламп и шлюзов Xiaomi к Home Assistant через локальную интеграцию miio.
Утилита создана разработчиком Piotr Machowski и распространяется бесплатно с открытым исходным кодом. Она не взламывает устройства: экстрактор просто обращается к облачному API Xiaomi от вашего имени и забирает те данные, которые приложение Mi Home получает при обычной работе. Ниже разберём, как безопасно запустить инструмент, что делать при ошибках авторизации и куда вводить полученные токены.
Что такое токен устройства Xiaomi и зачем он нужен
Токен — это уникальный ключ доступа, который прошивка устройства генерирует при первой привязке к учётной записи. Локальные интеграции вроде Xiaomi Miio для Home Assistant общаются с пылесосом или лампой напрямую по сети, без китайского облака, но для шифрования трафика им нужен именно этот ключ.
Без токена локальное управление невозможно: устройство отвечает на запросы только при корректном ключе. Важный нюанс — при сбросе Wi-Fi на устройстве или повторной привязке к Mi Home токен генерируется заново, и старый ключ в Home Assistant перестаёт работать. Поэтому после любого сброса процедуру извлечения придётся повторить.
Раньше токены добывали из базы данных старых версий приложения Mi Home или через модифицированные APK. Облачный экстрактор упростил задачу: не нужен ни Android-телефон с root, ни копание в файлах — достаточно компьютера и доступа к аккаунту.
Где скачать и как подготовить систему
Единственный безопасный источник — официальный репозиторий проекта Xiaomi Cloud Tokens Extractor на GitHub, в разделе Releases. Сторонние сайты, предлагающие «готовые сборки», могут содержать вредоносный код, который украдёт ваши учётные данные Mi Account вместе с токенами.
Есть два варианта запуска:
- 📦 Готовый исполняемый файл —
token_extractor.exeдля Windows, не требует ничего дополнительно; - 🐍 Python-скрипт — для Linux и macOS, потребуется установленный Python 3 и зависимости из файла
requirements.txt; - 🐳 Docker-образ — вариант для тех, кто уже использует контейнеры;
- 🏠 Аддон для Home Assistant — запуск прямо из интерфейса HA, если сервер уже развёрнут.
Пошаговая инструкция по извлечению токенов
Процедура занимает несколько минут. Запустите программу — откроется консольное окно, которое последовательно попросит ввести данные.
Сначала укажите логин и пароль от Mi Account — те же, что в приложении Mi Home. Затем выберите регион сервера: он должен совпадать с регионом, выбранным в приложении при настройке устройств. Поддерживаются коды вроде de, ru, cn, us, sg и другие. Если выбрать неверный регион, список устройств окажется пустым или неполным — это самая частая причина «неработающего» экстрактора.
☑️ Проверка перед запуском экстрактора
После успешной авторизации программа выведет таблицу: имя устройства, модель, IP-адрес в локальной сети и токен. Скопируйте нужные строки в надёжное место — окно закроется, и история не сохранится.
python token_extractor.py
далее интерактивно: email/логин → пароль → регион
Ошибка двухфакторной аутентификации и её обход
Если на аккаунте включена двухфакторная защита, после ввода пароля экстрактор покажет ссылку для подтверждения входа. Её нужно открыть в браузере, пройти проверку (код придёт на почту или телефон), а затем скопировать адрес страницы, на которую вас перенаправило, обратно в консоль.
⚠️ Внимание: ссылка подтверждения действует ограниченное время. Если вы открыли её, но долго не вставляли итоговый URL в программу, сессия истечёт и придётся запускать экстрактор заново.
Иногда Xiaomi дополнительно требует капчу при входе с незнакомого устройства. Программа выведет соответствующее уведомление — пройдите проверку в браузере по предложенной ссылке. Это нормальное поведение, а не признак блокировки аккаунта.
Куда вводить полученные токены
Основной сценарий — интеграция Xiaomi Miio в Home Assistant. При добавлении устройства вручную мастер настройки попросит IP-адрес и токен: оба значения есть в выводе экстрактора. Чтобы IP не менялся, зарезервируйте адрес устройства в настройках роутера (привязка по MAC-адресу).
Токены также используются в альтернативных системах — ioBroker, Domoticz, некоторых плагинах Node-RED. Формат ключа везде одинаковый: шестнадцатеричная строка из 32 символов.
| Поле в выводе | Что означает | Где используется |
|---|---|---|
| NAME | Имя устройства из Mi Home | Идентификация в списке |
| MODEL | Код модели, например roborock.vacuum | Проверка совместимости интеграции |
| IP | Локальный адрес устройства | Поле Host при настройке |
| TOKEN | 32-символьный ключ доступа | Поле Token при настройке |
Безопасность: кому вы доверяете пароль
Экстрактору приходится сообщать пароль от Mi Account, поэтому вопрос доверия здесь принципиален. Код проекта открыт — любой может проверить, что данные отправляются только на серверы Xiaomi. Но это справедливо лишь для оригинального репозитория.
- 🔒 Скачивайте только с официального GitHub-репозитория проекта;
- 🚫 Не используйте «онлайн-экстракторы токенов» на сторонних сайтах — они получат ваш пароль;
- 🔑 После извлечения токенов можно сменить пароль аккаунта — сами токены от этого не сбрасываются;
- 📄 Не публикуйте токены на форумах и в скриншотах: с ключом и IP устройством можно управлять из локальной сети.
⚠️ Внимание: файл с сохранёнными токенами — это фактически ключи от вашего умного дома. Храните его как пароль: в менеджере паролей или зашифрованном архиве, а не в открытом текстовом файле на рабочем столе.
Типичные проблемы и их решение
Пустой список устройств. Почти всегда причина в неверном регионе. Откройте Mi Home, проверьте регион в настройках профиля и перезапустите экстрактор с правильным кодом сервера.
Устройство есть в списке, но токен не подходит. Возможно, после привязки устройство сбрасывали или перепрошивали — токен обновился, а вы используете старый вывод. Прогоните экстрактор повторно. Также проверьте, что устройство и Home Assistant в одной подсети и роутер не изолирует клиентов друг от друга (функция AP Isolation должна быть выключена).
Ошибка входа при верном пароле. Попробуйте войти через email вместо номера телефона или наоборот — в зависимости от того, как заведён аккаунт. Если включена двухфакторная защита, убедитесь, что корректно скопировали финальный URL после подтверждения.
Почему часть устройств не отдаёт токен через облако
Некоторые BLE-устройства (датчики температуры, замки) не имеют собственного Wi-Fi и работают через шлюз — отдельного токена у них нет, управление идёт через токен шлюза. Также часть новых устройств использует протокол MIoT, где локальный доступ устроен иначе, и классическая miio-интеграция может их не поддерживать.
Альтернативные способы получения токенов
Если облачный метод по какой-то причине недоступен, существуют запасные варианты. На Android-устройстве со старой версией Mi Home токен можно найти в файле базы данных приложения, но современные версии шифруют хранилище, и метод работает не всегда. Для шлюзов Mi Gateway токен иногда удаётся получить через режим разработчика в настройках устройства — доступность этого пункта зависит от версии прошивки.
На практике облачный экстрактор остаётся самым простым и универсальным путём: он не требует root-доступа, работает с актуальными версиями Mi Home и покрывает все устройства аккаунта за один запуск.
Часто задаваемые вопросы
Легален ли Xiaomi Cloud Token Extractor?
Утилита использует официальный облачный API с вашими собственными учётными данными и извлекает данные ваших же устройств. Это не взлом и не обход защиты. Однако гарантий от разработчика нет — вы используете инструмент на свой страх и риск.
Токен перестал работать, хотя ничего не менял. Почему?
Наиболее вероятная причина — устройство переподключилось к Mi Home (например, после сбоя питания и повторной привязки) или кто-то сбросил его Wi-Fi. Извлеките токен заново и сравните со старым значением.
Можно ли получить токен без пароля от аккаунта?
Нет, облачный метод требует авторизации. Без пароля остаются только локальные способы: база данных старого Mi Home на Android или режим разработчика на отдельных шлюзах — и то не для всех моделей.
Работает ли экстрактор с аккаунтом, созданным через Google или Facebook?
Напрямую — нет, программе нужны логин и пароль Mi Account. Решение: в настройках учётной записи Xiaomi задайте отдельный пароль для аккаунта, после чего используйте его вместе с привязанным email.
Нужно ли повторять процедуру для каждого нового устройства?
Да, но не полностью «с нуля» — просто запустите экстрактор ещё раз после добавления устройства в Mi Home. Новый девайс появится в общем списке со своим токеном.