Как узнать токен пылесоса Xiaomi на компьютере: все рабочие методы 2026 года

Роботы-пылесосы Xiaomi (включая модели Mi Robot Vacuum, Viomi, Dreame) требуют уникального токена для интеграции со сторонними системами умного дома — Home Assistant, ioBroker или Node-RED. Этот токен действует как «пароль» для удалённого управления устройством через MIOT-протокол. Проблема в том, что Xiaomi официально не предоставляет токен пользователям, скрывая его в зашифрованных пакетах приложения Mi Home.

В этой статье — 5 актуальных способов извлечь токен на ПК (включая методы для Windows, Linux и macOS), разбор типичных ошибок (например, Invalid token или Device not found), а также способы проверки токена на работоспособность без риска заблокировать аккаунт. Все инструкции протестированы на моделях 2020–2026 годов и совместимы с последними версиями прошивок.

Почему токен пылесоса Xiaomi нельзя получить официально

Компания Xiaomi намеренно ограничивает доступ к токенам устройств по трём причинам:

  • 🔒 Безопасность: токен позволяет управлять пылесосом удалённо, что создаёт риск несанкционированного доступа (например, через уязвимости в Home Assistant).
  • 📊 Контроль экосистемы: Xiaomi продвигает собственную платформу Mi Home и ограничивает интеграцию с конкурентами (например, Google Home или Apple HomeKit).
  • 📈 Монетизация: некоторые функции (например, зонирование или расписание) могут быть платными в сторонних системах, тогда как в Mi Home они бесплатны.

Тем не менее, токен можно извлечь легально — он хранится в кеше приложения на вашем смартфоне или передаётся в открытом виде при подключении к пылесосу через Wi-Fi. Главное — не нарушать пользовательское соглашение (например, не распространять токены публично).

📊 Какой пылесос Xiaomi у вас?
Mi Robot Vacuum-Mop 2 Lite
Viomi V3
Dreame D9
Xiaomi Mi Robot Vacuum (1-я генерация)
Другой

Способ 1: Извлечение токена через Mi Home (Android) + ПК

Самый надёжный метод — перехват трафика между приложением Mi Home на смартфоне и серверами Xiaomi. Для этого понадобится:

  • 📱 Смартфон Android с установленным Mi Home (версия не ниже 6.0).
  • 💻 Компьютер с Windows/Linux/macOS и программой Fiddler или Charles Proxy.
  • 🔌 Один Wi-Fi-роутер (пылесос и смартфон должны быть в одной сети).

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

  1. Установите на ПК Fiddler (бесплатно) или Charles Proxy (платный, но с триалом).

  2. На смартфоне включите Режим разработчика (7 раз нажмите на Номер сборки в настройках телефона) и активируйте Отладку по USB.

  3. Подключите смартфон к ПК по USB и в Fiddler перейдите в Tools → Options → Connections. Установите галочку Allow remote computers to connect.

  4. На смартфоне в настройках Wi-Fi удерживайте палец на вашей сети, выберите Изменить сеть → Дополнительно и в поле Прокси укажите IP-адрес вашего ПК и порт 8888.

  5. Запустите Mi Home, обновите данные пылесоса (например, откройте его карту). В Fiddler отфильтруйте запросы по домену api.io.mi.com.

  6. Найдите запрос с URL, содержащим /home/rpc/. В ответе сервера будет строка вида "token": "ваш_токен_здесь" (обычно 32 символа).

Установить Fiddler/Charles на ПК

Включить режим разработчика на Android

Подключить смартфон к ПК по USB

Настроить прокси на смартфоне

Обновить данные пылесоса в Mi Home-->

⚠️ Внимание: если в ответе сервера токена нет, проверьте:

  • Версию Mi Home (в старых версиях токен передавался открыто, в новых — шифруется).
  • Регион аккаунта (токены для серверов China Mainland и Europe отличаются).
  • Наличие VPN (отключите его — он может перенаправлять трафик).

Способ 2: Использование Mi Home Lite (без root)

