Stupid House

Xiaomi Mijia Sweeping Vacuum Cleaner 1C интеграция с Home Assistant


Xiaomi Mijia Sweeping Vacuum Cleaner 1C интеграция с Home Assistant

Робот пылесос Xiaomi Mijia Vacuum Cleaner 1C - не дорогая модель робота пылесоса с возможностью влажной уборки. Рассмотрим интеграцию устройства с системой автоматизации Home Assistant. Все ниже описанное относится к модели STYTJ01ZHM (версия для китая: SKV4073CN, глобальная версия: SKV4093GL) dreame.vacuum.mc1808.

Xiaomi Mijia Sweeping Vacuum Cleaner 1C интеграция с Home Assistant

 

Предварительная подготовка

Пылесос в локальной сети работает по протоколу Xiaomi miio, поэтому для подключения к сторонним системам автоматизации нам потребуется token устройства. Как получить токен подробно написано в статье: Xiaomi miio получение токена для доступа к устройству.

 

Интеграция с Home Assistant

Для интеграции Xiaomi Mijia Sweeping Vacuum Cleaner 1C с Home Assistant необходимо установить сторонний компонент, т.к. с интеграцией из коробки с компонентом xiaomi_miio пылесос не работает. Скачиваем со страницы компонента на GitHub архив, из архива папку xiaomi_vacuum со всем содержимым кладем в .homeassistant/custom_components, если ее нет, то необходимо создать. Для Linux/Unix систем будет так:

$ sudo mkdir -p /home/homeassistant/.homeassistant/custom_components/
$ sudo wget https://github.com/Concentricc/xiaomi_vacuum/archive/master.zip
$ sudo unzip master.zip
$ sudo cp -R xiaomi_vacuum-master/custom_components/xiaomi_vacuum/ /home/homeassistant/.homeassistant/custom_components/
$ sudo chown -R homeassistant:homeassistant /home/homeassistant/.homeassistant/custom_components/xiaomi_vacuum/

Удаляем архив и распакованные файлы и папки:

$ sudo rm -R xiaomi_vacuum-master/
$ sudo rm -R master.zip

Заполняем файл конфигурации configuration.yaml.

## Xiaomi Mijia Sweeping Vacuum Cleaner 1C
vacuum:
  - platform: xiaomi_vacuum
    name: "<span class="tlid-translation translation" lang="en"><span title="">ElectricBroom</span></span>"
    host: <strong>Vacuum_IP_Address</strong>
    token: <strong>Vacuum_Token</strong>

name - имя пылесоса в Home Assistant, задается произвольно

 

host - IP адрес пылесоса в домашней сети. В домашней сети посмотреть можно на маршрутизаторе, для надежности в настройках DHCP сервера лучше задать для устройства постоянный IP адрес.

token - Токен устройства полученный на стадии "Предварительная подготовка".

Проверяем конфигурацию Home Assistant Configure -> Server Controls -> Check Configuration, если всё хорошо, то перегружаем систему автоматизации Configure -> Server Controls -> Check Configuration -> Restart.

После перезагрузки в разделе Configure -> Entities должен появиться пылесос.

xiaomi vacuum cleaner 1c home assistant integration

 

Добавление карточки управления на панель Lovelace

В Home Assistant переходим в раздел HACS -> Fronend, ищем и добавляем карточку Vacuum Card.

Как установить HACS подробно описано в статье: Установка HACS в Home Assistant.

xiaomi mijia vacuum 1c home assistant hacs

Карточка позволяет:

  • Запускать/останавливать уборку
  • Выставлять режим уборки (тихий, стандарт, интенсивная уборка, турбо)
  • Заставить пылесос подать голос что бы его можно было найти
  • Отправить пылесос на док станцию
  • Показывает статистику во время уборки
  • Показывает заряд пылесоса и состояние расходных материалов (фильтр и щетки)

Добавляем карточку на панель Lovelace Edit Dashboard -> + Add Card. В добавленной карточке нажимаем Show Code Editor, заполняем:

