В данной статье хочу рассказать как интегрировать пылесос Xiaomi (вторую версию, но первая должна быть аналогичной) в Homey (он же колобок). А так же обозначить зоны уборки в помещении и управлять их уборкой через HomeKit, Siri или использовать в любых сценариях.
1. Обновляем прошивку пылесоса, если требуется:
Для начала потребуется обновить пылесос до прошивки не ниже 3.3.9_001633 т.к. в ней появилась возможность сохранения карты (а так же возможность указать виртуальные ограничения зон уборки, чтобы пылесос не заезжал в проблемные зоны.). На версиях ниже тоже будет работать, но не стабильно, т.к. при каждом запуске карта будет обновляться и все координаты сбиваться.
После обновления, там же в приложении Mi Home, выбираем пылесос / настройки (многоточие в верхнем правом углу) / настройки робота / и включаем "режим сохранения карты". После чего на главной странице управления пылесосом появился кнопка "редактировать карту" жмём её и сбрасываем старую карту. Запускаем пылесос на уборку по всей квартире, чтобы он построил и сохранил всю карту помещения.
2. Добавляем пылесос в Homey:
Следующим шагом добавляем пылесос в Homey, для этого устанавливаем в Homey плагин Xiaomi Mi Home, так же потребуется знать ip адрес пылесоса в Вашей сети и token пылесоса.
IP адрес можно посмотреть на роутере в списке клиентов WiFi, а о том как достать token есть много статей, но мне больше всего понравился способ с эмулятором Android Nox и версией Mi Home от Вевса. Если у Вас есть устройство на Android, то эмулятор можно пропустить (у меня просто ни одного Android устройства дома не оказалось) подробнее где что скачать и как делать можно найти здесь.
1.Получаем токен Mi wi-fi совместимых устройств
2. Добываем токен (Token) Xiaomi MiHome с iOS устройств через MacBook
После того как достали token, добавляем в Homey новое устройство, выбираем Mi Robot в соответствующем плагине и прописываем ip и token.
3. Определяем координаты:
Для определения координат открываем приложение Mi Home и переходим на страницу пылесоса, чтобы была видна карта помещения. Далее за вводное берём координаты 25500x25500 это так называемая нулевая координата, и начинается она от док станции пылесоса. Создаём тестовый Flow, в столбик when перемещаем для теста This Flow is started, а в столбик then перетаскиваем карточку Mi Robot и перелистываем до действия Send vacuum cleaner to target. Затем необходимо задать X и Y координаты, помня что докстанция это 25500x25500 прибавляем и убавляем значение к этим координатам по 1000, и выполняя тестовый запуск Flow смотрим на открытую карту в приложении Mi Home. Запоминаем куда перемещается указатель точки назначения, тем самым сможем ориентироваться в координатах, прибавлять или убавлять их для попадания в нужную зону. Определившись с системой координат, стараемся переместить точку назначения в левый нижний угол желаемой зоны уборки. (возможно у кого-то нужно будет переместить в правый нижний угол, или даже верхний, зависит от положения док станции, но у меня это левый нижний)
4. Обозначаем границы зон:
Следующим шагом меняем действие Send vacuum cleaner to target в тестовом Flow на Start zone cleaning. Формат координаты в этой карточке следующий [18700, 27600, 22200, 33200, 1] где 18700, 27600 координаты X и Y нижней левой точки зоны уборки, которую мы определили на предыдущем шаге, а 22200, 33200 координаты верхней правой точки этой зоны, которая определяется путём экспериментов. Прибавляя и убавляя значения, проверяем получаемую зону после запуска Flow на карте в Mi Home. ВАЖНО координаты второй точки ОБЯЗАТЕЛЬНО больше чем первой! Если координаты второй точки получились меньше чем у первой, то нужно их поменять местами в шаблоне, иначе не будет работать. А последний оставшийся параметр в шаблоне "1" это количество циклов уборки, по аналогии с тем же параметром в Mi Home от 1 до 3.
Таким же способом определяем координаты других зон если требуется.
5. Добавляем в HomeKit:
Для запуска зональной уборки через Siri потребуется добавить в Homey виртуальную кнопку через модуль Virtual Devices. Лучше всего Siri будет озвучивать тип кнопки Heater, такой тип она будет считать выключателем, а не розеткой или светом.
Далее создаём Flow где when это условия включения виртуальной кнопки, а then это карточка Mi Robot с действием Start zone cleaning по указанным координатам. И ещё одна карточка это выключение виртуальной кнопки. Т.к. если оставить её включенной, то второй и далее запуск через Siri не пройдёт, т.к. HomeKit видит что данное устройство уже включено и не передаёт команду в Homey.
Остаётся только пробросить виртуальную кнопку в HomeKit через плагин от Sprut'а, переименовать как Вам нравится, и создать сценарий в приложении Home Вашей iOS, где в имя написать удобную Вам команду, например "Уберись на кухне", а в действие добавить включение той самой добавленной виртуальной кнопки.
Всё теперь можно командой через Siri "Уберись на кухне" отправить пылесос убираться в нужной зоне. Это быстрее и удобнее чем рисовать каждый раз зону в приложении Mi Home, и работает даже без интернета (разве что SiRi нужен интернет) и китайских серверов, которые часто стали сбоить, после чего в приложении Mi Home ничего нельзя сделать :-)
Пример кейса "уборка на кухне после готовки":
Для себя решил опробовать кейс уборки на кухне после окончания готовки.
После выключения подсветки в зоне готовки приходит уведомление на телефон с вопросом "запустить уборку на кухне?" и если нажать в ответе кнопку "Да" то запускается уборка по координатам кухни.
Так же отдельно, голосовой командой Siri, задал уборку в гостиной и перед входной дверью, т.к. это наиболее часто нуждающиеся зоны уборки у нас в квартире.
ты гений! А руссифицировать пробовал пылесос?
Да русифицировал конечно, самое сложное это токен достать, а прошить язык нет проблем https://4pda.ru/forum/index.php?showtopic=881982&st=2560">https://4pda.ru/forum/index.ph... здесь в первом посте вся инфа собрана же
за перевод спасибо) рад что понравилась статья!))
Эту видел:) там на маке через «питон» какой-то надо... я ничего не понял. Токен и айпи доставать научился:)
В телеграмме пиши, помогу)
Все версии пылесоса поддерживаются?
Заявлены обе, но я тестировал на второй версии
Скоро у Mi Homey будет поддержка пылесосы)
не понял
Это я про свой плагин для Athom Homey
а где посмотреть плагин можно?) чем он лучше того что уже есть в сторе?)
вот это да... вот бы еще iRobot Roomba 980 научить зоны убирать...
iRobot не умеет так карту строить, поэтому Xiaomi и выигрывает сейчас среди других пылесосов при меньшей цене) если качество уборки на первом месте то iClebo Omega, а старички iRobot не шевелятся, всё думая что они на рынке самые главные, только цену гнут, а по всем фронтам уже проиграли конкурентам)
И на сколько она точная? зоны же по ней убирать нельзя как понимаю? или ошибаюсь?
я так понимаю он строит её просто по данным от колёс как ездил, а не по датчикам типа лидара? т.к. лидара у него вроде бы и нет
она достаточно точная, к сожалению зоны убирать нельзя... вот это и напрягает... приходится двери закрывать или маяки ставить, приложение обновляют, но вот сделали бы уже обнову с зональностью, ведь чисто программно делается...
по поводу лидара - не знаю.
но его огромный плюс это уборка под кроватью... а ксиаоми умеет убирать под кроватью?
Да конечно, и под кроватью и под шкафами убирает, везде где пройдёт по высоте. Шторы и т.п. не помеха, их видит но через них тихо проезжает. Ещё есть старый шкаф один, у него внизу вензеля, пылесос определил себе одно место где вензель более высокий, и он умещается там. так вот проезжает под этим вензелем, убирается под шкафом и выезжает в этом месте. Так что построение карты у Xiaomi очень хорошее. Сама уборка хорошая, претензий нет, но у друзей
iClebo Omega убирает ещё лучше, особенно коврик у двери)
Какие версии пылесосов работают?
Обе версии, написано же и в статье и в комментариях есть ответ.
Как я понял, первая версия - это Xiaomi Mi Robot Vacuum, вторая - Xiaomi Mi Roborock Sweep One, а Xiaomi Mi Robot Vacuum Cleaner 1S- это уже 3 поколение?
Просто у меня именно 1s, а по ним не так много информации в интернете, и в MiHome как-то все по-другому выглядит:
Mi Robot Vacuum Cleaner 1S вроде бы только в этом году вышел. В плагине возможно ещё не заплили его, он в колобка подвязался? Читал анонс про эту версию, думал себе тоже обновить, а
Roborock родителям отдать. Он реально тихий стал?
Колобка нет, так что проверить не могу.
Мне кажется 1s и Roborock идентичны по начинке, просто роборок мыть умеет, а 1s не умеет, но с дополнительной камерой для навигации.
А по шуму, мощности, и прочим характеристикам вроде одинаковые.
А плагин действительно отличается, уже чуть-чуть подразобрался: после полного сканирования дома можно сохранить карту, вручную разбить на комнаты, указать зоны, которые не нужно сканировать, и потом просто указывать в какой комнате убираться.
В предыдущих версиях можно на карте указывать точку, куда ехать или зону, в которой убираться, но это чуть-чуть не то, хоть и по смыслу очень похоже
я спутал с Xiaomi Roborock Sweep T6 я его жду чтобы обновиться
При запуске через Homey (как описано в этой инструкции) должна подсвечиваться заданная область зональной уборки в приложении MiHome?
И почему-то у меня странная штука с координатами происходит: в пункте Send VC to target узнаю необходимые координаты нижней левой и верхней правой точек, но когда убираю эту команду, а на ее место ставлю Start Zone Cleaning с полученными ранее координатами, пылесос едет совершенно в другое место...