Сначала, перед добавлением новых устройств, им нужно задать статический IP в роутере. Если не знаете как это сделать, то поищите инструкцию к Вашему роутеру.

После того, как статический IP присвоен, переходим по пути “Настройки” – “Интеграции” в Home Assistant. В данном разделе HA отобразит все найденные в сети устройства:
Xiaomi Gateway 2 Home Assistant
Нам нужно выбрать шлюз Xiaomi Aqara. На то, что в названии присутствует производитель Aqara не обращайте внимания, именно так и нужно добавлять Xiaomi Gateway 2.

Порядок добавления:

  1. Нажимаем “Настроить”.
  2. В появившемся окне оставляем значение “any” и нажимаем “Подтвердить”.
  3. Далее нам нужно получить ключ. Для этого запускаем Mi Home и переходим в плагин шлюза. Далее на три точки в правом верхнем углу и переходим в раздел “Сведения”. Нажимаем несколько раз на надпись с версией плагина в нижней части экрана, после чего в приложении добавится несколько новых пунктов меню. Переходим в протокол связи локальной сети, включаем его, копируем пароль, нажимаем ОК и вставляем пароль в поле “Ключ” в Home Assistant. Имя ниже можете изменить. Подтверждаем и нажимаем “Готово”.

Получение ключа для добавления Xiaomi Gateway 2 в Home Assistant
Вот и все. Шлюз добавлен. А заодно добавлены и все подключенные к нему устройства.

Xiaomi Gateway 2 Home Assistant
У меня добавились датчики температуры Xiaomi и Aqara, датчик движения и датчик открытия Xiaomi, датчик протечки и выключатель Aqara D1. Все их теперь можно увидеть в панели разработчика во вкладке “Состояния”.

Создаем сенсоры из атрибутов датчиков

Для того, чтобы было проще искать нужное устройство, ему можно поменять friendly_name на более понятное. Для этого открываем configuration.yaml и в самом верху прописываем:

homeassistant:
 customize: !include customize.yaml

Далее, в той же папке, в которой лежит configuration.yaml создаем файл customize.yaml, прописываем в него все датчики и иконки:

#Датчики
binary_sensor.door_window_sensor_158d0002a6415e:
  friendly_name: Дверной звонок
  icon: mdi:doorbell
binary_sensor.motion_sensor_158d00048497ca:
  friendly_name: Датчик движения в коридоре
  icon: mdi:motion-sensor
binary_sensor.water_leak_sensor_158d00047ea7a7:
  friendly_name: Датчик протечки
  icon: mdi:water-outline
sensor.temperature_158d000358e318:
  friendly_name: Датчик температуры Xiaomi
  icon: mdi:thermometer
sensor.temperature_158d00047e0285:
  friendly_name: Датчик температуры Aqara
  icon: mdi:thermometer
sensor.humidity_158d000358e318:
  friendly_name: Датчик влажности Xiaomi
  icon: mdi:water-percent
sensor.humidity_158d00047e0285:
  friendly_name: Датчик влажности Aqara
  icon: mdi:water-percent
sensor.pressure_158d00047e0285:
  friendly_name: Датчик давления Aqara
  icon: mdi:gauge
sensor.illumination_04cf8caa59fe:
  friendly_name: Датчик освещенности шлюза
  icon: mdi:brightness-6
sensor.illumination_158d00048497ca:
  friendly_name: Датчик освещенности датчика движения
  icon: mdi:brightness-6

#Освещение
light.gateway_light_04cf8caa59fe:
  friendly_name: Подсветка шлюза
  icon: mdi:star-circle-outline

#Выключатели
binary_sensor.wall_switch_both_158d000484a1d8:
  friendly_name: Беспроводной выключатель Aqara D1, нажатие двух кнопок
  icon: mdi:light-switch
binary_sensor.wall_switch_left_158d000484a1d8:
  friendly_name: Беспроводной выключатель Aqara D1, левая кнопка
  icon: mdi:light-switch
binary_sensor.wall_switch_right_158d000484a1d8:
  friendly_name: Беспроводной выключатель Aqara D1, правая кнопка
  icon: mdi:light-switch

Проверяем конфигурацию и перезапускаем сервер.

Далее можно добавить значения заряда батареек на главный экран. Для этого:

  1. Переходим в панель разработчика и в поиске вводим “ battery ”, что отобразит все сенсоры батареек в системе.
    Поиск батареек
  2. Далее по очереди копируем цифры, которые идут после sensor.battery_ в строку поиска. Это поможет узнать, к какому датчику относятся показания:
    Какой датчик
  3. Прописываем батарейкам понятное имя в customize.yaml:
#Батарейки
sensor.battery_158d00048497ca:
  friendly_name: Заряд батарейки датчика движения
sensor.battery_158d0002a6415e:
  friendly_name: Заряд батарейки дверного звонка
sensor.battery_158d000358e318:
  friendly_name: Заряд батарейки датчика температуры Xiaomi
sensor.battery_158d00047e0285:
  friendly_name: Заряд батарейки датчика температуры Aqara
sensor.battery_158d00047ea7a7:
  friendly_name: Заряд батарейки датчика протечки
