Статья о том, как настроить MD для управления пылесосом и как извлечь координаты для зональной уборки.
Скачать готовую настройку класса и объекта пылесоса для импорта в MD можно здесь
Скачать полные настройки (класс и объекты, меню управления и сцена) для MD можно здесь
Скачать иконки пылесоса можно здесь. Иконки нарисованы в векторе, открывать в CoralDraw. Можно передалать их по своему вкусу и экспортировать в png. При экспорте указать размер пикселей, я выбрал для себя 28pix и разрешение 72dpi.
Обзор иконок
Скачиваем и устанавливаем программу Bluestack, можете и на телефон поставить, но мне удобнее было скопировать координаты в блокнот через Bluestack.
Скачиваем и устанавливаем программу FloleVac Now
Выбираем импорт из MiHome
Указываем логин\пароль от Mi Home
Переходим в раздел карты и еще раз указываем логин\пароль от Mi Home и выбираем сервер как в MiHome
Переходим в раздел карты. Перед тем, как будем выбирать зоны, сначала должна быть построена карта. Выделяем зону уборки. Потом нажимаем и удерживаем кнопку "Очистить зону" до тех пор, пока не появится сообщение "Координаты скопированы". Больше 5-ти зон не удаться сделать, но можно выделять одну зону и копировать координаты и так можно делать бесконечно.
На основе полученных координатах можно создавать свои сценарии или методы, кому как удобно. Пример списка сценарии
Создаем сценарии и вписываем такой код с координатами.
Формат команды для zoned_clean:
либо одна зона [zone1], либо список зон [zone1],[zone2],...
[x1 Integer, y1 Integer, x2 Integer, y2 Integer, times Integer]
[26234,26042,27284,26642,5] - убрать одну зону 5 раз
[26234,26042,27284,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,3] - убрать три зоны
Формат команды для goto_target:
[x Integer, y Integer]
[24200,20200]
Для примера, свои координаты обнулил, а так вместо этих координат вы можете вставить свои координаты. Можно вставить в одной комнате до 5-ти зон.
setGlobal('Xiaomi_MiRobotVacuum.ZonedClean', '[00000,00000,00000,00000,1],[00000,00000,00000,00000,1]');
Как управлять пылесосом?
Управление пылесосм происходит отправкой через свойство command:
app_start - начать уборку;
app_stop - остановить уборку;
app_pause - приостановить уборку;
app_spot - прибрать участок вокруг пылесоса;
app_charge - отправить на базу и встать на зарядку;
find_me - посигналить, чтобы найти пылесос.
Само свойство command
Полный список команд можно посмотреть здесь
Описание метрик пылесоса
1)filter_work_life - уход, через сколько времени нужно будет заменить фильтр
2)map_present - Карта построена или нет 1 или 0
3)in_cleaning - запуск уборки
4)fan_power - мощность всасывания
5)dnd_enabled - режим "Не беспокоить"
6)custom_mode - режим уборки (Тихий, Сбалансированный, Турбо, Полная скорость)
7)sensor_dirty_life - очистка датчиков после 30 часов
8)clean_time - сколько времени затрачено на последнюю уборку
9)filter_work_time - через который промежуток времени нужно заменить фильтр
10)battery - уровень заряда
11)side_brush_work_life - индикатор времени работы боковой щетки, где через 200 часов нужно ее заменить
12)main_brush_work_life - индикатор времени работы основной щетки, где через 300 часов нужно ее заменить
13)state - цифровое обозначение состояния пылесоса
14)state_text - тестовое сообщение состояния пылесоса
15)online - статус сети
Пример того, что означают цифры state
Обозначение свойства "state"
Zoned cleaning|Зональная уборка - state 17
Charging|Зарядка - state 8
Back to home|Обратно на базу - state 6
Spot Cleaning|Чистка точки - state 11
Обозначение свойства "state_text"
Cleaning - Уборка
Zoned cleaning - Зональная уборка
Charging - Заряжается
Sleeping - Спит
Waiting - Ожидание
Pause - Пауза
Back to home - Обратно на базу
Going to target - Идет к указанной точке
Spot Cleaning - Чистка в указанной точке
Так выглядит мое меню управления пылесосом
Боковое меню
Всплывающее меню
Чтобы иконки менялись по статусу пылесоса, я в сценах выбрал изображение и присвоил каждому состоянию состояние устройства
Москва, Россия