Интеграция Roborock S5 Max
Содержание
Вступление
Интеграция этого пылесоса в УДЯ доступна через навык умного дома Xiaomi, но в штатном навыке ограниченное количество функций. Данная статья предлагает расширенный вариант управления пылесосом.
Как расширенное решение предлагается подключение пылесоса сторонними средствами по такой цепочке:
что позволило автору статьи завести 38 команд управления (5 сервисных и 33 адресных):
- Полная уборка / возобновление полной уборки;
- Постановку уборки на паузу;
- Возврат на док-станцию;
- Возобновление комнатной уборки;
- Возобновление зональной уборки;
- А также по три режима (по количеству проходов) для каждой из 11 комнат (зон).
Параметры оборудования автора статьи:
- Робот-пылесос: Roborock S5 Max (Регион: EU, версия ПО: 3.5.8_0876)
- Устройство под управлением ОС Android: HTC One M7 (версия Android: 5.0.2)
- Яндекс Станция Мини.
За помощь в интеграции большое спасибо @MaxZoa, участникам групп @station_yandex и @kapiba, а также пользователям тематической ветки на форуме 4PDA.
Рекомендации
- Для упрощения рекомендуется использовать таблицу, как на рисунке ниже. Поддержание в ней актуальных данных позволит избежать путаницы, а также легко и без ошибок добавлять новые команды.
- Названия для полей лучше использовать идентичные: это уменьшит шанс возникновения конфликтов в будущем.
Требования
Нам понадобится:
- Смартфон под управлением OS Android, постоянно подключённый к сети Internet;
- Установленное модифицированное приложение Mi Home от vevs;
- Приложение MacroDroid (для создания более чем 5 макросов необходимо приобретение версии PRO);
- Базовые навыки работы с файловой системой Android;
- Базовые навыки работы с кодом в текстовом редакторе.
Подготовка
- Установите на смартфон модифицированное приложение Mi Home от Vevs;
- Проверьте/активируйте доступ к внутреннему хранилищу устройства для приложения Mi Home;
- Создайте следующие директории в корневом каталоге вашего устройства:
- \vevs
- \vevs\automations
- \vevs\logs
- Установите приложение MacroDroid. При необходимости создания больше 5 сценариев управления
роботом пылесосом - приобретите PRO версию приложения.
Настройка Mi Home
- Запустите модифицированное приложение Mi Home от Vevs на вашем устройстве;
- Запустите плагин робота-пылесоса;
- Поочерёдно запустите уборку в всех интересующих вас комнатах и зонах (дожидаться окончания уборки не нужно);
- В файле `\vevs\logs\devices.txt` узнайте Did номер вашего робота-пылесоса;
- В файле \vevs\logs\*did номер вашего робота-пылесоса*.txt найдите значения (представленные
соответственно на рисунке ниже) вида:
- "app_segment_clean","params":[{"segments":[NN], где NN – это id определённой комнаты
- "app_zoned_clean","params":XXXXX,XXXXX,XXXXX,XXXXX,Y, где XXXXX - это координаты зоны, а Y - количество прогонов.
В этом же файле вы можете обнаружить передачу следующих (см рисунок) команд:
- постановка уборки на паузу;
- возврат на док станцию;
- запуск / возобновление полной уборки;
- возобновление комнатной уборки;
- возобновление зональной уборки;
- изменение параметров уборки (мощность всасывания и уровень подачи воды).
Изменение параметров уборки (мощности всасывания и уровня подачи воды) происходит единой командой, поэтому смена режимов через задачи и сценарии затруднена из-за большого числа (5х4=20) команд для всех комбинаций. Тем не менее автор статьи прикладывает значения для разных параметров уборки: "fan_power": 101…105 – мощность всасывания, "water_box_mode": 200…203 – уровень подачи воды.
Теперь отредактируйте файл roborock.vacuum.s5e.json в соответствии со следующими правилами и рекомендациями:
- соблюдайте правила разметки, используемые в данном файле, например:
- между блоками задач должна присутствовать запятая;
- после последнего блока задач запятой быть не должно;
- задачи «Запустить (продолжить) полную уборку», «Приостановить уборку» и «Вернуться на док-станцию» уже
присутствуют в списке задач робота-пылесоса по умолчанию, создавать с ними задачу не нужно.
- "sa_id": – идентификатор задачи. У каждой задачи должен быть уникальный номер, допустимы значения от 1 до 999 (у автора присвоены значения задач от 1 до 35);
- "name": и "keyName": – имена задачи. Кириллица допускается.
Целесообразно присваивать этим полям идентичные значения, а также придерживаться ограничений в 20 символов на поле, и избегать использования спецсимволов (нечитаемых символов) для снижения риска конфликтов и путаницы на следующих этапах;
Добавьте такие блоки для задач:
- Поместите отредактированный файл roborock.vacuum.s5e.json в директорию \vevs\automations
- Перезапустите приложение Mi Home
- В разделе «Автоматизация» создайте новый сценарий с условиями
- «Если…» – «Общие\Выполнить вручную»
- «Выполнить…» – «Roborock S5 Max» – «*имя задачи*»
- После создания всех, необходимых сценариев – их можно протестировать на корректность нажатием кнопки «Запуск».
Дополнительные рекомендации
Для упрощения и ускорения интеграции робота-пылесоса перед завершением настройки приложения Mi Home рекомендуется сохранить для дальнейшего использования:
- id номер вашего аккаунта Xiaomi;
- названия и id номера созданных сценариев,
а также проверить их работоспособность из этого приложения.
При правильном подходе – по завершению данного этапа возвращаться к настройке или информации данного приложения больше не потребуется.
Ошибка в составлении файла проявится в отсутствии устройств умного дома в списке автоматизации (см. рисунок ниже).
Настройка MacroDroid (или аналога)
- Запустите приложение MacroDroid на вашем устройстве
- Создайте новый макрос со следующими параметрами:
- Название макроса: название сценария из Mi Home
- Триггер: Связь/Вею-крюк (URL) со следующими параметрами:
- Идентификатор – название сценария из Mi Home, действие: Связь/Отправить интент со следующими параметрами:
- Цель – Activity
- Действие – com.xiaomi.smarthome.scene.smarthomelauncher
- Дополнение 1 – extra_scene_account, значение – "id аккаунта xiaomi"
- Дополнение 2 – extra_str_scene_id, значение – "id сценария"
- другие поля оставить пустыми
После создания макросов их можно протестировать нажатием на «Тестировать действия» во всплывающем меню при долгом нажатии на макрос, а также при переходе по URL-адресу в триггере макроса.
Дополнительные рекомендации
Для упрощения и ускорения интеграции робота-пылесоса перед завершением настройки приложения MacroDroid рекомендуется сохранить для дальнейшего использования URL-адреса триггеров макросов, а также проверить их работоспособность из этого приложения, а также переходом по веб ссылкам триггеров в браузере.
При правильном подходе возвращаться к настройке или информации данного приложения больше не потребуется.
Кузя
- Откройте страницу навыка «Домовёнок Кузя» и авторизуйтесь в ней с помощью учётной записи Яндекс.
- Создайте правило HTTP (GET) со следующими параметрами:
- Активационная фраза – Название сценария
- URL управления устройством – URL адрес триггера макросаиз приложения MacroDroid
- Тип запроса – GET
- Ждать ответа от сервера – Нет
- Проверять SSL сертификат сервера – Да
- Выход из навыка после выполнения – Да
- Правило включено - Вкл
- Создайте виртуальное устройство умного дома типа «Выключатель» со следующими параметрами:
- Название устройства – Название сценария
- Правило на включение – соответствующее правило HTTP (GET)
Дополнительные рекомендации
Удобнее сначала создать HTTP (GET) правила для всех сценариев, а затем создавать виртуальные устройства с присвоением им соответствующих правил.
Именно «Название устройства» будет интегрироваться в качестве прибора в панель управления умным домом от Яндекс, поэтому соблюдение ограничений по названию позволит избежать конфликтов на последующем этапе.
При правильном подходе возвращаться к настройке или информации данного приложения больше не потребуется.
Алиса
- Зайдите на страницу панель управления умным домом от Яндекс.
- Добавьте устройства из навыка «Домовенок Кузя»:
- Добавить / Другое устройство / Популярные производители / Домовенок Кузя
- В списке устройств отобразятся устройства «Переключатель», активацией которых можно проверить правильность
исполнения предыдущих этапов
- Для удобной активации конкретного сценария уборки необходимо создать сценарий управления для Алисы, а именно:
- указать фразу для активации сценария
- в качестве действия выбрать включение виртуального устройства с соответствующим сценарием уборки
- (опционально) добавить голосовой ответ о корректном принятии задачи.