sensor.battery_158d000484a1d8:
  friendly_name: Заряд батарейки Aqara D1
  1. Применяем и проверяем конфигурацию, после чего перезагружаем сервер.
  2. Прописываем вывод данных о батарейках в ui-lovelace.yaml (не забываем правильно проставлять пробелы):
        - type: entities
          title: Заряд батареек
          entities:
              - entity: sensor.battery_158d0002a6415e
              - entity: sensor.battery_158d000358e318
              - entity: sensor.battery_158d00047e0285
              - entity: sensor.battery_158d00047ea7a7
              - entity: sensor.battery_158d00048497ca
              - entity: sensor.battery_158d000484a1d8

Отображаем заряд батареек

Переводим показания давления с датчика Aqara в мм рт. ст.

По умолчанию квадратный датчик от Aqara выводит значения атмосферного давления в гектопаскалях. Не очень удобно, так что переведем их в мм ртутного столба, благо сделать это в Home Assistant достаточно просто – нужно только создать новый сенсор.

Я создал в папке sensors файл forecast.yaml и прописал в него следующие строчки:

  - platform: template
    sensors:
      pressure:
        friendly_name: 'Атмосферное давление'
        value_template: "{{ (states('sensor.pressure_158d00047e0285')|float / 1.334)|round(1) }}"
        unit_of_measurement: 'мм рт. ст.'
        icon_template: mdi:gauge

Небольшие пояснения:

  • friendly_name – имя создаваемого датчика;
  • value_template – формула для перевода давления в мм рт. ст. В данной формуле Вам нужно заменить sensor.pressure_158d00047e0285 на название своего датчика Aqara, найти которое можно в панели разработчика во вкладке “Состояния”:
    Перевод давления с hPa в мм рт столба Home Assistant
  • unit_of_measurement – единицы измерения;
  • icon_template – используемая иконка.

Добавляем датчики Xiaomi в пользовательский интерфейс Home Assistant

Для вывода информации с датчиков Xiaomi на главный экран Home Assistant я добавил новый вид (новую вкладку) в ui-lovelace.yaml:

  - title: Погода  #Название второй вкладки
    icon: mdi:weather-partly-cloudy  #Иконка вкладки

    cards:

    - type: vertical-stack  #Первый вертикальный блок. Тут отображается информация с датчиков в квартире
      cards:

          - type: entities  #Тип карточки
            header:
              image: 'http://homeassistant.local:8123/local/home.jpg'
              type: picture
            entities:
              - entity: sensor.temperature_158d000358e318
                name: Температура в спальне
              - entity: sensor.temperature_158d00047e0285
                name: Температура в зале
              - entity: sensor.humidity_158d000358e318
                name: Влажность в спальне
              - entity: sensor.humidity_158d00047e0285
                name: Влажность в зале
              - entity: sensor.pressure
                name: Атмосферное давление

В данной вкладке я решил добавить свою картинку (строчки header, image и type). Для этого была создана папка www и в нее были добавлены нужные изображения (в пути, в строчке image, папка www не указывается):

Добавляем изображения в Home Assistant

После добавления нужно перезапустить сервер через меню “Настройки” – “Сервер” – “Перезапустить”.

Далее к данному блоку с показаниями датчиков я решил добавить еще один – с прогнозом погоды. Для этого первым делом нужно прописать местоположение в файл configuration.yaml:

homeassistant:
  name: MyHome
  latitude:  #широта, копируем с гугл карт
  longitude:  #долгота, копируем с гугл карт
  elevation: 154  #высота над уровнем моря, можно найти в вики
  unit_system: metric
  time_zone: Europe/Moscow  #временная зона. Берем с вики https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  customize: !include customize.yaml

Далее сохраняем, проверяем конфигурацию и перезагружаем сервер.

Возвращаемся в ui-lovelace.yaml и прописываем:

    - type: vertical-stack  #Второй вертикальный блок. Тут отображается информация со встроенного погодного сенсора
      cards:

          - type: picture  #Тип карточки
            image: 'http://homeassistant.local:8123/local/street.jpg'
                
          - type: weather-forecast  #Тип карточки
            entity: weather.myhome

В итоге у меня получилось вот так:

Отображение датчиков со шлюза в HA

Я решил пока не добавлять другие устройства, которые добавились в Home Assistant вместе с Xiaomi Gateway 2 (датчик протечки, движения и т д). Они будут в отдельной вкладке и на данный момент я еще не решил в каком именно виде.

Ссылки на другие уроки по настройке Home Assistant.

У этой записи 2 комментариев

  1. Андрей

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

    1. Admin

      Добрый день! Использовать можно. Пример включения и выключения света при двойном нажатии на правую кнопку беспроводного Aqara D1:

      - alias: "Turn off the gateway light"
        trigger:
          platform: event
          event_type: xiaomi_aqara.click
          event_data:
            entity_id: binary_sensor.wall_switch_right_158d000484a1d8
            click_type: double
        action:
          service: light.toggle
          target:
            entity_id: light.yeelight_650
      

      Типы кликов: single, double, long — для клавиши и both, double_both и long_both — для двух клавиш.
      PS Значения Выкл скорее всего относится к батарейке (при низком заряде будет Вкл).

Добавить комментарий