Роботы-пылесосы Xiaomi давно перестали быть просто «умными швабрами» — сегодня это полноценные помощники с открытым API, поддержкой сценариев автоматизации и возможностью глубокой кастомизации. Однако большинство пользователей ограничиваются базовыми функциями из приложения Mi Home, даже не подозревая, что их Mi Robot Vacuum или Xiaomi Robot Vacuum-Mop 2 Pro можно запрограммировать на выполнение сложных задач: от уборки по расписанию с учётом влажности воздуха до интеграции с системой умного дома на базе Home Assistant.
В этой статье мы разберём все способы программирования роботов-пылесосов Xiaomi — от простых настроек в официальном приложении до работы с токенами API, создания пользовательских скриптов и прошивки альтернативного ПО. Особое внимание уделим моделям с LDS-лидаром (например, Mi Robot Vacuum-Mop P или S7 MaxV), так как они поддерживают наиболее гибкие сценарии. Если вы никогда не занимались программированием техники, не переживайте: первые разделы написаны для новичков, а сложные моменты мы разберём на конкретных примерах с пошаговыми инструкциями.
Предупреждаем заранее: глубина настройки зависит от модели вашего робота. Устройства без лидара (например, Mi Robot Vacuum Cleaner 1S) имеют ограниченные возможности, тогда как флагманские модели вроде Xiaomi Robot Vacuum-Mop 2 Ultra позволяют управлять даже давлением швабры и скоростью вращения щёток через API. Чтобы не запутаться, в конце статьи мы приведём сравнительную таблицу возможностей по моделям.
1. Базовые настройки в приложении Mi Home: что можно запрограммировать без технических знаний
Официальное приложение Mi Home (или Xiaomi Home для европейских регионов) — самый простой способ запрограммировать робота-пылесоса. Здесь доступны основные функции, которые покрывают 80% потребностей пользователей:
- 📅 Расписание уборки — настройка автоматической уборки по дням недели и времени.
- 🗺️ Зональная уборка — выбор конкретных комнат или зон на карте (доступно для моделей с лидаром).
- 🔄 Режимы работы — переключение между «Тихой», «Сбалансированной», «Турбо» и «Максимальной» мощностью.
- 🚫 Запретные зоны — обозначение областей, которые робот должен игнорировать (например, детские коврики или миски с едой).
- 🔋 Управление зарядкой — настройка уровня заряда батареи для начала уборки.
Чтобы настроить расписание, откройте приложение Mi Home, выберите ваш робот-пылесос и перейдите в раздел Расписание. Здесь можно создать несколько правил, например:
- Уборка по будням в 9:00 (когда все ушли на работу).
- Влажная уборка по субботам в 12:00.
- Быстрая уборка кухни ежедневно в 18:00 перед приходом домочадцев.
⚠️ Внимание: Если ваш робот-пылесос Xiaomi не сохраняет карту после выключения, проверьте настройки Сохранение карты в меню устройства. В некоторых прошивках эта опция отключена по умолчанию для экономии энергии.
Для моделей с поддержкой многокомнатной карты (например, S7 MaxV) доступна функция Уборка по комнатам. Вы можете указать, какие помещения убирать в конкретное время. Например, спальню — только по утрам, а коридор — ежедневно. Для этого:
- Откройте карту в приложении Mi Home.
- Нажмите на иконку
Редактировать(карандаш). - Выделите нужные комнаты и сохраните зону.
- В расписании выберите созданную зону вместо «Всей площади».
2. Продвинутые сценарии в Mi Home: автоматизация по триггерам
Мало кто знает, но в Mi Home есть встроенный конструктор автоматизации (Умные сценарии), который позволяет создавать цепочки действий на основе триггеров. Например, робот может начинать уборку, когда:
- 🏠 Вы уходите из дома (по геолокации смартфона).
- 🌡️ Уровень пыли в воздухе превышает норму (данные с датчика Xiaomi Air Purifier или Mi Air Quality Monitor).
- 🕒 Прошло N часов после последней уборки.
- 🔋 Заряд батареи робота достиг 100%.
Чтобы создать такой сценарий:
- В Mi Home перейдите в раздел
Профиль → Умные сценарии → Добавить сценарий. - Выберите
Если...и укажите триггер (например,Геолокация → Ушёл из дома). - В блоке
То...добавьте действиеНачать уборкудля вашего робота-пылесоса. - Сохраните сценарий и включите его.
Более интересные примеры:
- 🚪 Уборка после открытия входной двери. Если у вас есть умный замок Xiaomi Smart Door Lock, можно настроить уборку приходной зоны через 10 минут после открытия двери.
- 💧 Влажная уборка при высокой влажности. Используйте данные с датчика Mi Temperature and Humidity Sensor: если влажность выше 60%, робот моет полы.
- 🐕 Уборка после кормления питомца. Если у вас есть автоматическая кормушка Xiaomi Pet Feeder, запускайте робота через 30 минут после кормления, чтобы убрать рассыпанный корм.
⚠️ Внимание: Сценарии с геолокацией сильно сажают батарею смартфона. Если робот срабатывает нестабильно, проверьте настройки энергосбережения для приложения Mi Home (разрешите работу в фоновом режиме).
3. Работа с API Xiaomi: как получить токен и управлять роботом через HTTP-запросы
Для тех, кому возможностей Mi Home недостаточно, существует неофициальный API Xiaomi. С его помощью можно отправлять роботу прямые команды через HTTP-запросы, интегрировать его с Home Assistant, Node-RED или даже писать собственные скрипты на Python. Главное — получить токен устройства.
Существует несколько способов извлечь токен:
- Через приложение Mi Home (для Android).
- Установите модифицированную версию Mi Home с поддержкой вывода токенов.
- Авторизуйтесь и найдите ваш робот-пылесос в списке устройств.
- Токен отобразится в информации об устройстве.
- Через MITM-прокси (для iOS/Android).
- Настройте перехват трафика через Fiddler или Charles Proxy.
- В Mi Home выполните любое действие с роботом (например, запустите уборку).
- В логах прокси найдите запрос к
api.io.mi.com— токен будет в параметреdeviceId.
npm install -g miio-cli
miio discover --handshake
Скрипт выведет список устройств в вашей сети с токенами.
После получения токена вы можете отправлять команды роботу через HTTP. Пример запроса для запуска уборки на Python:
import requests
token = "YOUR_DEVICE_TOKEN" # Замените на ваш токен
did = "YOUR_DEVICE_ID" # ID устройства (можно найти в Mi Home)
ip = "192.168.1.100" # Локальный IP робота
url = f"http://{ip}/miIO.info"
headers = {"Content-Type": "application/json"}
data = {
"id": 1,
"method": "miIO.info",
"params": []
}
response = requests.post(url, json=data, headers=headers)
print(response.json())
Запуск уборки
url = f"http://{ip}/miIO.info"
data = {
"id": 2,
"method": "app_start",
"params": []
}
response = requests.post(url, json=data, headers=headers)
Полный список поддерживаемых команд для роботов-пылесосов Xiaomi можно найти в документации Home Assistant. Например:
app_start— начать уборку.app_pause— приостановить уборку.app_zoned_clean— уборка в указанной зоне (требуются координаты).app_goto_target— отправить робота в конкретную точку на карте.
⚠️ Внимание: Токены устройств Xiaomi могут меняться после обновления прошивки или сброса настроек. Если команды перестали работать, повторите процедуру извлечения токена.
Что будет если кто-то узнает ваш токен устройства?
Если токен попадёт в чужие руки, злоумышленник сможет управлять вашим роботом-пылесосом через локальную сеть (например, запускать уборку ночью или отправлять его в запретные зоны). Чтобы защититься:
1. Не публикуйте токен в открытых репозиториях (например, на GitHub).
2. Используйте локальную сеть вместо облака (команды отправляйте на IP робота, а не через api.io.mi.com).
3. Периодически меняйте токен, сбрасывая настройки робота в Mi Home (Настройки устройства → Общие → Сброс).
4. Интеграция с Home Assistant: полный контроль над роботом
Home Assistant — это открытая платформа для умного дома, которая позволяет объединить устройства разных производителей в единую систему. С её помощью вы можете:
- 📊 Визуализировать карту уборки в реальном времени.
- 🤖 Создавать сложные автоматизации с учётом данных с других датчиков.
- 📱 Управлять роботом через голосовых помощников (Алиса, Google Assistant, Siri).
- 🔄 Синхронизировать уборку с другими устройствами (например, выключать робота при включении пылесоса).
Чтобы подключить робот-пылесос Xiaomi к Home Assistant:
- Установите Home Assistant на Raspberry Pi, NAS или ПК.
- В файле конфигурации
configuration.yamlдобавьте интеграциюxiaomi_miio:vacuum:- platform: xiaomi_miio
host: 192.168.1.100 # IP робота
token: YOUR_DEVICE_TOKEN
- Перезагрузите Home Assistant.
- В интерфейсе появится новая сущность
vacuum.xiaomi_vacuum, которой можно управлять через панели или автоматизации.
Пример автоматизации в Home Assistant, которая запускает уборку, когда все ушли из дома, а влажность воздуха выше 50%:
automation:
- alias: "Уборка при отсутствии дома и высокой влажности"
trigger:
- platform: state
entity_id: group.family
to: "not_home"
for: "00:30:00" # Задержка 30 минут
condition:
- condition: numeric_state
entity_id: sensor.humidity
above: 50
action:
- service: vacuum.start
entity_id: vacuum.xiaomi_vacuum
- service: notify.telegram
data:
message: "Робот начал уборку: влажность {{ states('sensor.humidity') }}%."
Важно: модели роботов-пылесосов Xiaomi с прошивкой после 2023 года могут требовать дополнительную аутентификацию через облако. В этом случае для интеграции с Home Assistant потребуется использовать компонент miio2 с поддержкой облачного токена.
Получить токен устройства|Установить Home Assistant на Raspberry Pi/NAS|Добавить интеграцию xiaomi_miio в configuration.yaml|Проверить подключение в меню Developer Tools → States|Создать тестовую автоматизацию-->
5. Альтернативные прошивки: Valetudo и открытые возможности
Если вас не устраивают ограничения стандартной прошивки Xiaomi, можно установить альтернативное ПО, такое как Valetudo. Это проект с открытым исходным кодом, который предоставляет:
- 🌐 Локальное управление без зависимости от облака Xiaomi.
- 🗺️ Продвинутые инструменты работы с картой (редактирование зон, ручное управление).
- 🔧 Поддержка пользовательских скриптов на
JavaScript. - 📡 Интеграция с MQTT для умного дома.
Valetudo поддерживает следующие модели роботов-пылесосов Xiaomi:
| Модель | Поддержка Valetudo | Требуется ли рутинг | Особенности |
|---|---|---|---|
| Mi Robot Vacuum 1S | ✅ Да | ✅ Да | Ограниченная функциональность из-за слабого железа |
| Mi Robot Vacuum-Mop P | ✅ Да | ✅ Да | Полная поддержка LDS-лидара и зонной уборки |
| Xiaomi Robot Vacuum-Mop 2 Pro | ✅ Да | ❌ Нет (установка через SSH) | Поддержка мультикарт и автоматического распознавания комнат |
| S7 MaxV | ✅ Да | ❌ Нет | Поддержка 3D-камер и улучшенной навигации |
Процесс установки Valetudo зависит от модели. Для большинства устройств потребуется:
- Получить root-доступ к роботу (например, через уязвимость в прошивке или специальный скрипт).
- Подключиться к роботу по
SSH(обычно по адресуroot@192.168.1.100, пароль пустой или1234567890). - Запустить установщик Valetudo:
wget -O - https://raw.githubusercontent.com/Hypfer/Valetudo/master/scripts/install.sh | bash - После установки веб-интерфейс Valetudo будет доступен по адресу
http://[IP_робота]:80.
В интерфейсе Valetudo вы можете:
- 🖥️ Управлять роботом через веб-браузер (включая ручное управление с джойстика).
- 📝 Редактировать карту, добавлять виртуальные стены и зоны уборки.
- 📊 Просматривать статистику уборки и ошибки.
- 🔧 Настраивать пользовательские команды через
JavaScript.
⚠️ Внимание: Установка альтернативных прошивок может привести к потере гарантии и нестабильной работе робота. Перед прошивкой сделайте резервную копию оригинальной прошивки через команду dd if=/dev/mtdblock0 of=/tmp/full_backup.bin.
6. Программирование через сторонние приложения: AlternativeApp и другие
Если работа с API и прошивками кажется слишком сложной, можно использовать сторонние приложения, которые расширяют функционал Mi Home. Самые популярные:
- 📱 AlternativeApp for Xiaomi Vacuum (Android) — позволяет настраивать расписание с точностью до минуты, создавать сложные зоны уборки и управлять роботом без интернета.
- Поддерживает модели: Mi Robot Vacuum 1/1S, Mi Robot Vacuum-Mop P, S5/S6.
- Требует токен устройства (извлекается так же, как для API).
- 🌍 Vacuum Map Viewer (веб) — отображает карту уборки в реальном времени с возможностью ручного управления.
- Работает через облако Xiaomi (нужен токен).
- Поддерживает экспорт карты в формате
.svg.
- 🤖 Robot Vacuum Controller (iOS) — альтернатива Mi Home с расширенными настройками зон и расписания.
- Есть функция "Следование за мной" (робот едет за вами по дому).
- Поддерживает голосовое управление через Siri.
Пример настройки AlternativeApp:
- Скачайте APK с GitHub и установите на Android.
- Добавьте робот-пылесос, введя его
IP,токениDevice ID. - В меню
Advancedнастройте:Custom commands— создайте собственные команды (например, уборка только по периметру).Map management— редактируйте сохранённые карты.DND mode— настройте "не беспокоить" по расписанию.
Преимущества сторонних приложений:
- ✅ Нет зависимости от серверов Xiaomi (работает локально).
- ✅ Больше гибкости в настройке зон и расписания.
- ✅ Поддержка старых моделей, которые больше не обновляются.
Недостатки:
- ❌ Требуется ручная настройка (токены, IP).
- ❌ Нет официальной поддержки (возможны баги).
7. Сравнение возможностей программирования по моделям Xiaomi
Не все роботы-пылесосы Xiaomi поддерживают продвинутые функции. Ниже — сравнение популярных моделей по возможностям кастомизации:
| Модель | LDS-лидар | Поддержка Valetudo | API-команды | Зональная уборка | Мультикарта | Интеграция с Home Assistant |
|---|---|---|---|---|---|---|
| Mi Robot Vacuum 1S | ❌ Нет | ✅ Да (с рутингом) | Базовые | ❌ Нет | ❌ Нет | ✅ Да |
| Mi Robot Vacuum-Mop P | ✅ Да | ✅ Да | Расширенные | ✅ Да | ❌ Нет | ✅ Да |
| Xiaomi Robot Vacuum-Mop 2 Pro | ✅ Да (прецизионный) | ✅ Да | Полные | ✅ Да | ✅ Да (до 3 карт) | ✅ Да |
| S7 MaxV | ✅ Да + 3D-камера | ✅ Да | Полные + камера | ✅ Да | ✅ Да (до 4 карт) | ✅ Да |
| Xiaomi Robot Vacuum-Mop 2 Ultra | ✅ Да (двойной лидар) | ❌ Нет (пока) | Полные + базовая станция | ✅ Да | ✅ Да (до 5 карт) | ✅ Да |
Если ваша модель не поддерживает нужные функции, рассмотрите апгрейд. Например, переход с Mi Robot Vacuum 1S на Xiaomi Robot Vacuum-Mop 2 Pro откроет доступ к:
- 🗺️ Точной карте с сохранением нескольких этажей.
- 🚿 Автоматической смене режимов (пылесос/швабра).
- 🔄 Интеграции с другими устройствами умного дома.
8. Частые ошибки и их решение
При программировании роботов-пылесосов Xiaomi пользователи сталкиваются с типичными проблемами. Разберём самые распространённые:
- 🔌 Робот не отвечает на API-команды.
- Проверьте, что IP-адрес робота не изменился (используйте статический IP в роутере).
- Убедитесь, что токен актуальный (после обновления прошивки он может сброситься).
- Проверьте, что робот и устройство, с которого отправляются команды, находятся в одной сети.
- 🗺️ Карта не сохраняется после выключения.
- Включите опцию
Сохранение картыв настройках робота в Mi Home. - Для моделей без лидара карта не сохраняется принципиально (они используют случайный алгоритм уборки).
- Включите опцию
- 🔄 Робот не возвращается на базу.
- Проверьте, что база установлена на ровной поверхности и не закрыта препятствиями.
- Обновите прошивку робота (в старых версиях были баги с навигацией).
- Если робот застрял, используйте команду
app_chargeчерез API, чтобы принудительно отправить его на зарядку.
- 📱 Приложение Mi Home не видит робот.
- Перезагрузите робот (зажмите кнопку питания на 10 секунд).
- Сбросьте настройки робота до заводских (
Настройки → Общие → Сброс). - Проверьте, что робот подключён к сети 2.4 GHz (не 5 GHz).
Если робот выдаёт ошибку с кодом (например, Error 10 или Error 12), расшифровать её можно в документации Home Assistant. Например:
Error 3— робот застрял.Error 5— проблема с боковой щёткой.Error 9— низкий заряд батареи.
⚠️ Внимание: Если после прошивки Valetudo робот перестал включаться, проверьте целостность файловой системы через SSH. Частая причина — нехватка места в разделе/tmp. Решение: подключитесь по SSH и выполнитеdf -h, чтобы проверить свободное место.