Контроль времени публикации в топик

Добрый день!
Нужен совет по работе с WB. Приобрел WB6 и WB7 на тесты, задача простая - управление несколькими реле (мониторинг пока не требуется).
Я с сервера отправляю в топик “1” (например {dev}/devices/t_out/controls/enabled/on", “1”) для открытия определенного канала, щелкает реле - основная задача решена.

Но есть нюансы:

  1. Например, на девайсе пропадает интернет на некоторое непродолжительное время (10 минут), а с сервера что-то отправляется.
    В этом случае на WB, после восстановления подключения к интернету, придут сразу все события в топик и мне надо понять когда было отправлено это событие, так как если событие устарело, т.е. было отправлено более 3 минут назад, то реагировать на него не нужно (реле не должно сработать).
  2. Помимо времени отправки события также надо понимать, кто инициировал событие на срабатывание реле, так как запрос на переключение реле может прийти от разных клиентов - тут важно уточнить, что инициатором событий для WB всегда выступает сервер, но сервер может передавать идентификатор пользователя, который инициирует событие.

Подскажите каким образом можно решить эту задачу на WB стандартными способами или необходимо как-то кастомизировать?

Добрый день.

В описании не совсем понятно что имеется в виду, “сервер” - это что? Какой qos если это MQTT брокер?

В лоб - это возсожно, но есть неочевидные нюансы, я бы для передачи команд использовал json строки, включая в них и время и отправителя и прочую информацию.

Спасибо за быстрый ответ.
Есть VDSка, на которой крутится Mosquitto. То, что выше, в общем то,
не важно.

То есть, используя rules, это возможно реализовать?

qos = 2

Ну конечно. Достаточно сериализовать в json и уже в wb-rules разобрать так: MQTT топик от внешнего устройства - #16 от пользователя BrainRoot

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.