Как узнать токен робота-пылесоса Xiaomi: 4 проверенных способа

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

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

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

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

  • 🔄 Управлять пылесосом через сторонние приложения (например, Home Assistant или ioBroker).
  • 📊 Получать данные о статусе устройства (уровень заряда, карта уборки, ошибки).
  • ⚙️ Настраивать автоматизации по расписанию или триггерам (например, запуск уборки при отсутствии дома).
  • 🛠️ Обходить ограничения стандартного приложения Mi Home (например, изменять скорость вентилятора или зоны уборки).

Без токена вы сможете пользоваться пылесосом только через официальное приложение, где функционал часто урезан. Например, в Mi Home может отсутствовать возможность ручного управления зоной уборки или настройки сложных расписаний. Токен открывает доступ к полному API устройства, но его получение требует определённых действий.

⚠️ Внимание: Токен привязан к аккаунту Xiaomi и конкретному устройству. При сбросе пылесоса или перепривязке к другому аккаунту токен изменится, и его придётся получать заново.

Официальный способ: получение токена через Mi Home (для новичков)

Самый простой и безопасный метод — извлечь токен напрямую из приложения Mi Home. Он подходит для пользователей, которые не хотят углубляться в технические детали. Вам понадобится:

  • 📱 Смартфон с установленным приложением Mi Home (версия не ниже 6.0).
  • 🔌 Робот-пылесос Xiaomi, привязанный к вашему аккаунту.
  • 🖥️ Компьютер с установленным ADB (Android Debug Bridge) или эмулятором Android.

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

  1. Включите на смартфоне режим разработчика и активируйте Отладку по USB в настройках.
  2. Подключите телефон к компьютеру и подтвердите доступ к отладке.
  3. Откройте командную строку (или Terminal на macOS/Linux) и выполните команду:
    adb backup -f mi_home_backup.ab -noapk com.xiaomi.smarthome

    На телефоне появится запрос на создание резервной копии — подтвердите его, но не устанавливайте пароль.

  4. Скачайте архив com.xiaomi_mihome и распакуйте его в папку с файлом mi_home_backup.ab.
  5. Запустите скрипт mi_home_decrypt.py (для Linux/macOS) или mi_home_decrypt.bat (для Windows). Токен будет извлечён в файл mi_home_data.

В полученном файле найдите строку "token": "ваш_токен". Этот метод работает для большинства моделей, включая Xiaomi Mi Robot Vacuum-Mop 2 Pro, Mi Robot Vacuum-Mop P и Dreame Bot L10 Pro.

Подключение по USB работает стабильно|Отладка по USB включена|Приложение Mi Home обновлено|Резервная копия создана без пароля-->

Альтернативные способы получения токена

Если официальный метод не сработал (например, из-за обновлений Mi Home), можно воспользоваться альтернативными вариантами. Они требуют больше времени, но часто оказываются эффективнее.

1. Через MITM-прокси (для опытных пользователей)

Этот способ подразумевает перехват трафика между приложением Mi Home и серверами Xiaomi. Вам понадобится:

  • 📡 Прокси-сервер (например, Charles Proxy или Fiddler).
  • 📱 Укоренённый (root) Android-смартфон или эмулятор с Xposed Framework.
  • 🔧 Сертификат для декодирования HTTPS-трафика.

Алгоритм действий:

  1. Установите сертификат прокси на смартфон.
  2. Настройте перехват трафика в Charles Proxy.
  3. Откройте Mi Home и дождитесь, пока пылесос подключится к серверу.
  4. В логах прокси найдите запрос к api.io.mi.com с параметром deviceId — токен будет в ответе сервера.

2. Через облачный сервис (для моделей с поддержкой Mi Cloud)

Некоторые пылесосы (например, Xiaomi Mi Robot Vacuum-Mop 2 Lite) поддерживают облачное управление. В этом случае токен можно получить через API Mi Cloud:

  1. Авторизуйтесь на сайте account.xiaomi.com и получите cloud token (не путать с device token!).
  2. Используйте скрипт на Python для запроса списка устройств:
    import requests
    

    url = "https://api.io.mi.com/app/home/device_list"

    headers = {"x-xiaomi-protocal-flag-cli": "PROTOCAL-HTTP2"}

    data = {"data": '{"getVirtualModel":false,"getHuamiDevices":0,"getSplitDevice":false,"supportSmartHome":true}'}

    response = requests.post(url, headers=headers, data=data, cookies={"userId": "YOUR_USER_ID", "serviceToken": "YOUR_CLOUD_TOKEN"})

    print(response.json())

  3. В ответе найдите поле "token" для вашего пылесоса.
Почему облачный метод может не сработать?

Некоторые модели (например, Dreame Bot D9) используют отдельные серверы для управления, и их токены не отображаются в стандартном API Mi Cloud. В этом случае придётся использовать локальный метод (MITM или ADB).

3. Через firmware-дамп (для продвинутых)

