8 980 590-57-10
Ваш город — Помона?
Заявка

Как найти неизвестный MQTT-топик за минуту: TopicListener в AbromSoft


Типичная ситуация на объекте: к контроллеру подключили новый модуль или клиент просит привязать сцену к выключателю, который монтажники завели на какой-то вход. Чтобы написать правило, нужен MQTT-топик этого входа или реле. А какой он — непонятно: модулей на шине десяток, входов и выходов сотни, подписи в щите не всегда совпадают с реальностью.

Как это обычно делают

Классический путь — зайти на контроллер по SSH, запустить mosquitto_sub с подпиской на все устройства и нажать нужную кнопку. В ответ в консоль сыплется поток сообщений: напряжения, температуры, счётчики, служебные метаданные. Нужную строку приходится выцеплять глазами, а если клиент в этот момент ещё и включил свет в соседней комнате — начинать заново.

Второй вариант — открыть список MQTT-каналов в веб-интерфейсе Wirenboard и искать там. Это работает, когда знаешь хотя бы модуль. Когда не знаешь — листать сотни строк, гадая, какая из них только что изменилась.

И то и другое отнимает время и требует от интегратора навыков работы с консолью. Мы решили сделать эту задачу кнопкой.

Что такое TopicListener

TopicListener — встроенный инструмент AbromSoft. Его не нужно описыватьна каждом контроллере с AbromSoft в виде виртуального устройства TopicListener. Его видно и в интерфейсе AbromSoft, и прямо в веб-интерфейсе Wirenboard рядом с остальными устройствами.


У устройства один переключатель enable и группы полей. В каждой группе — топик, значение и время последнего события:

  • last_input — последний сработавший вход: дискретные входы модулей реле, нажатий.
  • last_output — последний сработавший выход: реле модулей WB-MR, WB-MWAC и выходы контроллера.
  • last_hasp_state — последнее событие с сенсорной панели, если на объекте

Группы разделены специально: пока вы ищете вход, щелчок реле в соседнем топик. Служебные сообщения, показания датчиков и метаданные Topic Listener отбрасывает сам — остаются только события, которые интересны при настройке.

Как найти топик выключателя

  1. Откройте устройство Topic Listener в интерфейсе AbromSoft или в веб-интерфейсе Wirenboard.
  2. Включите переключатель enable.
  3. Нажмите выключатель на стене.
  4. Посмотрите в поле last_input_topic — там появится путь вида wb-mr6c_45/ремя нажатия.
  5. Скопируйте путь и вставьте его в правило: «Выключатель», «Сцена» или любое другое.



С реле так же: включите TopicListener, щёлкните нужную группу света с панели или из приложения — в last_output_topic окажется что-то вроде wb-mr6c_45/K3. Так удобно проверять, какое реле на самом деле управляет какой линией, когда нужно здесь и сейчас.


Автоотключение

Через минуту после включения TopicListener выключается сам. Это страховка: широкая подписка на все устройства создаёт лишнюю нагрузку, и оставлять её работать бесконечно незачем. Минуты хватает, чтобы дойти до выключателя и нажать его. Если не успели — включите ещё раз, найденные значения при этом сохраняются до следующего события.

Преимущества

В wb-rules и в большинстве систем для Wirenboard поиск топика — это консоль или ручной просмотр списка каналов. В AbromSoft это переключатель и одно нажатие кнопки на объекте. Интегратору не нужен SSH, не нужно знать синтаксис mosquitto_sub и фильтровать поток сообщений. Найти топик может даже монтажник с телефоном в руке, стоя у щита.

Вместе с быстрой настройкой через виджеты, о которой мы рассказывали в статье «Виджеты AbromSoft: быстрая настройка объекта с телефона», это сокращает время первичной настройки объекта: устройство найдено, топик скопирован, правило создано — без использования консоли.


    Еще никто не написал комментариев.

    Написать комментарий

    Данная страница является информационной и не является публичной офертой. Мы не продаем оборудование, но готовы оказать техническую поддержку.