Xiaomi Roborock интеграция в умный дом Home Assistant
![](https://ext.mysku-st.net/250s/pic.mysku-st.ru/uploads/pictures/09/11/18/2020/05/20/98dba4.png)
Всем привет! Сегодня я хотел бы поговорить о роботах пылесосах в умном доме. Эти устройства прошли эволюцию от обычного робота пылесоса, хаотично тыкающегося в стены и промахивающегося мимо зарядки до пылесоса, умеющего строить карту и двигающемся в упорядоченном порядке. Современные устройства требуют все меньше внимания, переводя управление с физических кнопок в приложения на мобильном телефоне. В этом посте я хочу пойти немного дальше и показать, как подключить робот -пылесос в систему домашней автоматизации Home Assistant и свести взаимодействие с ним только к очистке мусорного контейнера
Сразу хочу отметить, пост не про обзор содержимого коробки и функционала всем известного робота от Xiaomi. Скорее я хочу поделиться тем, как я интегрировал его в умный дом Home Assistant
Из коробки робот неплохо убирается, причем уборка производится не хаотично, а последовательно, робот строит карту помещения с возможностью отметок виртуальных стен (можно посмотреть в приложении MiHome) имеет возможность запуска по расписанию. Так же робот можно интегрировать с другими устройствами экосистемы Xiaomi. По сравнению с моим предыдущим Irobot Roomba 780 это однозначно шаг вперед, я бы сказал прыжок в части удобства уборки, при этом качество уборки как минимум не хуже.
Из оставшихся неудобств — шум при уборке. Особенно это не приятно, когда смотришь телевизор, а он убирается в той же комнате.
Итак, постановка задачи: робот создает много шума, который мешает, поэтому он должен сам проводить уборку, пока никого нет дома. Второе условие- никаких китайских облаков. Все должно работать локально, т.е без интернета.
Для интеграции с Home Assistant в первую очередь нам нужно получить токен робота. Удаляем приложение MiHome на телефоне и устанавливаем ломаную версию MiHome MiHome от vevs на 4pda
Далее
— заходим в плагин пылесоса
— вызываем меню пылесоса (три точки в правом верхнем углу) / General settings / Информация о сети.
— General settings
Если пылесос был добавлен ранее, до установки MI HOME от vevs, нужно его удалить и добавить заново вручную. После получения токена, приложение можно удалить и установить родной MiHome
В файл configuration.yaml Home Assistant помещаем код из файла Xiaomi_vacuum.yaml Перезагружаем сервер и после этого пылесос будут доступен для размещения на домашнем экране. Стандартная карточка позволяет управлять роботам так же как и из родного приложения, просматривать остаток фильтров и пр. Дополнительно скрипт включает в себя пример зональной уборки, когда можно на карточке выбрать комнату в которой нужно убраться, а так же выбор мощности.
Ссылка на плагин GitHub
Карточка может выглядеть к примеру так:
![](https://pic.mysku-st.net/uploads/pictures/09/11/18/2020/05/20/e64b9b.png)
Через какое-то время я пришел к выводу, что ни я ни члены моей семьи ни разу не выбирали отдельную комнату и мощность уборки, поэтому я убрал всю лишнюю информацию и оставил только переключатель автоматической уборки, который я выключаю, когда надолго уезжаю. Теперь карточка выглядит следующим образом:
![](https://pic.mysku-st.net/uploads/pictures/09/11/18/2020/05/20/7f3b08.png)
Настраиваем логику работы пылесоса в графическом редакторе Node Red (установленный как addon в Home Assistant). Код автоматизаций приведен в файле node_red_vacuum.txt
![](https://pic.mysku-st.net/uploads/pictures/09/11/18/2020/05/20/61679a.png)
Согласно заложенной логике, пылесос каждый день начиная с 8:00 будет ожидать, когда все уйдут из дома, после чего выставит максимальную мощность всасывания и начинать уборку. Сообщения о начале, окончании и ошибкам во время уборки будут приходить на телефон в виде push сообщений с помощью плагина fcm-android. Так же в 8 утра на телефон придет push запрос: начать уборку сейчас или все-таки подождать. Сейчас я его отключил за ненадобностью, но логика осталась
![](https://pic.mysku-st.net/uploads/pictures/09/11/18/2020/05/20/695e85.jpg)
Ссылка на плагин уведомлений fcm-android:
Ссылка на плагин GitHub
По итогу сейчас мы узнаем об уборке только по информационным сообщениям на телефонах. Но мусор все же выкидывать приходится.
Ну и в завершении модная интеграция с голосовыми помощниками на примере Yandex Алисы
Сразу хочу отметить, пост не про обзор содержимого коробки и функционала всем известного робота от Xiaomi. Скорее я хочу поделиться тем, как я интегрировал его в умный дом Home Assistant
Из коробки робот неплохо убирается, причем уборка производится не хаотично, а последовательно, робот строит карту помещения с возможностью отметок виртуальных стен (можно посмотреть в приложении MiHome) имеет возможность запуска по расписанию. Так же робот можно интегрировать с другими устройствами экосистемы Xiaomi. По сравнению с моим предыдущим Irobot Roomba 780 это однозначно шаг вперед, я бы сказал прыжок в части удобства уборки, при этом качество уборки как минимум не хуже.
Из оставшихся неудобств — шум при уборке. Особенно это не приятно, когда смотришь телевизор, а он убирается в той же комнате.
Итак, постановка задачи: робот создает много шума, который мешает, поэтому он должен сам проводить уборку, пока никого нет дома. Второе условие- никаких китайских облаков. Все должно работать локально, т.е без интернета.
Для интеграции с Home Assistant в первую очередь нам нужно получить токен робота. Удаляем приложение MiHome на телефоне и устанавливаем ломаную версию MiHome MiHome от vevs на 4pda
Далее
— заходим в плагин пылесоса
— вызываем меню пылесоса (три точки в правом верхнем углу) / General settings / Информация о сети.
— General settings
Если пылесос был добавлен ранее, до установки MI HOME от vevs, нужно его удалить и добавить заново вручную. После получения токена, приложение можно удалить и установить родной MiHome
В файл configuration.yaml Home Assistant помещаем код из файла Xiaomi_vacuum.yaml Перезагружаем сервер и после этого пылесос будут доступен для размещения на домашнем экране. Стандартная карточка позволяет управлять роботам так же как и из родного приложения, просматривать остаток фильтров и пр. Дополнительно скрипт включает в себя пример зональной уборки, когда можно на карточке выбрать комнату в которой нужно убраться, а так же выбор мощности.
Ссылка на плагин GitHub
Карточка может выглядеть к примеру так:
![](https://pic.mysku-st.net/uploads/pictures/09/11/18/2020/05/20/e64b9b.png)
Через какое-то время я пришел к выводу, что ни я ни члены моей семьи ни разу не выбирали отдельную комнату и мощность уборки, поэтому я убрал всю лишнюю информацию и оставил только переключатель автоматической уборки, который я выключаю, когда надолго уезжаю. Теперь карточка выглядит следующим образом:
![](https://pic.mysku-st.net/uploads/pictures/09/11/18/2020/05/20/7f3b08.png)
Настраиваем логику работы пылесоса в графическом редакторе Node Red (установленный как addon в Home Assistant). Код автоматизаций приведен в файле node_red_vacuum.txt
![](https://pic.mysku-st.net/uploads/pictures/09/11/18/2020/05/20/61679a.png)
Согласно заложенной логике, пылесос каждый день начиная с 8:00 будет ожидать, когда все уйдут из дома, после чего выставит максимальную мощность всасывания и начинать уборку. Сообщения о начале, окончании и ошибкам во время уборки будут приходить на телефон в виде push сообщений с помощью плагина fcm-android. Так же в 8 утра на телефон придет push запрос: начать уборку сейчас или все-таки подождать. Сейчас я его отключил за ненадобностью, но логика осталась
![](https://pic.mysku-st.net/uploads/pictures/09/11/18/2020/05/20/695e85.jpg)
Ссылка на плагин уведомлений fcm-android:
Ссылка на плагин GitHub
По итогу сейчас мы узнаем об уборке только по информационным сообщениям на телефонах. Но мусор все же выкидывать приходится.
Ну и в завершении модная интеграция с голосовыми помощниками на примере Yandex Алисы
Самые обсуждаемые обзоры
+14 |
1539
44
|
+68 |
4995
156
|
+62 |
4143
72
|
Со стороны нуба в этом деле хотелось бы понять как оно у Вас вообще составлено и за счет чего работает адекватно.
У меня оно замечательно работает по расписанию, и напрягает только одно — выносить мешок с мусором.
Причем, из-за малой мощности пылесоса (все они такие) фильтр не особо качественный и пыль И выдувается И вываливается обратно через заборную щель (назад). Так что, приходится каждый раз идти и делать вскрытие.
Пропустил хоть раз — себе навредил, мусор может спокойно лежать кучками, особенно на слабой силе всасывания.
У меня 1 модель.
я убираю на средней скорости раза по 2-3 в день область у кошачьего лотка, вытряхиваю контейнер раз в неделю.
ничего не высыпается, а там шерсть, наполнитель из лотка, пыль, всё остаётся в контейнере. (робот сяоми первого поколения)
Сам «ковер» не важен, на нем просто четче заметны «выбросы».
Это не я «придумал» — внимательно посмотрите на конструкцию пылесборника и сразу отпадут все вопросы.
# Спальня [[25120,20953,30470,25053,2]]
# Кухня [[20755, 26622,23905,31822,2]]
# Коридор [[19282,20911,24532,26611,2]]
И автоматизация автоматизировалась.
Я только что выключил интернет, отключив кабель от роутера. Робот работает из интерфейса ha
Потому как:
1. Вы разрешили пылесосу ваш wifi, следовательно — установили приложение из которого дали адрес роутера
2. «Далее — заходим в плагин пылесоса» т.е. через сервер китая…
3. «шлюз xiaomi» — это из другой оперы… Вопрос был: «команды управления от HA идут на пылесос через интернет и китайские сервера». Или вы тыкаете карточки не понимая что дальше?
Напоминаю — очень интересует методика и железо от функции: «когда все уйдут из дома»
Для проверки — присвойте пылесосу (на роутере) адрес отличный от того который был в приложении. Если всё работает — Вы победили (а я пошёл изучать Home Assistant). Если-же нет… Очередные костыли (причём кривые)
HA напрямую посылает команды пылесосу, используя в качестве ключа токен. Как его получить я написал в статье. IP адрес указывается не в приложении MiHome, а в HA как раз для того, чтобы локально управлять роботом
Документация по интеграции Roborock и HA
www.home-assistant.io/integrations/vacuum.xiaomi_miio/
Скажу даже больше, все устройства Xiaomi (как Wifi так и ZigBee), которые я использую работают локально без китайских облаков
И все встало. А я в коммандировке на 3 недели.
Семье сидеть 2-3 недели в абсолютно мертвой квартире? Я думаю меня прибьют по приезду…
Критически оценивая мою инсталляцию я могу сказать, что ничего страшного не произойдет даже если упадет сервер умного дома. Все устройства продолжат работать сами или позволят управлять ими вручную. Вот к примеру термостат на батарее с физическими кнопками
К ним пркрутил управление через самый простой сонофф через домотикз. Но все равно практически не использую, основная регулировка идет через управление полом
Себе я покупал ZWave этот. Мне он обошелся с доставкой в 5000
по приезду через неделю, меня готовы были растерзать. света в доме небыло.
после этого была переделана схема и сделан резерв, чтобы можно было и физически и дистанционно пользоваться светом.
Сейчас сижу на Xiaomi, хочется перестать все делать через китайские серверы.
в MiHome не нашел ничего подобного.
каким образом осуществляется интеграция и куда необходимо вставлять инфомацию из токена, который мы получили от ми хоум вевс?
Подскажите что я делаю не так
1. Добавил файл yaml в папку /config, добавил в secrets host + token. Перезапустил и прогнозируемо ничего не случилось. В устройствах, объектах ничего нового.
2. Начал крутить !include vacuum_xiaomi.yaml. ни в раздел homeassistant: добавить, ни как другие команды типа «scene: !include scenes.yaml» — ничего типа «vacuum: !include vacuum_xiaomi.yaml» не сработало. А что вообще надо сделать или заинклудить после того, как файл ямл размещен?