ThingsBoard 发送 RPC 报 NO_ACTIVE_CONNECTION
正文与配图来自原稿。合作项目中真实踩坑记录。
1、原因
发送 RPC 时审计日志出现 NO_ACTIVE_CONNECTION,表示平台侧认为该设备 没有可用会话(或会话不能承接 RPC)。
2、问题现象
业务端调 RPC 控设备,设备审计日志一直:


3、排查过程
- 确认设备「在线」:MQTT KeepAlive 默认约 60s,设备改为约 50s 心跳后,
lastActivityTime会周期性更新——说明链路活跃。 - 仍报
NO_ACTIVE_CONNECTION。 - 用 MQTTX 模拟同凭证设备,平台正常 → TB 本身 OK。
- 模拟设备 不订阅
v1/devices/me/rpc/request/+→ 立刻复现NO_ACTIVE_CONNECTION。 - 嵌入式侧未改订阅 Topic → 补订后问题解决。
4、总结
NO_ACTIVE_CONNECTION 常见原因:
- 设备未订阅 RPC 请求主题(MQTT:
v1/devices/me/rpc/request/+)。 - 连接超时 / 会话丢失。
- 设备无法处理 RPC 请求。
先查订阅与会话,再查业务逻辑。旋钮类控件还要注意应答格式,见 Knob control。