type: 'custom:vacuum-card'
entity: vacuum.<span class="tlid-translation translation" lang="en"><span title="">electricbroom</span></span>
image: default
show_name: true
compact_view: false
show_toolbar: true
show_status: true
stats:
  cleaning:
    - attribute: cleaning_area
      subtitle: Очищено
      unit: м²
    - attribute: cleaning_time
      subtitle: Время уборки
      unit: мин.
  default:
    - attribute: total_cleaning_count
      subtitle: Кол.уборок
    - attribute: filter_life_level
      subtitle: Фильтр
      unit: '%'
    - attribute: side_brush_life_level
      subtitle: Бок. щётка
      unit: '%'
    - attribute: main_brush_life_level
      subtitle: Осн. щётка
      unit: '%'

Теперь во время режима ожидания на карточке будет отображено общее количество уборок и состояние расходных материалов, во время уборки будет отображаться время уборки и убранная площадь.

xiami mijia vacuun 1c home assistant lovelace card

 

Добавление в устройства умного дома Яндекс, управление с помощью Алисы

Если Home Assistant настроен на интеграцию с умным домом Яндекс, то пылесосом можно управлять с помощью умной колонки. Что бы Алиса понимала, что от нее хотят в файле конфигурации configuration.yaml добавляем в раздел интеграции yandex_smart_home пылесос. Как управлять устройствами в Home Assistant при помощи Алисы подробно описано в статье: Интеграция Home Assistant и Алисы по фамилии Яндекс.

## Yandex Smart Home
yandex_smart_home:
&nbsp; filter:
    include_entities:
      - vacuum.<span class="tlid-translation translation" lang="en"><span title="">electricbroom</span></span>
  entity_config:
    vacuum.<span class="tlid-translation translation" lang="en"><span title="">electricbroom</span></span>:
      name: "Веник"
      room: "Гостиная"

Проверяем конфигурацию Home Assistant Configure -> Server Controls -> Check Configuration, если всё хорошо, то перегружаем систему автоматизации Configure -> Server Controls -> Check Configuration -> Restart.

Обновляем конфигурацию в умном доме Яндекс.

xiaomi mijia vacuum 1c home assistant yandex alice

Теперь достаточно сказать Алисе: Пропылесось.

 

Автоматизация

Поскольку пылесос не имеет лидара и вместо него оснащен верхней камерой, то хорошо он ориентируется только в освещенном помещении. Идея автоматизации в том, чтобы, как только пылесос начинает уборку, в комнатах, где он должен убраться включалось верхнее освещение, в помещениях где стоят датчики движения и свет включается/отключается автоматически свет зажигался и отключался только после окончания уборки, при этом перед уборкой сохранялись, отключались и после уборки восстанавливались значения триггеров автоматизации.

Пока заняться такой автоматизацией не хватает времени, после ее реализации она обязательно появится в этом разделе.

Автор: muxa, 28.12.2020
Войдите или зарегистрируйтесь, чтобы иметь возможность оставлять комментарии

Комментарии


Добрый день. Вроде делал все по инструкции, но что то пошло не так.лог

Из сообщения: Unable to discover device at address 192.168.1.49 - можно сделать вывод, что HA не может найти пылик.

Начинаем с простого проверяем IP адрес устройства, проверяем доступно ли устройство по этому адресу: ping 192.168.1.49, проверяем верен ли токен устройства, ну и самое невозможное, точно ли у вас данная модель устройства, т.к. этот компонент работает только с моделью из статьи.

PrintScreen

токен был неверный из программы с 4pda. Попробовал из Вашей статьи взять другую программу (token_extractor.exe ) Она все сделала правильно.

Спасибо за помощь.

Большое спасибо за туториал, использовал его чтобы через HA добавить в Homekit, в качестве временного костыля, ибо в Homebridge пока ребята поддержку 1C модели не завезли. Жаль, что у меня почему-то HA отваливается от Homekit спустя несколько минут после перезагрузки HA, и как исправить пока непонятно. Но это совсем другая история, не относящаяся к этому статье :)


Единственное, что стоит добавить в инструкцию, это строчку "version: 1.0.0" после токена в конфиге, ибо Home Assistant теперь требует в обязательном порядке указывать версию.

Спасибо за уточнение, на данный момент у меня версия HA 2021.2.3 и указывать версии не требует. Попозже обновлю, проверю и исправлю в статье.

С HomeKit не могу вам помочь т.к. не пользуюсь им, но как обычно копание в логах часто приводит к решению проблемы.