You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ThingsBoard CE MQTT下行消息重发问题排查(QoS=0、retain=false)

ThingsBoard CE MQTT下行消息重复推送异常

问题描述

发送下行消息后,消息始终滞留在Mosquitto代理中。每当设备重新订阅主题时,都会再次收到同一下行消息,尽管已满足以下配置:

  1. 消息以QoS=0、retain=false发送
  2. ThingsBoard中的MQTT集成配置为clean session=true、retain=false
  3. Mosquitto日志明确标注d0, q0, r0, m0(确认消息QoS为0且无保留属性)

Mosquitto日志片段:

Client mosq-S23jDV4ztdEWQMhECs received PUBLISH (d0, q0, r0, m0, 'v1/gateway/downlink', ... (1 bytes))
v1/gateway/downlink 1

测试用例

  • 通过Python脚本(基于Paho MQTT库)发送同一下行消息时,表现正常,无重复推送情况
  • 仅ThingsBoard发送的消息存在重复推送问题

环境详情

ThingsBoard CE 3.9.0

Mosquitto 3.1.1
ubuntu@WOLKELAB-APP:~$ sudo systemctl status mosquitto.service
mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 

BrokerTopic: v1/gateway/downlink

已排查项

  • ✅ 验证Mosquitto无全局保留策略
  • ✅ 确认ThingsBoard中无触发消息重复发送的持久化脚本
  • ✅ 测试不同MQTT客户端,仅ThingsBoard发送的消息存在重复问题
  • ✅ 确保设备端未进行重复订阅操作

问题咨询

为何仅ThingsBoard发送的消息会在设备每次重订阅时重复推送,尽管已配置为非持久化?

  • 代理版本与ThingsBoard的MQTT服务是否存在兼容性问题?
  • ThingsBoard 3.9.0的MQTT会话处理是否存在已知问题?
  • 有无可行的解决方法实现真正的“即发即弃”下行消息?

内容的提问来源于stack exchange,提问作者Wolke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 12:42:13