Skip to content

ThingsBoard 发送 RPC 报 NO_ACTIVE_CONNECTION ​

正文与配图来自原稿。合作项目中真实踩坑记录。

1、原因 ​

发送 RPC 时审计日志出现 NO_ACTIVE_CONNECTION,表示平台侧认为该设备 没有可用会话(或会话不能承接 RPC)。

2、问题现象 ​

业务端调 RPC 控设备,设备审计日志一直:

审计日志

错误详情

3、排查过程 ​

  1. 确认设备「在线」:MQTT KeepAlive 默认约 60s,设备改为约 50s 心跳后,lastActivityTime 会周期性更新——说明链路活跃。
  2. 仍报 NO_ACTIVE_CONNECTION。
  3. 用 MQTTX 模拟同凭证设备,平台正常 → TB 本身 OK。
  4. 模拟设备 不订阅 v1/devices/me/rpc/request/+ → 立刻复现 NO_ACTIVE_CONNECTION。
  5. 嵌入式侧未改订阅 Topic → 补订后问题解决。

4、总结 ​

NO_ACTIVE_CONNECTION 常见原因:

  1. 设备未订阅 RPC 请求主题(MQTT:v1/devices/me/rpc/request/+)。
  2. 连接超时 / 会话丢失。
  3. 设备无法处理 RPC 请求。

先查订阅与会话,再查业务逻辑。旋钮类控件还要注意应答格式,见 Knob control。