Роботы-пылесосы Xiaomi (включая модели Mi Robot Vacuum, Dreame, Viomi) требуют специального токена доступа для интеграции с сторонними системами умного дома — Home Assistant, Node-RED, OpenHab или кастомными скриптами. Этот токен выступает как «пароль» для авторизации устройства в облаке Mi Home, но производитель не предоставляет его пользователям напрямую. Без токена вы не сможете управлять пылесосом через API, автоматизировать уборку по расписанию или связать его с другими устройствами.
Проблема в том, что Xiaomi регулярно ужесточает защиту: старые методы извлечения токена (через mitmproxy или декомпиляцию APK) перестают работать, а новые требуют актуальных знаний. В этой статье мы разберём все рабочие способы получения токена в 2026 году — от официальных (через приложение Mi Home) до альтернативных (с использованием Python-скриптов и инструментов вроде Token Extractor). Особое внимание уделим безопасности: почему нельзя делиться токеном в открытых источниках и как защитить свой аккаунт от взлома.
Что такое токен робота-пылесоса Xiaomi и зачем он нужен
Токен — это уникальный 32-значный алфавитно-цифровой ключ, который генерируется серверами Xiaomi при первом подключении устройства к аккаунту Mi Account. Он используется для:
- 🔐 Авторизации API-запросов к облаку Mi Home (например, для отправки команд
start,pause,set_mode). - 🤖 Интеграции с системами умного дома: без токена Home Assistant не сможет «увидеть» пылесос.
- 📊 Получения телеметрии: данные о заряде батареи, площади уборки, ошибках (коды
error_10,error_12и др.). - ⚙️ Настройки кастомных сценариев: например, запуск уборки при уходе из дома (через геозоны).
Важно понимать, что токен привязан к конкретному устройству и аккаунту. Если вы сбросите пылесос к заводским настройкам или переподключите его к другому Mi Account, старый токен перестанет работать. Также Xiaomi может аннулировать токен при подозрении на взлом (например, если с одного IP отправляется слишком много запросов).
Официальный способ: получение токена через Mi Home (без root)
Самый надёжный и легальный метод — извлечение токена прямо из приложения Mi Home с помощью встроенных инструментов. Он работает для большинства моделей (Mi Robot Vacuum-Mop 2 Pro, Dreame D9, Viomi V3 и др.), но требует Android-устройства (на iOS этот способ недоступен из-за ограничений Apple).
Инструкция:
- Установите последнюю версию Mi Home из Google Play.
- Авторизуйтесь в своём аккаунте Mi Account и убедитесь, что пылесос подключён к нему.
- Скачайте утилиту Packet Capture для Mi Home (или HTTP Toolkit).
- Включите режим разработчика на Android: перейдите в
Настройки → О телефоне → Номер сборки(нажмите 7 раз). - В настройках разработчика активируйте
Отладка по USBиНе выключать экран. - Запустите Packet Capture, выберите приложение Mi Home и начните запись трафика.
- В Mi Home откройте страницу вашего пылесоса и обновите данные (потяните экран вниз).
- Остановите запись в Packet Capture и найдите в логах запрос к домену
api.io.mi.comс параметромdeviceId. - В ответе сервера будет строка
"token": "ваш_токен_здесь"— скопируйте её.
Установлено последнее обновление Mi Home
Пылесос подключён к аккаунту Mi Account
Включён режим разработчика на Android
Скачана утилита Packet Capture или HTTP Toolkit
Отключён VPN/прокси (может блокировать трафик)
-->
⚠️ Внимание: Если в логах нет токена, проверьте:
- 🔄 Обновите Mi Home до последней версии (старые версии могут не отправлять токен в открытом виде).
- 🌐 Убедитесь, что ваш регион в Mi Home совпадает с регионом аккаунта (например,
Mainland ChinaилиRussia). - 📵 Отключите Двухфакторную аутентификацию на время извлечения токена (она может блокировать запросы).
Альтернативные способы: Python-скрипты и Token Extractor
Если официальный метод не сработал, можно воспользоваться сторонними инструментами. Ниже — два проверенных варианта.
Способ 1: Скрипт miio-cli (для ПК)
Утилита miio-cli позволяет получить токен через командную строку, если у вас есть IP-адрес пылесоса и логины от Mi Account.
Инструкция для Windows/Linux:
- Установите Python 3.8+ и библиотеку
python-miio:pip install python-miio - Скачайте скрипт miio_extractor.py.
- Запустите его с параметрами:
python miio_extractor.py --user ваш_email@mail.com --password ваш_пароль --country cn(замените
cnнаru, если ваш аккаунт привязан к России). - В выводе найдите строку
Token: ваш_токен.
Что делать, если скрипт выдаёт ошибку "Invalid credentials"
Проверьте, что:
1. Вы используете правильный регион (--country).
2. Пароль введён без пробелов и спецсимволов (попробуйте сменить его на простой временно).
3. В настройках Mi Account отключена двухфакторная аутентификация.
4. Ваш IP не заблокирован Xiaomi (попробуйте через VPN с китайским IP).
Способ 2: Token Extractor для Android (без root)
Приложение Token Extractor автоматизирует процесс извлечения токена из Mi Home:
- Скачайте APK с 4PDA (требуется регистрация).
- Установите приложение (разрешите установку из неизвестных источников).
- Запустите Token Extractor, авторизуйтесь в своём Mi Account.
- Нажмите
Get Tokens— через 10–30 секунд появится список устройств с токенами.
⚠️ Внимание: Некоторые антивирусы (например, Kaspersky) могут блокировать Token Extractor как «потенциально опасное ПО». Это ложное срабатывание, но скачивайте APK только с проверенных источников (например, 4PDA или GitHub).
Таблица совместимости: методы для разных моделей пылесосов
Не все способы работают одинаково хорошо для разных устройств. Ниже — актуальные данные на 2026 год:
| Модель пылесоса | Packet Capture (Android) | miio-cli (Python) | Token Extractor | Примечания |
|---|---|---|---|---|
| Mi Robot Vacuum-Mop 2 Pro | ✅ Да | ✅ Да | ✅ Да | Требуется регион China Mainland в Mi Home. |
| Dreame D9 / D10 | ✅ Да | ⚠️ Частично | ✅ Да | Для Dreame используйте --country cn в miio-cli. |
| Viomi V3 / SE | ❌ Нет | ✅ Да | ✅ Да | Packet Capture не работает из-за шифрования трафика. |
| Mi Robot Vacuum E10 | ✅ Да | ✅ Да | ❌ Нет | Токен действителен только 30 дней (требует обновления). |
| Xiaomi Mop 2 Ultra | ✅ Да | ✅ Да | ✅ Да | Поддерживает новые протоколы MiOT. |
Безопасность: как не потерять доступ к пылесосу
Токен — это как ключ от вашего устройства. Если им завладеет третье лицо, оно сможет:
- 🏠 Управлять пылесосом удалённо (включать/выключать, менять настройки).
- 📍 Получать данные о планировке вашего дома (карты уборки содержат координаты стен и мебели).
- 🔄 Отвязать устройство от вашего аккаунта (через API-запрос
unbind).
Чтобы защититься:
- Никогда не публикуйте токен в открытых репозиториях (например, на GitHub), форумах или в комментариях.
- Используйте токен только в локальных системах (например, Home Assistant на своём сервере), а не в облачных сервисах.
- Смените пароль от Mi Account после извлечения токена (на случай утечки данных).
- Ограничьте доступ к токену в настройках Home Assistant:
vacuum:- platform: xiaomi_miio
host: 192.168.1.100
token: !secret xiaomi_token # Храните токен в отдельном файле secrets.yaml
⚠️ Внимание: Если вы подозреваете, что токен скомпрометирован (например, пылесос начал вести себя странно), немедленно отвяжите его от аккаунта:
- Откройте Mi Home → перейдите на страницу пылесоса.
- Нажмите
⋮ → Настройки → Отвязать устройство. - Подключите пылесос заново — будет сгенерирован новый токен.
Частые ошибки и их решения
При извлечении токена пользователи сталкиваются с типичными проблемами. Разберём самые распространённые:
Ошибка 1: "Invalid token" или "Device not found"
Причины и решения:
- 🔄 Токен устарел: некоторые модели (Dreame Bot W10, Mi Robot E10) требуют обновления токена каждые 30–90 дней. Повторите процедуру его получения.
- 🌍 Неправильный регион: если ваш аккаунт зарегистрирован в России (
ru), а вы используете--country cnв miio-cli, запрос будет отклонён. Проверьте регион в Mi Home (Профиль → Регион). - 📵 Пылесос отключён от Wi-Fi: токен работает только при активном сетевом подключении. Убедитесь, что устройство онлайн (индикатор Wi-Fi горит синим).
Ошибка 2: "Unable to fetch token" в Packet Capture
Возможные причины:
- 📱 Старая версия Mi Home: обновите приложение до последней версии в Google Play.
- 🛡️ Блокировка трафика: отключите VPN, прокси или антивирус (например, Avast может блокировать Packet Capture).
- 🔧 Неправильные настройки Proxy: в HTTP Toolkit убедитесь, что выбран режим
Intercept Androidи установлен сертификат.
Как проверить, жив ли токен
Отправьте тестовый запрос через miio-cli:
miio --debug call 192.168.1.100 miIO.info
Если ответ содержит "result": "ok" — токен действителен. Если "error" — токен неверный или устройство офлайн.
Ошибка 3: "Device is bound to another account"
Эта ошибка возникает, если:
- 🔄 Вы сбросили пылесос к заводским настройкам, но не отвязали его от старого аккаунта.
- 👥 Устройство было подарено/продано, и предыдущий владелец не удалил его из своего Mi Account.
Решение:
- Попросите предыдущего владельца отвязать пылесос в Mi Home.
- Если связаться невозможно, обратитесь в поддержку Xiaomi с доказательством покупки (чек, коробка с серийным номером).
FAQ: ответы на популярные вопросы
Можно ли получить токен на iPhone (iOS)?
Нет, на iOS невозможно перехватить трафик Mi Home без джейлбрейка из-за ограничений Apple. Альтернативы:
- Используйте Android-эмулятор (например, BlueStacks) с установленным Mi Home и Packet Capture.
- Возьмите временно Android-устройство у друзей или купите б/у смартфон за 2–3 тыс. рублей.
- Попробуйте метод miio-cli на ПК (требуются логин/пароль от Mi Account).
Как часто нужно обновлять токен?
Зависит от модели:
- Старые модели (Mi Robot 1S, Dreame D9): токен действует неограниченно, если не сбрасывать устройство.
- Новые модели (Mi Robot Vacuum-Mop 2 Pro, Xiaomi Mop 2 Ultra): токен может сбрасываться каждые 30–90 дней (требуется повторное извлечение).
- Устройства для китайского рынка (регион
cn): токен может блокироваться при частых запросах из-за границы.
Чтобы проверить актуальность токена, отправьте тестовый запрос (см. спойлер выше).
Можно ли использовать один токен для нескольких пылесосов?
Нет, токен уникален для каждого устройства. Если у вас два пылесоса (например, Mi Robot Vacuum и Dreame Bot), для каждого нужен свой токен.
Исключение: если у вас мультизональный пылесос (например, DreameBot X30 Ultra с двумя док-станциями), он может использовать один токен для всех модулей.
Что делать, если Xiaomi заблокировала мой аккаунт после извлечения токена?
Блокировка происходит при:
- Слишком частых запросах к API (более 100 в минуту).
- Использовании токена с необычных IP (например, серверов в Европе для китайского аккаунта).
- Попытках подбора пароля через miio-cli.
Решение:
- Подождите 24 часа — временная блокировка обычно снимается автоматически.
- Напишите в поддержку Xiaomi (на английском или китайском) с объяснением, что «вы разработчик и тестируете интеграцию».
- Создайте новый аккаунт Mi Account и перенастройте пылесос (удалите старое устройство из блокированного аккаунта).
Как защитить токен при использовании Home Assistant?
Следуйте этим правилам:
- 🔐 Храните токен в файле
secrets.yaml, а не в основномconfiguration.yaml:# secrets.yamlxiaomi_token: "ваш_токен_здесь"
- 🌐 Ограничьте доступ к Home Assistant по IP (в
configuration.yaml):http:ip_ban_enabled: true
login_attempts_threshold: 3
- 🔄 Регулярно обновляйте Home Assistant и плагин
xiaomi_miio(устаревшие версии могут содержать уязвимости). - 📵 Отключите удалённый доступ к Home Assistant через Nabu Casa или DuckDNS, если не используете его.