Home Assistant Подключение устройств

Здравия всем! Разберемся с самым главным, как добавлять конечный устройства в Home Assistant, на примере подключения устройств из MQTT брокера.

Введение

Как я уже писал в статье Знакомство с интерфейсом Home Assistant, для подключения любых устройств нужно пройти в Настройки -> Устройства и службы.

Мы попадаем в раздел Интеграции

Разработчики Home Assistant, пытаются перевести добавление устройств в раздел Интеграции. Поэтому функционал этого раздела считается основным, для работы с устройствами.

Добавление MQTT брокера

Для примера возьмем MQTT брокер и добавим его в наш Home Assistant. Для этого нажмем кнопку + Добавить интеграцию

В строке поиска начнем набирать первые буквы MQTT

Откроется окно настройки подключения к брокеру MQTT. Вводим наши настройки, это ip адрес брокера, порт, логин и пароль. Мой брокер стоит локально и настроен очень давно, без авторизации. По этому у меня настройки такие:

После добавления брокера, Home Assistant сразу же подключится к нему и попытается найти устройства:

Такие прошивки, как IOTLink, Tasmota, ESPHome и другие делают топики, в которых Home Assistant самостоятельно находит оборудование, создает для них устройства и объекты

Устройства MQTT
Объекты MQTT

Ручное добавление MQTT устройств

А что делать, если наше устройство не определилось автоматом? Для этого воспользуемся конфигурацией устройств, через конфигурацию YAML.

Подготовка

Для работы с MQTT брокером есть шикарный инструмент MQTT Explorer. Воспользуемся им и проанализируем наше устройство. Есть у меня старый контроллер, который работает на самописной Arduino прошивке.

Топик /myhome/Henhouse2/Relay1 отвечает за статус реле. Значение топика 0 = OFF, значение 1 = ON. А команды контроллер ждет по другому топику /myhome/Henhouse2/Relays1.

Топик /myhome/Henhouse2/Key1 отвечает за датчик сухого контакта.

Топик /myhome/Henhouse2/DS1 отвечает за температурный датчик ds18b20

Для подключения MQTT устройств в конфигурационном файле нужно добавить секцию mqtt

mqtt:

Подключение переключателя switch

Давайте подключим наше реле. Для этого внесем в код следующие изменения:

mqtt:
  switch:
    - name: henhouse2_switch
      state_topic: "/myhome/Henhouse2/Relay1"
      command_topic: "/myhome/Henhouse2/Relays1"
      payload_on: "1"
      payload_off: "0"

По правилам YAML, если секция находится в другой секции, нужно сделать отступ. Как понятно из названий в state_topic прописываем топик состояния реле, а в command_topic прописываем топик для изменения состояния.

Тк для Home Assistant стандартным значениями являются ON/OFF, а контроллер работает с 0 и 1, то в настройках мы внесли секции payload_on и payload_off, которые меняют эти значения на заданные.

После перезагрузки конфигурации, в интерфейсе Home Assistant появится наше реле

Теперь им можно управлять из меню и в автоматизациях.

Подключение бинарного датчика

По аналогии с переключателем, подключим бинарный сенсор

mqtt:
  binary_sensor:
    - name: henhouse2_door
      state_topic: "/myhome/Henhouse2/Key1"
      device_class: door
      payload_on: "1"
      payload_off: "0"

Параметр device_class отвечает за класс объекта.

Подробный перечень какие бывают классы у бинарного сенсора, есть в официальной документации Home Assistant

После перезагрузки конфигурации, в интерфейсе Home Assistant появится наш датчик открытия двери

Подключения датчик температуры

Давайте подключим датчик температуры

mqtt:
  binary_sensor:
    - name: henhouse2_temperature
      state_topic: "/myhome/Henhouse2/DS1"
      unit_of_measurement: "°C"

Настройка unit_of_measurement отвечает за единицу измерения сенсора.

После перезагрузки конфигурации, в интерфейсе Home Assistant появится наш сенсор температуры

Заключение

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

Добавление других устройств происходит также по аналогии, через раздел Интеграции. Для некоторых устройств нет стандартных интеграций. Но нам поможет сообщество и дополнение HACS. Как его ставить я описывал в статье Установка HACS в Home Assistant. В HACS мы добавляем репозиторий из GitHub и вот Home Assistant может работать с дополнительными интеграциями.

14 ответов к «Home Assistant Подключение устройств»

  1. Добрый вечер. Контактов не нашел. Вы оказываете услуги настройке
    HOME ASSISTANT ?

    1. Здравствуйте!
      Брокер MQTT это протокол обмена данных, физически это программа, к примеру mosquitto брокер

  2. Подскажите, есть Устройство на ESp8266 которое шлёт температуру в HA по MQTT.
    Если устройство выключено, то данные с него в HA всё равно остаются и просто не меняются. Как сделать так чтоб данные обнулялись, или проходила проверка в сети устройство или нет..

    1. Здравствуйте, Артём! Очень похоже, что esp8266 шлет данные в MQTT с включенным retain: true, выключите этот параметр на esp8266 и все будет из коробки. Либо есть более сложный путь, нужно сделать шаблонный сенсор. И в нем, если проходит проверку доступности устройства, то копировать текущий датчик, если нет устанавливать статус Unavailable.

  3. Спасибо, пока поменяю retain.. Вижу что у меня true стоит, прошью, «буду посмотреть», надеюсь что это поможет. Более сложны путь для меня пока «сложный» и не понятно как реализовать. Вам Спасибо!!!

    PS — капчу у меня не грузит, чтоб отправить сообщение приходится включать VPN

  4. Здравствуйте.
    А если в «После перезагрузки конфигурации, в интерфейсе Home Assistant» не появилось реле в ? Через MQTT Explorer им можно пощёлкать.

  5. Приветствую!
    Для меня оказалось не приятным сюрпризом, что ХА может подключиться ТОЛЬКО к одному брокеру (((
    Или я что-то не правильно делаю?

    1. Здравствуйте, нет вы делаете все правильно. ХА действительно может подключаться только к одному брокеру. Есть выход использовать MQTT Bridge

      1. В смысле запустить еще один на самом ХА?
        Или бридж и брокер — разные вещи и речь о каком-то мосте между брокером и клиентом?

      2. Смысл и реализация бриджа понятны, но не очень нравится на ровном месте в 2 раза увеличивать mqtt трафик ((
        И совершенно не понятно ограничение в виде одного клиента в такой раздутой и навороченной системе как ХА. В НР — хоть десяток прицепи.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.