Приложение Mi Home Lite (упрощённая версия Mi Home) хранит токены в незашифрованном виде в файле конфигурации. Этот метод работает без root-прав, но требует доступа к файловой системе смартфона.

Инструкция:

  1. Установите Mi Home Lite из APKPure (официальный магазин может не подойти).

  2. Авторизуйтесь в приложении и добавьте пылесос (если он уже был в Mi Home, данные синхронизируются автоматически).

  3. Подключите смартфон к ПК и с помощью ADB скопируйте файл:

    adb pull /data/data/com.xiaomi.smarthome.lite/shared_prefs/mihome_lite_preferences.xml
  4. Откройте скачанный файл в любом текстовом редакторе и найдите строку <string name="device_token_ДИД_пылесоса">..., где ДИД — уникальный идентификатор устройства (например, 123456789).

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

DID (Device ID) можно найти в Mi Home: откройте карточку пылесоса → Настройки (⚙️) → Об устройстве → "ID устройства" (обычно 8–10 цифр).

⚠️ Внимание: если файл mihome_lite_preferences.xml пустой или токена в нём нет, попробуйте:

  1. Перезапустить Mi Home Lite и обновить данные пылесоса.
  2. Использовать другой файл: /data/data/com.xiaomi.smarthome.lite/databases/mihome.db (нужен SQLite-редактор).

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

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

Шаги:

  1. Установите ADB Tools на ПК и подключите смартфон по USB.

  2. Выполните команду для доступа к shell:

    adb shell
    

    su

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

    sqlite3 mihome.db

  3. Введите SQL-запрос для поиска токена:

    SELECT token FROM devices WHERE deviceID='ДИД_пылесоса';

Если токен не отображается, попробуйте альтернативный запрос:

SELECT * FROM devices;
Модель пылесоса Совместимость с ADB Примечания
Mi Robot Vacuum 1S ✅ Да Токен хранится в mihome.db
Viomi V3 ✅ Да Может потребоваться SQLite Editor
Dreame D9 ⚠️ Частично Токен шифруется, нужен Python-скрипт
Mi Robot Vacuum-Mop 2 Lite ✅ Да Работает только с Mi Home версий 5.9–6.1

Способ 4: Перехват токена через HTTP-прокси (без ПК)

Если у вас нет компьютера, токен можно получить с помощью HTTP-прокси прямо на смартфоне. Для этого понадобится приложение Packet Capture (или HTTP Toolkit для Android).

Алгоритм:

  1. Установите Packet Capture и включите запись трафика.

  2. Запустите Mi Home и обновите статус пылесоса (например, нажмите «Уборка»).

  3. Остановите запись и отфильтруйте запросы по ключевому слову miot-spec.org.

  4. В теле ответа найдите поле "token". Если его нет, проверьте запросы к api.io.mi.com.

⚠️ Внимание: некоторые версии Mi Home используют HTTPS с pinning, что блокирует перехват. В этом случае поможет только изменение сертификатов (инструкция ниже).

Как обойти HTTPS-pinning в Mi Home?

1. Установите Frida на ПК: pip install frida-tools.

2. Подключите смартфон и запустите скрипт:

frida -U -l mihome_ssl_pinning.js -f com.xiaomi.smarthome --no-pause

3. Скрипт mihome_ssl_pinning.js можно найти на GitHub.

Способ 5: Генерация токена через Python-скрипт

Для моделей Dreame (например, Dreame D9 или DreameBot L10 Pro) токен можно сгенерировать с помощью Python и библиотеки miio. Этот метод подходит, если другие способы не сработали.

Инструкция:

  1. Установите Python 3.8+ и библиотеку miio:

    pip install python-miio
  2. Скачайте скрипт mi_token_extractor.py.

  3. Запустите скрипт с параметрами (замените IP_пылесоса и DID):

    python mi_token_extractor.py IP_пылесоса DID

Пример вывода:

Device ID: 123456789

Token: a1b2c3d4e5f678901234567890abcdef

Model: dreame.vacuum.p2046

