Как посмотреть MQTT топики и сообщения: MQTT Explorer, CLI и другие инструменты

Как посмотреть MQTT топики и сообщения: MQTT интеграция в Home Assistant, MQTT Explorer, CLI.

Посмотрите демо умного дома на Home Assistant. Практические заметки по Home Assistant публикуем в Telegram. Нужна помощь — поможем решить задачу.

Как посмотреть MQTT топики и сообщения: MQTT Explorer, CLI и другие инструменты

Введение

MQTT — это протокол обмена сообщениями, который широко используется в системах умного дома. Вся логика взаимодействия строится вокруг топиков (topics) и сообщений (messages): одни устройства публикуют данные, другие — подписываются на них и получают обновления.

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

Предполагается наличие настроенного MQTT-брокера. В экосистеме Home Assistant чаще всего используется Mosquitto, его установка описана в статье: Установка MQTT брокера Mosquitto для Home Assistant.

MQTT интеграция в Home Assistant

Если планируется работа с MQTT в Home Assistant, настройте интеграцию. Более подробно это описано в статье: Как установить и настроить MQTT-интеграцию в Home Assistant.

Если требуется работать именно с MQTT-топиками и сообщениями, перейдите: «Настройки» → «Устройства и службы» → «MQTT» → «Настройки MQTT».

В этом разделе доступны публикация сообщений (Publish) и подписка на топики (Subscribe). Если нужно подписаться на сообщения, укажите топик (например, zigbee2mqtt/sensor_1 или #) и нажмите «Подписаться». Если требуется отправить сообщение — укажите топик, задайте значение и нажмите «Опубликовать». Например, можно указать топик zigbee2mqtt/bridge/state, в поле значения передать {"state": "online"} и затем нажать «Опубликовать».

MQTT Explorer

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

Установка как приложение в Home Assistant

В HAOS установка выполняется через систему приложений (ранее дополнений):

  • перейдите в раздел «Дополнения» → «Магазин дополнений»;
  • в правом верхнем углу откройте меню и выберите «Репозитории»;
  • добавьте репозиторий: https://github.com/GollumDom/addon-repository;
  • найдите приложение MQTT Explorer и выполните установку;
  • запустите приложение.

После установки в боковом меню появится пункт «MQTT Explorer». При первом открытии потребуется создать подключение: хост и порт обычно заполняются автоматически, а в качестве пользователя и пароля укажите учётные данные Home Assistant (раздел «Настройки» → «Люди»). После подключения станет доступна структура всех топиков, включая служебные.

Другие способы установки

Если используется Windows, macOS или Linux, воспользуйтесь инструкциями с официального сайта: https://mqtt-explorer.com/.

После установки подключитесь к брокеру: укажите хост, порт и учётные данные Home Assistant (логин и пароль пользователя из раздела «Настройки» → «Люди»). После подключения отобразится структура топиков и их содержимое.

CLI (mosquitto_sub / mosquitto_pub)

CLI-инструменты — это базовый и надёжный способ работы с MQTT, особенно при работе по SSH. В Home Assistant OS (HAOS) утилиты уже доступны из коробки, а при использовании других систем (например, Ubuntu) необходимо установить пакет mosquitto-clients.

Подписка на топик выполняется командой mosquitto_sub -h localhost -t "zigbee2mqtt/#", а публикация сообщения — mosquitto_pub -h localhost -t "test/topic" -m "hello".

Заключение

Универсального инструмента для работы с MQTT не существует — всё зависит от задачи. Если нужно быстро посмотреть данные, подойдёт встроенная интеграция Home Assistant или CLI. Для более сложных задач, таких как анализ структуры топиков или массовые операции, удобнее использовать MQTT Explorer — он даёт наглядность и большую функциональность для работы.

Полезные ссылки