Как получить токен для робота-пылесоса Xiaomi: все рабочие методы

Роботы-пылесосы Xiaomi — одни из самых популярных устройств для умного дома, но их полноценное использование за пределами стандартного приложения Mi Home требует специального токена. Этот уникальный идентификатор позволяет интегрировать пылесос с Home Assistant, Node-RED, сторонними приложениями или даже написать собственные скрипты для автоматизации. Без токена вы не сможете удалённо управлять устройством через API, настраивать сложные сценарии или обходить региональные ограничения.

Проблема в том, что Xiaomi не предоставляет токен открыто — его нужно извлекать самостоятельно. Способы получения менялись с годами: если раньше достаточно было перехватить трафик через HTTP-прокси, то теперь требуются обходные пути из-за ужесточения безопасности. В этой статье мы разберём все актуальные методы (включая те, что работают в 2026 году), их плюсы и минусы, а также дадим пошаговые инструкции с учётом последних обновлений прошивок.

Что такое токен робота-пылесоса Xiaomi и зачем он нужен

Токен (или token) — это уникальный алфавитно-цифровой ключ длиной 32 символа, который идентифицирует ваше устройство в экосистеме Xiaomi. Он генерируется серверами компании при первой привязке пылесоса к аккаунту и используется для авторизации запросов к API. Без токена сторонние приложения не смогут:

  • 📱 Управлять пылесосом через Home Assistant, ioBroker или OpenHAB.
  • 🔄 Обходить региональные блокировки (например, для использования китайских моделей в Европе).
  • 🤖 Автоматизировать уборку по расписанию с учётом датчиков движения или влажности.
  • 📊 Получать расширенную статистику (карты уборки, время работы, износ щёток).

Важно понимать, что токен привязан к конкретному аккаунту Mi Account и устройству. Если вы сбросите пылесос к заводским настройкам или перепривяжете его к другому аккаунту, старый токен перестанет работать. Также Xiaomi может блокировать токены при подозрительной активности (например, слишком частых запросах к API).

⚠️ Внимание: Никогда не делитесь своим токеном в открытых источниках (форумах, гитхабе, чатах). Злоумышленники могут использовать его для управления вашим пылесосом или даже кражи данных аккаунта Mi Account.

Способ 1: Получение токена через Mi Account (официальный метод)

Это самый простой и безопасный способ, но он работает только для устройств, привязанных к китайскому серверу (cn). Если ваш пылесос подключён к серверам Европы (eu), России (ru) или США (us), этот метод не сработает — потребуется смена региона (об этом ниже).

Инструкция:

  1. Откройте приложение Mi Home и перейдите в профиль (иконка человека в правом нижнем углу).
  2. Нажмите на Настройки аккаунта → Безопасность → Устройства с доступом.
  3. Найдите в списке свой робот-пылесос и скопируйте строку Device ID (например, 123456789).
  4. Перейдите на сайт account.xiaomi.com, авторизуйтесь и откройте инструменты разработчика (F12 в браузере).
  5. Вкладка Network → найдите запрос к /api/user/getProfile → в ответе будет поле token.

Если поле token отсутствует, значит ваш аккаунт не имеет прав на просмотр токенов. В этом случае попробуйте:

  • 🌐 Сменить регион аккаунта на Китай (инструкция в следующем разделе).
  • 📧 Написать в поддержку Xiaomi с просьбой предоставить токен (указывайте Device ID).

Способ 2: Смена региона сервера на Китай (для получения токена)

Если ваш пылесос привязан к серверам Европы, России или США, официальный метод не сработает. Решение — временная смена региона аккаунта на Китай. Это позволит получить токен, после чего можно вернуть прежние настройки.

Пошаговая инструкция:

Удалите пылесос из аккаунта Mi Home|Смените регион аккаунта на Китай (mainland.cn)|Подключите пылесос заново через Wi-Fi|Получите токен через Mi Account (Способ 1)|Верните прежний регион (опционально)

-->

Важные нюансы:

  • 📱 Приложение Mi Home должно быть китайской версии (скачайте APK с APKPure).
  • 🌍 Регион аккаунта меняется в настройках профиля (может потребоваться подтверждение по SMS).
  • ⚠️ После смены региона все устройства в аккаунте будут отвязаны! Заранее сохраните их настройки.
⚠️ Внимание: Некоторые модели пылесосов (например, Xiaomi Mi Robot Vacuum-Mop 2 Pro) могут заблокировать функцию уборки при смене региона. Перед процедурой проверьте совместимость вашей модели на форумах (например, 4PDA).
📊 Какой пылесос Xiaomi у вас?
Mi Robot Vacuum-Mop 2
Dreame D9
Mi Robot Vacuum-Mop P
Mi Robot Vacuum-Mop 2 Pro
Другой

Способ 3: Перехват токена через HTTP-прокси (для опытных)

Этот метод работает для всех регионов, но требует навыков работы с сетью. Суть — перехватить трафик между приложением Mi Home и серверами Xiaomi, когда токен передаётся в открытом виде.

Что понадобится:

  • 📱 Android-смартфон с root-правами или ПК с Fiddler/Charles Proxy.
  • 🔌 Установленный сертификат прокси на устройстве (для расшифровки HTTPS).
  • 📡 Локальная сеть, где пылесос и смартфон подключены к одному роутеру.

Инструкция для Charles Proxy:

  1. Установите Charles Proxy на ПК и настройте прокси на смартфоне (IP адрес ПК, порт 8888).
  2. В Charles включите SSL Proxying для домена api.io.mi.com.
  3. Запустите Mi Home, авторизуйтесь и дождитесь синхронизации с пылесосом.
  4. В логах Charles найдите запрос к /api/user/getProfile — в ответе будет поле "token":"ваш_токен".