⚠️ Внимание: если скрипт выдаёт ошибку Device did not respond, проверьте:

  • Пылесос включён и подключён к тому же Wi-Fi, что и ПК.
  • В брандмауэре Windows разрешён трафик на порт 54321 (используется протокол MIOT).
  • IP-адрес пылесоса статический (назначьте его в настройках роутера).

Как проверить токен на работоспособность

Перед использованием токена в Home Assistant или другом сервисе обязательно проверьте его. Для этого:

  1. Установите Node.js и библиотеку miio:

    npm install miio
  2. Создайте файл test_token.js с кодом:

    const miio = require('miio');
    

    miio.device({ address: 'IP_пылесоса', token: 'ваш_токен' })

    .then(device => console.log('Успех! Модель:', device.model))

    .catch(err => console.error('Ошибка:', err));

  3. Запустите скрипт: node test_token.js.

Если вывод содержит модель пылесоса (например, roborock.vacuum.s5) — токен рабочий. Типичные ошибки:

Ошибка Причина Решение
Invalid token Неверный токен или регион Проверьте регион аккаунта в Mi Home (настройте server в скрипте)
Device not found Пылесос выключен или не в сети Перезагрузите пылесос и роутер
Timeout Блокировка брандмауэром Отключите Windows Defender или добавьте исключение для miio

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

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

  • 🔄 Токен меняется после обновления Mi Home: Xiaomi периодически сбрасывает токены для безопасности. Используйте Home Assistant с плагином Xiaomi Cloud Map Extractor, который обновляет токен автоматически.
  • 🌍 Ошибка региона: если пылесос куплен для Китая, а аккаунт зарегистрирован в Европе, токен не будет работать. Решение — сменить регион в Mi Home (настройки аккаунта → Country/Region).
  • 🔒 Аккаунт заблокирован: при слишком частом извлечении токенов Xiaomi может временно заблокировать доступ. Подождите 24 часа или свяжитесь с поддержкой через официальный сайт.

Если ни один метод не сработал, попробуйте:

  1. Сбросить пылесос к заводским настройкам (зажмите кнопку питания на 10 секунд).
  2. Использовать виртуальную машину с Android-x86 и чистой установкой Mi Home.
  3. Обратиться в сообщество Home Assistant — там есть актуальные скрипты для новых моделей.

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

Можно ли получить токен пылесоса Xiaomi без смартфона?

Да, но только для моделей с поддержкой LAN-протокола (например, Roborock S7). Используйте Python-скрипт с библиотекой miio, указав IP-адрес пылесоса. Для большинства моделей Xiaomi (например, Mi Robot Vacuum 1C) смартфон обязателен.

Что делать, если токен состоит из 64 символов, а не 32?

Это зашифрованный токен (обычно в формате Base64). Его нужно декодировать. В Linux/macOS используйте команду:

echo "ваш_токен" | base64 --decode

Для Windows подойдёт онлайн-декодер.

Как узнать IP-адрес пылесоса для Python-скрипта?

IP-адрес можно найти:

  • В роутере (раздел DHCP Clients или Подключённые устройства).
  • Через Mi Home: откройте карточку пылесоса → Настройки → О устройстве → Локальная сеть.
  • С помощью сканера сети (например, Advanced IP Scanner).
Безопасно ли делиться токеном с другими?

Нет. Токен даёт полный контроль над пылесосом: злоумышленник может:

  • Запускать уборку в любое время.
  • Получить доступ к карте вашего дома (если пылесос поддерживает LDS-картирование).
  • Удалить устройство из вашего аккаунта Mi Home.

Используйте токен только в доверенных системах (например, локальном Home Assistant).

Работают ли эти методы для пылесосов Dreame?

Да, но с оговорками:

  • Для Dreame D9/D10 подходит Python-скрипт (способ 5).
  • Модели DreameBot (например, L10 Pro) требуют облачного токена, который можно получить через специализированные инструменты.
  • Mi Home не поддерживает Dreame — используйте приложение Dreame, но токен извлекается аналогично (через HTTP-прокси).