本文汇总了子设备上线失败、下线和消息发送失败的相关错误码。

错误信息发送

  • 对于直连设备,当云端发生业务上的错误时,设备客户端可以通过TCP连接断开感知到。
  • 子设备使用网关通道与物联网平台服务端通信。当子设备通过网关通道和服务端的通信出现异常时,由于网关物理通道仍然保持着,因此必须通过物理通道向子设备客户端发送错误消息,才能使子设备客户端感知到错误。

响应格式

子设备和物联网平台通信异常时,物联网平台通过网关通道发送一条MQTT错误消息给网关。发送错误消息的Topic格式,请见以下具体场景章节。

错误消息为SON格式:


{
id:子设备请求参数中上报的消息ID
code: 错误码(成功为200)
message: 错误信息
}

子设备上线失败

错误消息发送Topic:/ext/session/{gw_productKey}/{gw_deviceName}/combine/login_reply

表 1. 上线失败错误码说明
code message 备注
460 request parameter error 参数格式错误,比如JSON格式错误,或者其他认证参数错误。
429 too many requests 认证被限流。单个设备认证过于频繁,一分钟内子设备上线次数超过5次会被限流。
428 too many subdevices under gateway 单个网关下子设备数目超过最大值。目前一个网关下,最多可有1500个子设备。
6401 topo relation not exist 子设备和当前网关之间没有拓扑关系。
6100 device not found 子设备不存在。
521 device deleted 子设备已被删除。
522 device forbidden 子设备已被禁用。
6287 invalid sign 认证失败,用户名密码错误。
500 server error 云端异常。

子设备主动下线异常

发送到Topic:/ext/session/{gw_productKey}/{gw_deviceName}/combine/logout_reply

表 2. 主动下线异常
code message 备注
460 request parameter error 参数格式错误,JSON格式错误,或者参数错误。
520 device no session 子设备会话不存在。子设备已经下线,或者没有上线过。
500 server error 云端处理异常。

子设备被踢下线

发送到Topic:/ext/error/{gw_productKey}/{gw_deviceName}

表 3. 被踢下线
code message 备注
427 device connect in elsewhere 设备重复登录。有使用相同设备证书信息的设备连接物联网平台,导致当前连接被断开。
521 device deleted 设备已被删除。
522 device forbidden 设备已被禁用。
6401 topo relation not exist 网关和子设备的拓扑关系已被解除。

子设备发送消息失败

发送到topic:/ext/error/{gw_productKey}/{gw_deviceName}

表 4. 发送消息失败
code message 备注
520 device session error 子设备会话错误。
  • 子设备会话不存在,可能子设备没有上线,也可能已经被下线。
  • 子设备会话在线,但是并不是通过当前网关会话上线的。