Настройка MQTT и Mosquitto в Home Assistant

  • Михаил
  • 15 мин. на прочтение
  • 749
  • 29 Jan 2023
  • 29 Jan 2023

МQTT — полезный протокол для технологии умного дома, разработанный для Интернета вещей (IoT). Это легкий транспортный уровень обмена сообщениями , который идеально подходит для подключения удаленных устройств с минимальной пропускной способностью сети — последняя часть полезна, поскольку в наших умных домах, вероятно, будет много устройств. С помощью этого руководства мы настроим брокера MQTT в Home Assistant, а затем настроим устройство для отправки сообщений через MQTT.

Начиная

Для связи через MQTT нам нужен брокер MQTT для управления, хранения и обработки сообщений. К счастью, Home Assistant имеет интеграцию OOTB под названием Mosquitto (от Eclipse), которая является хорошо работающим брокером.

Чтобы найти и установить Mosquitto, выполните следующие действия:

  1. В вашем домашнем интерфейсе Home Assistant перейдите в меню Supervisor.
  2. Выберите магазин дополнений и найдите Mosquitto.
  3. Щелкните команду УСТАНОВИТЬ

По остальным шагам поделюсь официальной инструкцией ( от самого аддона ). Чтобы запустить надстройку:

  1. Запустите дополнение, нажавSTART
  2. Наберитесь терпения и подождите пару минут
  3. Проверьте вывод журнала надстройки, чтобы увидеть результат.
  4. Создайте нового пользователя для MQTT через ConfigurationUsers. Запомните это имя пользователя и пароль, так как они понадобятся нам позже. Для этого руководства я создал пользователя с именем mosquitto, но это может быть что угодно.

Примечание. Это имя не может быть homeassistant или addon, это зарезервированные имена пользователей.

Затем несколько последних шагов и проверка:

  1. Перейдите в интерфейсе Home Assistant к Configuration -> Integrations .
  2. MQTT должен отображаться как обнаруженная интеграция в верхней части страницы.
  3. Выберите его и установите флажок, Enable MQTT Discoveryесли хотите, и нажмите SUBMIT.

Наконец, вы должны увидеть полностью настроенный Mosquitto , например:

Как заставить это работать

Теперь, когда брокер MQTT настроен, давайте настроим устройство для его использования. Я буду использовать Shelly 1, но для этого вы можете использовать любое устройство MQTT. Шаги будут отличаться в зависимости от устройства, поэтому обратитесь к руководству по этому устройству. Важно знать IP-адрес вашего HA/Mosquitto Broker, а также имя пользователя и пароль, созданные вами при настройке Mosquitto (см. выше).

Для Shelly я перехожу к Internet & Security и в меню ADVANCED — DEVELOPER SETTINGS устанавливаю флажок , чтобы выбрать Enable Action Execution via MQTT.

Примечание: с Shelly, если вы включите MQTT, действия через облачное соединение будут отключены.

Теперь введите usernameи passwordвы создали при настройке Mosquitto, затем введите Serverданные; являющийся IP-адресом вашей установки Home Assistant. Помните, что суффикс порта должен быть :1883 . В этом нет необходимости Use Customer MQTT Prefix, но эта опция вам нужна.

Оставьте Reconnect конфигурации по умолчанию, а затем убедитесь Clean Session, что выбрано, но Retain не отмечено для переключателей и источников света. Наконец, Max QoSдля умной домашней автоматизации настоятельно рекомендуется значение, равное 2.

Теперь сохраните настройки, и ваше устройство настроено для использования MQTT! Не забудьте ознакомиться с разделом «Определение и настройка коммутатора Shelly через MQTT в Home Assistant», чтобы наилучшим образом использовать настройку Mosquitto.