Почему токен пылесоса Xiaomi так важен для Android-пользователей
Токен доступа к роботу-пылесосу Xiaomi — это уникальный цифровой ключ, который открывает расширенные возможности управления устройством. Без него вы ограничены стандартным функционалом приложения Mi Home, тогда как с токеном можно интегрировать пылесос в умные системы типа Home Assistant, Node-RED или даже создавать собственные сценарии автоматизации через Python.
На Android получить этот токен сложнее, чем на iOS — из-за особенностей работы приложения Mi Home и ограничений операционной системы. Но именно поэтому мы подготовили детальное руководство с актуальными методами на 2026 год, которые работают даже для новых моделей пылесосов (Xiaomi Robot Vacuum S10, Xiaomi Mijia 1T, Dreame Bot Z10 Pro и других). В этой статье вы найдёте не только пошаговые инструкции, но и разбор типичных ошибок, советы по безопасности и альтернативные решения для случаев, когда стандартные способы не срабатывают.
Способ 1: Получение токена через HTTP-прокси (самый надёжный метод)
Этот метод считается самым универсальным, так как работает независимо от версии приложения Mi Home и модели пылесоса. Суть заключается в перехвате сетевого трафика между вашим телефоном и серверами Xiaomi, где передаётся токен. Вам потребуется:
- 📱 Android-смартфон с root-правами или возможность установки пользовательского сертификата
- 💻 Компьютер с установленным
Charles ProxyилиFiddler - 🔌 Пылесос Xiaomi, подключённый к той же сети Wi-Fi, что и телефон
- 📲 Приложение Mi Home (версия не старше 6.0.100 для упрощения процесса)
Пошаговая инструкция:
- Настройка прокси на ПК:
- Установите
Charles Proxyи запустите его. - В меню
Proxy → Proxy Settingsустановите порт8888и включите галочкуEnable transparent HTTP proxying. - Перейдите в
Proxy → SSL Proxying → SSL Proxying Settingsи добавьте домен*.mi.com.
- Установите
- Подключение Android к прокси:
- На телефоне перейдите в
Настройки → Wi-Fi, нажмите на свою сеть и выберитеИзменить сеть → Дополнительные параметры. - Установите тип прокси
Вручную, введите IP вашего ПК и порт8888. - Сохраните настройки и подключитесь заново.
- На телефоне перейдите в
- Установка сертификата:
- На ПК в
Charles ProxyвыберитеHelp → SSL Proxying → Install Charles Root Certificate on a Mobile Device. - На телефоне откройте ссылку
chls.pro/sslв браузере и скачайте сертификат. - Установите сертификат в
Настройки → Безопасность → Установка из хранилища(может потребоваться PIN-код).
- На ПК в
- Откройте Mi Home, авторизуйтесь и перейдите на страницу управления пылесосом.
- В
Charles Proxyв фильтре введитеmiio— вы увидите запросы к API. - Найдите запрос с URL, содержащим
/miio/miboy(для пылесосов) или/miio/leshi(для некоторых моделей). - В ответе сервера будет строка
"token": "ваш_токен_здесь"— скопируйте её.
☑️ Чек-лист для метода с прокси
Преимущества метода: работает для всех моделей пылесосов, включая новые, и не требует разблокировки загрузчика. Недостатки: необходим компьютер и базовые навыки работы с сетевыми инструментами.
Что делать, если токен не отображается в логах?
Если в логах нет строки с токеном, проверьте:
1) Правильность фильтра (ищите "miio" или "miboy").
2) Версию Mi Home — в новых версиях токен может передаваться в зашифрованном виде.
3) Подключение пылесоса — он должен быть онлайн и привязан к вашему аккаунту.
4) Настройки прокси — иногда помогает смена порта на 8080.
Способ 2: Использование ADB для извлечения токена (без root)
Если у вас нет root-прав, но есть доступ к ADB (Android Debug Bridge), можно попробовать извлечь токен прямо из памяти приложения Mi Home. Этот метод подходит для большинства устройств на Android 8.0 и выше, но требует включения отладки по USB.
Вам понадобится:
- 📱 Android-смартфон с включённой отладкой по USB (
Настройки → О телефоне → Номер сборки— тапните 7 раз, затем вернитесь вНастройки → Для разработчиков → Отладка по USB) - 💻 Компьютер с установленными
ADB tools(скачать можно с официального сайта) - 🔌 Кабель USB для подключения телефона к ПК
Инструкция:
1. Подключите телефон к ПК и подтвердите разрешение на отладку.
2. Откройте командную строку (Windows) или терминал (macOS/Linux) и выполните:
adb devices
(должно отобразиться ваше устройство)
3. Запустите Mi Home и авторизуйтесь.
4. Выполните команду для дампа памяти приложения:
adb shell dumpsys meminfo com.xiaomi.smarthome -d
5. В выводе найдите строку с "token" — она может быть замаскирована, но обычно содержит 32 символа.
6. Альтернативный способ (если токен не найден):
adb shell "run-as com.xiaomi.smarthome cat /data/data/com.xiaomi.smarthome/shared_prefs/mi_push_sdk.xml"
(ищите строку <string name="device_token">)
Важно: В новых версиях Mi Home (6.5+) токен может храниться в зашифрованном виде. В этом случае поможет только метод с прокси или специализированные утилиты вроде MiTokenExtractor.
Способ 3: Альтернативные приложения для извлечения токена
Если предыдущие методы показались слишком сложными, можно воспользоваться сторонними приложениями, которые автоматизируют процесс получения токена. Самые популярные:
| Приложение | Требуется root? | Поддерживаемые модели | Ссылка |
|---|---|---|---|
| Mi Home Token Extractor | Нет | Все пылесосы Xiaomi/Dreame | Google Play |
| Packet Capture | Нет (но нужен VPN-режим) | Любые устройства Mi Home | Google Play |
| PCAPdroid | Нет | Все модели (требует настройки) | Google Play |
| TokenGrabber (неофициальный) | Да | Только старые версии Mi Home | 4PDA |
Как работать с Mi Home Token Extractor:
- Установите приложение и откройте его.
- Нажмите
Start Extractionи дождитесь запроса на запуск Mi Home. - Авторизуйтесь в Mi Home и перейдите на страницу управления пылесосом.
- Вернитесь в Token Extractor — токен отобразится в поле
Device Token. - Скопируйте его и сохраните в надёжном месте (например, в Google Keep или 1Password).
Предупреждение: Некоторые приложения из этого списка могут требовать дополнительные разрешения или содержать рекламу. Перед установкой проверьте отзывы и рейтинг в Google Play.
Способ 4: Ручной запрос токена через API Xiaomi (для продвинутых)
Если вы знакомы с работой с API, можно получить токен напрямую через запросы к серверам Xiaomi. Этот метод требует знания Python или cURL, но даёт полный контроль над процессом.
Алгоритм действий:
- Получите
userIdиssecurityиз cookies приложения Mi Home (можно извлечь черезCharles ProxyилиFiddler). - Сформируйте запрос к API:
POST /home/rpc/miIO.migiao.service HTTP/1.1Host: api.io.mi.com
Content-Type: application/x-www-form-urlencoded
Cookie: userId=YOUR_USERID; serviceToken=YOUR_SSECURITY
{"method":"get_device_list","params":[{"getVirtualModel":false,"getHuamiDevices":1,"getSplitDevice":false,"supportSmartHome":true}]}
- В ответе найдите блок с
"token"для вашего пылесоса.
Для автоматизации можно использовать скрипт на Python:
import requests
url = "https://api.io.mi.com/home/rpc/miIO.migiao.service"
headers = {
"Content-Type": "application/x-www-form-urlencoded",
"Cookie": "userId=YOUR_USERID; serviceToken=YOUR_SSECURITY"
}
data = {
"method": "get_device_list",
"params": [{"getVirtualModel": False, "getHuamiDevices": 1, "getSplitDevice": False, "supportSmartHome": True}]
}
response = requests.post(url, headers=headers, json=data)
print(response.json()) # Ищите "token" в выводе
Способ 5: Получение токена через резервную копию Mi Home
Если у вас есть резервная копия данных Mi Home (созданная через adb backup или встроенные средства Android), токен можно извлечь из неё. Этот метод подходит для пользователей, которые ранее делали бэкап, но не помнят токен.
Инструкция:
- Создайте резервную копию Mi Home:
adb backup -f mihome_backup.ab com.xiaomi.smarthome - Скачайте android-backup-extractor и распакуйте
mihome_backup.ab:java -jar abe.jar unpack mihome_backup.ab mihome_backup.tar - В архиве найдите файл
apps/com.xiaomi.smarthome/sp/mi_push_sdk.xml. - Откройте его любым текстовым редактором и найдите строку:
<string name="device_token">YOUR_TOKEN_HERE</string>
Важно: В новых версиях Mi Home токен может храниться в бинарном формате или шифроваться. Если файл mi_push_sdk.xml отсутствует, попробуйте поискать токен в shared_prefs других файлов.
Типичные ошибки и их решения
При получении токена пользователи часто сталкиваются с проблемами. Вот самые распространённые и способы их решения:
- ❌ Токен не отображается в логах
Charles Proxy:- Проверьте, что в Mi Home включён режим разработчика (
Настройки → О программе → Версия прошивки— тапните 5 раз). - Обновите
Charles Proxyдо последней версии. - Попробуйте использовать
FiddlerилиWireshark.
- Проверьте, что в Mi Home включён режим разработчика (
- ❌ ADB не видит устройство:
- Установите драйверы для вашего телефона (скачать можно на сайте производителя).
- Проверьте, включена ли отладка по USB в
Настройки → Для разработчиков. - Попробуйте другой USB-кабель (иногда проблема в повреждённом кабеле).
- ❌ Приложение Mi Home Token Extractor не находит токен:
- Обновите Mi Home до последней версии.
- Удалите кэш Mi Home в
Настройки → Приложения → Mi Home → Память → Очистить кэш. - Попробуйте переустановить Mi Home.
- ❌ Токен получен, но не работает в Home Assistant:
- Проверьте, что вы скопировали токен полностью (32 символа).
- Убедитесь, что пылесос подключён к тому же аккаунту Mi Home, с которого вы получили токен.
- Обновите интеграцию Xiaomi Miio в Home Assistant.
Безопасность: как защитить свой токен от утечки
Токен доступа к пылесосу Xiaomi — это как пароль от вашего умного дома. Если он попадёт в чужие руки, злоумышленники смогут управлять вашим устройством. Следуйте этим правилам, чтобы избежать проблем:
⚠️ Внимание: Никогда не публикуйте токен в открытых источниках (форумы, GitHub, комментарии). Даже если вы замаскируете часть символов, токен можно восстановить через историю изменений.
- 🔒 Храните токен в защищённом месте:
- Используйте менеджеры паролей (Bitwarden, 1Password).
- Не сохраняйте токен в обычных текстовых файлах на телефоне.
- 🔄 Регулярно обновляйте токен:
- Если вы подозреваете утечку, сбросьте токен через Mi Home (
Настройки устройства → Отвязать аккаунт). - После сброса токен изменится, и старый станет недействительным.
- Если вы подозреваете утечку, сбросьте токен через Mi Home (
- 🛡️ Ограничьте доступ к токену:
- Не передавайте токен третьим лицам, даже для настройки умного дома.
- Если вы нанимаете специалиста для настройки Home Assistant, создайте отдельный аккаунт Mi Home с ограниченными правами.
Если вы используете токен в Home Assistant или других системах автоматизации, настройте двухфакторную аутентификацию в аккаунте Xiaomi. Это добавит дополнительный слой защиты даже в случае утечки токена.
FAQ: Ответы на частые вопросы
Можно ли получить токен без компьютера?
Да, но с ограничениями. Вы можете использовать приложения вроде Packet Capture или PCAPdroid прямо на телефоне, но для этого потребуется:
- Установить пользовательский сертификат (как в методе с прокси).
- Настроить VPN-перехват трафика.
- Иметь root-права для некоторых приложений.
Без компьютера проще всего воспользоваться Mi Home Token Extractor, но он не всегда работает с новыми версиями Mi Home.
Почему токен состоит из 32 символов, а в некоторых инструкцияхmentioned 16?
Ранние модели пылесосов Xiaomi (например, Mi Robot Vacuum 1) использовали токены длиной 16 символов. Современные устройства (S10, X10+, Dreame Bot) работают с 32-символьными токенами. Если вы видите токен длиной 16 символов, скорее всего, это:
- Усечённый токен (возможно, в логах отображается не полностью).
- Токен от старой модели пылесоса.
- Ошибочные данные (проверьте ещё раз).
Будет ли работать токен после сброса пылесоса к заводским настройкам?
Нет. При сбросе пылесоса (Удерживайте кнопку сброса 5 секунд) все привязки к аккаунту Mi Home удаляются, и токен становится недействительным. После сброса вам придётся:
- Заново подключить пылесос к Mi Home.
- Получить новый токен одним из описанных методов.
Если вы планируете продавать или передавать пылесос, обязательно выполните сброс, чтобы новый владелец не получил доступ к вашему аккаунту.
Можно ли использовать один токен для нескольких пылесосов?
Нет, каждый пылесос Xiaomi имеет уникальный токен. Однако один аккаунт Mi Home может управлять несколькими устройствами, и для каждого из них можно получить отдельный токен. Если у вас два пылесоса, вам потребуется:
- Получить токен для первого устройства (как описано выше).
- Переключиться на второй пылесос в Mi Home и повторить процесс.
В Home Assistant или других системах автоматизации вы сможете добавить оба устройства, указав их индивидуальные токены.
Что делать, если Xiaomi заблокировала мой аккаунт после попытки получить токен?
В редких случаях частые запросы к API или использование прокси могут вызвать подозрения у системы безопасности Xiaomi, что приводит к временной блокировке аккаунта. Чтобы разблокировать его:
- Подождите 24 часа — обычно блокировка снимается автоматически.
- Попробуйте восстановить доступ через страницу входа (нажмите
Забыли пароль?). - Если блокировка не снимается, обратитесь в поддержку Xiaomi через официальный сайт.
Чтобы избежать блокировки:
- Не отправляйте слишком много запросов к API в короткий промежуток времени.
- Используйте официальные методы (например, Mi Home Token Extractor) вместо самописных скриптов.