DivanX10

<<< Back

Пылесос Xiaomi Mi Robot Vacuum

Статья о том, как настроить 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 - Чистка в указанной точке

Так выглядит мое меню управления пылесосом

Боковое меню

Всплывающее меню

Чтобы иконки менялись по статусу пылесоса, я в сценах выбрал изображение и присвоил каждому состоянию состояние устройства

Discuss (16) (12)

See also:
2019-10-21 Блог чайника. Простое устройство. Выключатель.
2019-10-21 Блог чайника. Блокировка ночного режима.
2019-10-12 Blockly. Вариант 2 - Адаптивный "Ночной режим"
2019-10-12 Blockly. Вариант 1 - Если я ушел из дома, а "Ночной режим" еще не выключен
2019-10-11 Blockly. Режим "Кто-то дома" | "Дома никого нет" | "Дома спят"
2019-10-08 Blockly. Рабочий/выходной/отпуск - немного укоротил сборку кода в блоках
2019-10-07 Blockly. Создаем сценарии рабочий/выходной/отпуск для нестандартного рабочего графика
2019-10-12 Blockly. Мои блоки - месяц
2019-10-12 Blockly. Мои блоки - дни недели

Москва, Россия