Сначала, перед добавлением новых устройств, им нужно задать статический IP в роутере. Если не знаете как это сделать, то поищите инструкцию к Вашему роутеру.
После того, как статический IP присвоен, переходим по пути “Настройки” – “Интеграции” в Home Assistant. В данном разделе HA отобразит все найденные в сети устройства:
Нам нужно выбрать шлюз Xiaomi Aqara. На то, что в названии присутствует производитель Aqara не обращайте внимания, именно так и нужно добавлять Xiaomi Gateway 2.
Порядок добавления:
- Нажимаем “Настроить”.
- В появившемся окне оставляем значение “any” и нажимаем “Подтвердить”.
- Далее нам нужно получить ключ. Способ описанный далее подходит только для старой версии плагина! Актуальный способ получения ключа для Gateway 2 вкратце описал в комментарии к статье! Для этого запускаем Mi Home и переходим в плагин шлюза. Далее на три точки в правом верхнем углу и переходим в раздел “Сведения”. Нажимаем несколько раз на надпись с версией плагина в нижней части экрана, после чего в приложении добавится несколько новых пунктов меню. Переходим в протокол связи локальной сети, включаем его, копируем пароль, нажимаем ОК и вставляем пароль в поле “Ключ” в 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
Проверяем конфигурацию и перезапускаем сервер.
Далее можно добавить значения заряда батареек на главный экран. Для этого:
- Переходим в панель разработчика и в поиске вводим “ battery ”, что отобразит все сенсоры батареек в системе.
- Далее по очереди копируем цифры, которые идут после sensor.battery_ в строку поиска. Это поможет узнать, к какому датчику относятся показания:
- Прописываем батарейкам понятное имя в 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
- Применяем и проверяем конфигурацию, после чего перезагружаем сервер.
- Прописываем вывод данных о батарейках в 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, найти которое можно в панели разработчика во вкладке “Состояния”:
- 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 не указывается):
После добавления нужно перезапустить сервер через меню “Настройки” – “Сервер” – “Перезапустить”.
Далее к данному блоку с показаниями датчиков я решил добавить еще один – с прогнозом погоды. Для этого первым делом нужно прописать местоположение в файл 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
В итоге у меня получилось вот так:
Я решил пока не добавлять другие устройства, которые добавились в Home Assistant вместе с Xiaomi Gateway 2 (датчик протечки, движения и т д). Они будут в отдельной вкладке и на данный момент я еще не решил в каком именно виде.
После создания бинарных сенсоров беспроводного выключателя Aqara, их можно использовать в автоматизациях? Их значения всегда Выкл., на нажатие клавиш выключателя бинарные сенсоры не реагируют.
Добрый день! Использовать можно. Пример включения и выключения света при двойном нажатии на правую кнопку беспроводного Aqara D1:
Типы кликов: single, double, long — для клавиши и both, double_both и long_both — для двух клавиш.
PS Значения Выкл скорее всего относится к батарейке (при низком заряде будет Вкл).
Здравствуйте, я пробовал получить уже этот ключ на версиях 5.8. и 5.4.49. Так до этого ключа не могу достучаться. Токены достаются, а вот ключи нет. Я что-то не так делаю?
Добрый день. К сожалению смогу проверить только через неделю, сейчас нет доступа к устройствам.
Из того, что нашел:
1. Mi Home от Vevs -> долгий тап на устройстве -> переименовать.
2. Установить интеграцию от AlexxIT для добавления Gateway 3 в Home Assistant. И через нее получить ключ от второго шлюза.
Проверил. Первый способ не подходит.
Для получения ключа от Gateway 2 устанавливаем через HACS интеграцию для Gateway 3 от AlexxIT, логинимся в ней, нажимаем настроить и выбираем Xiaomi Gateway 2. В появившемся окне и будет ключ.
Aqara M2 можно, как нибудь добавить?
Можно добавить только если это CN версия (для китайского региона), предварительно перепрошив его через переходник UART-USB. Добавляется через кастомную интеграцию — https://github.com/niceboygithub/AqaraGateway
Еще возможно получится добавить через официальную интеграцию «Аксессуар HomeKit», но я с ней не сталкивался, так что не подскажу как она работает.