prmres писал(а): ↑Пт авг 13, 2021 12:50 pm
похоже, ваше желание выходит за рамки протокола
не помню что бы mqtt накапливал историю топиков
Тогда в чем идея "Message Queye"? Можно просто get запросами передавать инфу по HTTP. Кто проспал - сам виноват.
Syslog не подходит. Логи должны пройти через Алиску (модуль в помощь), проанализироваться и после этого сложиться в файл на домашнем серваке.
Сегодня где-то вычитал что подписчику надо подписываться на топик с ключем "Clean Session = False" и тогда автономный клиент при подключении получит все что он пропустил. Но вот где это можно указать в MQTT-модуле MJD?
О, нашел на mosquitto.org Цитата:
"mosquitto_sub -c,
--disable-clean-session
Disable 'clean session' / enable persistent client mode. When this argument is used, the broker will be instructed not to clean existing sessions for the same client id when the client connects, and sessions will never expire when the client disconnects. MQTT v5 clients can change their session expiry interval with the -x argument.
When a session is persisted on the broker, the subscriptions for the client will be maintained after it disconnects, along with subsequent QoS 1 and QoS 2 messages that arrive. When the client reconnects and does not clean the session, it will receive all of the queued messages."
Последнее предложение - это как раз то что мне нужно.
Так что все вполне себе в рамках. Дело за реализацией.