Если пылесос поддерживает SSH-доступ (например, прошитый Valetudo), токен можно извлечь напрямую из файловой системы:

  1. Подключитесь к пылесосу по SSH (логины/пароли для популярных моделей есть на форумах XDA Developers).
  2. Выполните команду:
    cat /mnt/default/miio/miio.conf
  3. Найдите строку token=.

Этот метод подходит для устройств с кастомными прошивками, но требует разблокировки загрузчика и может привести к потере гарантии.

Официальный (через ADB)|MITM-прокси|Облачный API|Firmware-дамп|Ещё не решил-->

Таблица совместимости методов с моделями пылесосов

Не все способы работают для всех устройств. Ниже представлена таблица совместимости для популярных моделей Xiaomi и Dreame (актуально на 2026 год):

Модель пылесоса ADB-метод MITM-прокси Облачный API Firmware-дамп
Xiaomi Mi Robot Vacuum-Mop 2 Pro
Xiaomi Mi Robot Vacuum-Mop P ✅ (с Valetudo)
Dreame Bot L10 Pro ✅ (требует root)
Xiaomi Mi Robot Vacuum-Mop 2 Lite
Dreame Bot D9 ✅ (только для прошитых устройств)

Если ваша модель не указана в таблице, проверьте её на форумах 4PDA или GitHub — там часто публикуют актуальные данные по новым устройствам.

Частые ошибки и как их избежать

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

  • 🔴 Ошибка "Unable to find device" при использовании ADB:

    Проверьте, включена ли отладка по USB и установлены ли драйверы для вашего смартфона. На некоторых устройствах (например, Xiaomi с MIUI) нужно дополнительно разрешить отладку в настройках безопасности.

  • 🔴 Токен не найден в резервной копии:

    Обновите приложение Mi Home до последней версии и повторите процедуру. Если не поможет, попробуйте альтернативный метод (MITM или облачный API).

  • 🔴 Прокси не перехватывает трафик:

    Убедитесь, что на смартфоне установлен сертификат прокси и настроен правильный IP/порт. На Android 10+ может потребоваться дополнительная настройка VPN.

  • 🔴 Токен перестал работать после обновления:

    Это нормальное поведение — Xiaomi иногда сбрасывает токены при обновлении прошивки. В этом случае придётся получать новый.

⚠️ Внимание: Если вы используете Home Assistant или аналогичные системы, после смены токена не забудьте обновить его в конфигурационном файле (configuration.yaml). Иначе интеграция перестанет работать.

Безопасность: как защитить свой токен от утечки

Токен устройства — это ключ к управлению вашим пылесосом. Если он попадёт в чужие руки, злоумышленники смогут:

  • 🏠 Управлять пылесосом удалённо (включать/выключать уборку, менять настройки).
  • 📍 Получать данные о планировке вашего дома (если пылесос строит карту).
  • 🔄 Подключать устройство к своим аккаунтам.

Чтобы избежать этого, следуйте правилам:

  1. Никогда не публикуйте токен в открытых источниках (форумы, GitHub, чаты).
  2. Используйте токен только в локальных системах (например, Home Assistant на домашнем сервере).
  3. Если подозреваете утечку, сбросьте устройство к заводским настройкам и получите новый токен.
  4. Для облачных интеграций (например, IFTTT) используйте ограниченные токены с минимальными правами.

Если вы передаёте токен разработчику для отладки, сгенерируйте временный аккаунт в Mi Home и привяжите пылесос к нему. После тестирования удалите устройство из временного аккаунта.

FAQ: Ответы на частые вопросы

Можно ли получить токен без root-прав?

Да, для большинства моделей достаточно метода с ADB-бэкапом или MITM-прокси. Root требуется только для извлечения токена из firmware или если стандартные способы не работают (например, на некоторых устройствах Dreame).

Почему токен изменился после обновления прошивки?

Xiaomi периодически обновляет протоколы безопасности, и при критичных изменениях токен может сброситься. Это нормальное поведение — просто получите новый токен тем же способом, что и раньше.

Работает ли этот метод для пылесосов других брендов (Roborock, Ecovacs)?

Нет, токены для Roborock или Ecovacs извлекаются по-другому. Для Roborock есть отдельные инструкции по получению токена через приложение Mi Home (если устройство выпущено до 2020 года) или через облачный API. Для Ecovacs обычно требуется MITM-прокси или специализированные утилиты вроде DreameVacuum.

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

Нет, каждый пылесос имеет уникальный токен, привязанный к его deviceId. Даже если у вас два одинаковых устройства, их токены будут разными.

Что делать, если ни один метод не сработал?

Попробуйте следующие шаги:

  1. Обновите прошивку пылесоса и приложение Mi Home до последней версии.
  2. Проверьте, не блокирует ли антивирус или фаервол перехват трафика (для MITM).
  3. Обратитесь на специализированные форумы (например, 4PDA или GitHub), где могут подсказать актуальный способ для вашей модели.