Для Android без root:

1. Установите приложение Packet Capture из Google Play.

2. Настройте фильтр на домен api.io.mi.com.

3. Запустите захват трафика и откройте Mi Home.

4. В логах найдите JSON с полем"token".

Что делать, если токен не виден в логах?

Если в перехваченном трафике нет поля"token", попробуйте:

1. Обновить Mi Home до последней версии.

2. Переподключить пылесос к Wi-Fi.

3. Использовать другой прокси-инструмент (например, mitmproxy).

4. Проверить, не блокирует ли антивирус захват трафика.

Способ 4: Извлечение токена через ADB (для Android)

Если у вас есть Android-смартфон с root-правами, токен можно извлечь напрямую из базы данных приложения Mi Home. Этот метод работает независимо от региона сервера.

Инструкция:

  1. Подключите смартфон к ПК и запустите adb shell.
  2. Выполните команды:
    su
    

    cd /data/data/com.xiaomi.smarthome/databases

    sqlite3 mihome.db

    .tables

  3. Найдите таблицу miuser и выполните:
    SELECT * FROM miuser;
  4. В выводе будет поле token с вашим ключом.

Если таблица mihome.db отсутствует, попробуйте:

  • 🔍 Поискать токен в файле /data/data/com.xiaomi.smarthome/shared_prefs/mihome_preferences.xml.
  • 📱 Использовать файловый менеджер с root-доступом (например, Root Explorer).
⚠️ Внимание: Изменение файлов в /data/data/ может привести к сбоям в работе Mi Home. Перед манипуляциями сделайте резервную копию папки com.xiaomi.smarthome.

Способ 5: Альтернативные методы (для продвинутых пользователей)

Если ни один из вышеперечисленных способов не сработал, остаются менее стандартные, но рабочие варианты:

Метод Сложность Необходимые инструменты Примечания
Python-скрипт с Mi Account Средняя Python 3, библиотека miio Требует логин/пароль от Mi Account. Пример скрипта: GitHub.
Фирменное ПО Dreame Низкая Приложение Dreamehome (для пылесосов Dreame) Токен можно извлечь из логов приложения через logcat.
Обратная разработка APK Высокая JADX, Apktool Требует знаний Java/Kotlin. Нужно декомпилировать Mi Home и найти класс работы с токенами.

Для пылесосов Dreame (например, Dreame D9 или DreameBot L10 Pro) токен можно получить через приложение Dreamehome:

  1. Установите Dreamehome и привяжите пылесос.
  2. Подключите смартфон к ПК и запустите adb logcat | grep"token".
  3. Во время синхронизации с пылесосом в логах появится строка с токеном.

Частые ошибки и их решения

При получении токена пользователи сталкиваются с типичными проблемами. Вот как их решить:

  • 🔄 Токен недействителен или истёк:

    Токены Xiaomi могут"сгорать" при:

    • Смене пароля в Mi Account.
    • Обновлении прошивки пылесоса.
    • Длительном бездействии (более 6 месяцев).

    Решение: получите новый токен любым из описанных методов.

  • 🚫 Ошибка"Invalid token" при использовании API:

    Проверьте:

    • Регион сервера (токен для cn не сработает на eu).
    • Правильность Device ID (должен совпадать с тем, что в Mi Home).
    • Формат токена (32 символа, без пробелов).
  • 🔒 Аккаунт заблокирован после множества запросов:

    Xiaomi может временно блокировать аккаунты при подозрительной активности (например, 100+ запросов к API в минуту). Решение:

    • Подождите 24 часа.
    • Смените пароль в Mi Account.
    • Используйте официальное приложение для"разблокировки".

Если пылесос перестал отвечать на команды после смены токена, выполните:

  1. Перезагрузку пылесоса (удерживайте кнопку питания 10 секунд).
  2. Сброс Wi-Fi-настроек в Mi Home (Настройки устройства → Сброс сети).
  3. Повторную привязку к аккаунту.

FAQ: Ответы на популярные вопросы

Можно ли использовать один токен для нескольких пылесосов?

Нет. Токен уникален для каждой пары"аккаунт + устройство". Если у вас 2 пылесоса, придётся получать 2 разных токена.

Как проверить, работает ли токен?

Используйте команду через Python:

from miio import Vacuum

vacuum = Vacuum(ip="192.168.1.100", token="YOUR_TOKEN")

print(vacuum.status)

Если токен действительный, команда вернёт статус пылесоса (заряд, режим уборки и т. д.).

Что делать, если пылесос не подключается к Wi-Fi после смены региона?

Проблемачна для моделей с прошивкой newer 2023 года. Решения:

  • Используйте точку доступа 2.4 GHz (5 GHz не поддерживается).
  • В ручном режиме укажите SSID сети (без пробелов и спецсимволов).
  • Обновите прошивку пылесоса через Mi Home.
Можно ли получить токен без смартфона?

Да, но только для пылесосов с поддержкой LAN-режима (например, Xiaomi Mi Robot Vacuum-Mop 2 Pro). Используйте скрипт:

python3 -m pip install python-miio

mirobo discover --handshake true

Скрипт найдёт пылесос в локальной сети и предложит ввести токен для подключения.

Как часто нужно обновлять токен?

Официально токены Xiaomi не имеют срока годности, но на практике их приходится обновлять раз в 1–2 года (или после смены пароля/прошивки). Чтобы уменьшить риск блокировки:

  • Не используйте токен в публичных проектах (например, на GitHub).
  • Ограничьте частоту запросов к API (не более 10 в минуту).
  • Регулярно обновляйте прошивку пылесоса.