本文介绍设备端可能出现的错误码及说明。

公共错误码

表 1. 通用公共错误码
错误码 原因 解决办法
400 处理请求时出错。 提交工单。
429 请求过于频繁,触发系统限流。 提交工单。
460 设备上报的数据为空,或参数格式错误、参数的数量超过限制等原因。 按照Alink协议下具体文档中的数据格式,检查参数信息。
500 系统发生未知异常。 提交工单。
5005 查询产品信息失败。 在控制台,查询产品信息,核对ProductKey。
5244 查询LoRaWAN类型产品的元信息失败。 提交工单。
6100 查询设备信息时,未查询到指定设备信息。 在控制台设备管理中,核对设备信息。
6203 解析Topic时失败。 提交工单。
6250 查询产品信息失败。 在控制台,查询产品信息,核对ProductKey。
6204 设备已被禁用,不能对设备进行操作。 在控制台设备管理中,查看设备状态。
6450 自定义/透传格式数据经过脚本解析为Alink标准格式数据后,无method 在物联网平台控制台日志服务中,或设备本地日志中,检查设备上报的数据中是否有method参数。
6760 系统异常。 提交工单。
表 2. 数据解析公共错误码
错误码 原因 排查
26001 执行数据解析时,获取的脚本内容为空。 在控制台,产品的数据解析页签下,确认脚本已提交。
说明 未提交的脚本不能被调用。
26002 脚本执行正常,但脚本内容有问题,如脚本中语法错误。 使用相同的数据测试脚本。查看具体的错误信息,修改脚本。建议在本地详细的自验后,再提交到物联网平台。
26006 脚本执行正常,脚本内容有误。脚本中,要求有protocolToRawDatarawDataToProtocol这两个服务。如果缺失,会报错。 在控制台,产品的数据解析页签下,查询脚本内容中protocolToRawDatarawDataToProtocol服务是否存在。
26007 脚本执行正常,但返回结果不符合格式要求。 脚本中,要求有protocolToRawDatarawDataToProtocol这两个服务。 protocolToRawData返回byte[]数组, rawDataToProtocol要求返回JSON对象。 如果返回结果不符合这两种格式,会报这个错。 在控制台或在本地测试脚本,并查看返回结果的格式是否符合要求。
26010 请求过于频繁,导致被限流。 提交工单。
表 3. TSL公共错误码
错误码 原因 排查
5159 TSL校验时,查询属性定义失败。 提交工单。
5160 TSL校验时,查询事件定义失败。 提交工单。
5161 TSL校验时,查询服务定义失败。 提交工单。
6207 设备上报的Alink数据格式,或者调用脚本解析后返回的数据格式,不是JSON格式。 请参见设备属性、事件、服务,查看对应数据格式,并按格式要求上报数据。
6300 method不存在。TSL校验时,设备上报的Alink(标准)格式数据,或自定义(透传)格式数据经过脚本转换后,没有Alink协议要求的method参数。 在控制台日志服务, 或者设备的本地日志中,查看上报数据中是否有method参数。
6301 TSL校验时,发现定义的数据为array类型,但上报的数据不是array类型。 在控制台,产品的功能定义页签下,查看产品的TSL中对应数据格式,并按格式要求上报数据。
6302 TSL校验服务的入参时,发现缺少必需的参数。 在控制台,查看设备所属产品的功能定义,查询对应服务的入参,核对传入的参数。
6306 TSL校验时,发现:
  • 传入的参数类型和TSL中定义的类型不一致。
  • 或传入的参数取值范围不符合功能定义时设置的参数范围。
在控制台,查看设备所属产品的功能定义,核对传入的参数类型和取值范围。
6307 传入的参数不符合TSL中32位浮点数据的规范。TSL校验时,发现:
  • 传入的参数类型和TSL中定义的类型不一致。
  • 或传入的参数取值范围不符合功能定义时设置的参数范围。
6308 传入的参数不符合TSL中布尔类型数据的规范。TSL校验时,发现:
  • 传入的参数类型和TSL中定义的类型不一致。
  • 或传入的参数取值范围不符合功能定义时设置的参数范围。
6310 传入的参数不符合TSL中字符类型数据的规范。TSL校验时,发现:
  • 传入的参数类型和TSL中定义的类型不一致。
  • 或传入的字符类型的参数长度超过限制。
6322 传入的参数不符合TSL中64位浮点数据的规范。TSL校验时,发现:
  • 传入的参数类型和TSL中定义的类型不一致。
  • 或传入的参数取值范围不符合功能定义时设置的参数范围。
6304 TSL校验时,发现传入的参数在结构体中不存在。 在控制台,查看设备所属产品的功能定义,核对传入的参数类型。
6309 传入的参数不符合TSL中枚举类型数据的规范。
6311 传入的参数不符合TSL中日期类型数据的规范。TSL校验时,发现:
  • 传入的参数类型和TSL中定义的类型不一致。
  • 或传入的字符类型不是UTC时间戳的字符格式。
6312 传入的参数不符合TSL中结构体类型数据的规范。TSL校验时,发现:
  • 传入的参数类型和TSL中定义的类型不一致。
  • 或结构体类型中参数的个数和TSL中定义不一致。
6320 查询设备的TSL时,没有查询到设备的属性信息。 在控制台,查看设备所属产品的功能定义中是否存在该属性。若不存在,需增加属性定义。
6321 解析TSL时,发现属性、事件或者服务的标识符为空。 提交工单。
6317 TSL校验时,发现TSL中缺少关键信息,如typespecs为空。 提交工单。
6324 传入的数组类型的参数不符合规范。TSL校验时,发现:
  • 传入的数组类型的参数不符合TSL定义。
  • 或数组中参数个数超过了TSL中定义的最大个数。
  • 在控制台产品详情中,查看设备所属产品的功能定义,检查对应数组的定义。
  • 查看设备上报的日志,检查设备上报的数据中数组内元素的个数。
6325 传入的数组类型参数中有不支持的元素类型。目前,数组中元素的类型只支持整形、32位浮点类型、64位浮点类型、字符串类型、结构体类型。 检查传入的数组元素类型是否是支持的类型。
6326 TSL校验时,检查上报的数据中time字段格式时报错。 请参见设备属性、事件、服务,查看对应数据格式,并按格式要求上报数据。
6328 TSL校验时,发现传入的参数不是数组类型。 在控制台,查看设备所属产品的功能定义,核对传入的对应参数是否是数组类型。
系统异常错误码
6318 TSL解析时,系统异常。 提交工单。
6313
6329
6323
6316
6314
6301

设备身份注册相关错误码

  • 直连设备身份注册

    请求Topic:/sys/{productKey}/{deviceName}/thing/sub/register

    错误码:460、5005、5244、500、6288、6100、6619、6292、6203

    以下为设备身份注册的特有错误码说明,其他错误码说明请参见以上公共错误码章节。

    错误码 原因 排查
    6288 设备动态注册开关未打开。 在控制台,设备所属的产品详情页,开启设备动态注册。
    6619 设备已绑定到其它网关下。 在控制台,该子设备的详情页,查看该设备是否已绑定网关。
  • 直连设备一型一密动态注册

    错误码:460、6250、6288、6600、6289、500、6292

    以下为直连设备一型一密动态注册的特有错误码说明,其他错误码说明请参见以上公共错误码章节。

    错误码 原因 排查
    6288 设备动态注册开关未打开。 在控制台,设备所属的产品详情页,开启设备动态注册。
    6292 校验签名时,发现传入的签名方法不支持。 请使用设备身份注册signMethod支持的签名方法。
    6600 签名校验失败。 请按照设备身份注册中的签名方法计算签名,并校验签名。
    6289 一型一密动态注册直连设备时,发现设备已激活。 在控制台设备管理中,查看该设备的状态。

设备拓扑关系相关错误码

  • 添加设备拓扑关系

    请求Topic:/sys/{productKey}/{deviceName}/thing/topo/add

    错误码:460、429、6402、6100、401、6204、6400、6203

    以下为添加设备拓扑关系的特有错误码说明,其他错误码说明请参见以上公共错误码章节。

    错误码 原因 排查
    401 添加拓扑关系时,校验签名信息失败。 请按照管理拓扑关系中的签名方法计算签名,并校验。
    6402 网关与子设备是同一个设备。添加拓扑关系时,不能把当前网关作为子设备添加到当前网关下。 检查添加的子设备信息,是否有子设备信息和网关信息一致。
    6400 为网关添加的子设备数量超过限制。 请参见使用限制查看相关限制;并在控制台,该网关设备的子设备管理页签下,查看已有子设备数量。
  • 删除拓扑关系

    请求Topic:/sys/{productKey}/{deviceName}/thing/topo/delete

    错误码:460、429、6100、6401、6203

    以下为删除设备拓扑关系的特有错误码说明,其他错误码说明请参见以上公共错误码章节。

    错误码 原因 排查
    6401 检查拓扑关系时,拓扑关系不存在。 在控制台设备管理,网关设备的设备详情子设备管理页签中,查看子设备信息。
  • 获取拓扑关系

    请求Topic:/sys/{productKey}/{deviceName}/thing/topo/get

    错误码: 460、429、500、6203。错误码说明,请参见本文公共错误码章节。

  • 网关上报发现子设备

    请求Topic:/sys/{productKey}/{deviceName}/thing/list/found

    错误码:460、500、6250、6280、6203

    以下为特有错误码说明,其他错误码说明请参见以上公共错误码章节。

    错误码 原因 排查
    6280 网关上报的子设备名称不符合规范。设备名称字符仅支持中文汉字、英文字母、数字和下划线(_),长度范围4~32个字符,一个中文汉字算两个字符。 检查上报的设备名称是否符合规范。

子设备上下线相关错误码

  • 子设备上线

    请求Topic:/ext/session/${productKey}/${deviceName}/combine/login

    错误码: 460、429、6100、6204、6287、6401、500

  • 子设备主动下线异常

    接收消息的网关Topic:/ext/session/{productKey}/{deviceName}/combine/logout_reply

    错误码:460、520、500

  • 子设备被踢下线

    接收消息的网关Topic:/ext/error/{productKey}/{deviceName}

    错误码:427、521、522、6401

  • 子设备发送消息失败

    接收消息的网关Topic:/ext/error/{productKey}/{deviceName}

    错误码:520

以下为设子设备上、下线相关的特有错误码说明,其他错误码说明请参见以上公共错误码章节。

错误码 原因 排查
427 设备重复登录。有使用相同设备证书信息的设备连接物联网平台,导致当前连接被断开。 在控制台设备的设备详情页,查看设备的上线时间,以此判断是否有其他设备使用相同的设备证书接入物联网平台。
428 单个网关下子设备数目超过最大值。目前一个网关下,最多可有1500个子设备。 请检查网关设备下的子设备数量。
521 设备已被删除。 请在控制台设备管理页搜索设备,确认设备是否已被删除。
522 设备已被禁用。 请在控制台设备管理页查看设备状态。
520 子设备会话错误。
  • 子设备会话不存在,可能子设备没有上线,也可能已经被下线。
  • 子设备会话在线,但是并不是通过当前网关会话上线的。
6287 按照产品或者设备的密钥校验签名失败。 请参见子设备上下线中的签名方法计算签名,并校验。

设备属性、事件、服务相关错误码

  • 设备上报属性
    • 请求Topic(透传数据格式): /sys/{productKey}/{deviceName}/thing/model/up_raw
    • 请求Topic(Alink数据格式):/sys/{productKey}/{deviceName}/thing/event/property/post

    错误码:460、500、6250、6203、6207、6313、6300、6320、6321、6326、6301、6302、6317、6323、6316、6306、6307、6322、6308、6309、6310、6311、6312、6324、6328、6325、6200、6201、26001、26002、26006、26007

    以下为上报属性的特有错误码说明,其他错误码说明请参见以上公共错误码章节。

    错误码 原因 排查
    6106 上报的属性数据过多。设备一次上报的有效属性个数不能超过200个。 在控制台,监控运维 > 日志服务中,或设备本地的日志中,检查上报的属性个数。
  • 设备上报事件
    • 请求Topic(透传格式数据): /sys/{productKey}/{deviceName}/thing/model/up_raw
    • 请求Topic(Alink格式数据):/sys/{productKey}/{deviceName}/thing/event/{tsl.identifier}/post

    错误码:460、500、6250、6203、6207、6313、6300、6320、6321、6326、6301、6302、6317、6323、6316、6306、6307、6322、6308、6309、6310、6311、6312、6324、6328、6325、6200、6201、26001、26002、26006、26007

    错误码说明,请参见本文公共错误码章节。

  • 网关批量上报子设备数据
    • 请求Topic(透传格式数据):/sys/{productKey}/{deviceName}/thing/model/up_raw
    • 请求Topic(Alink格式数据):/sys/{productKey}/{deviceName}/thing/event/property/pack/post

    错误码:460、6401、6106、6357、6356、6100、6207、6313、6300、6320、6321、6326、6301、6302、6317、6323、6316、6306、6307、6322、6308、6309、6310、6311、6312、6324、6328、6325、6200、6201、26001、26002、26006、26007

    以下为网关批量上报子设备数据失败的特有错误码说明,其他错误码说明请参见以上公共错误码章节。

    错误码 原因 排查
    6401 拓扑关系不存在。 在控制台,网关设备的子设备管理页签下,确认其子设备信息。
    6106 上报的属性数据过多。设备一次上报的有效属性个数不能超过200个。 在控制台,监控运维 > 日志服务中,或设备本地的日志中,检查上报的属性个数。
    6357 子设备数据过多。网关代替子设备上报数据,一次上报最多可包含20个子设备的数据。 查看设备本地日志中的上报数据。
    6356 上报的事件数据过多。网关代替子设备上报数据,一次上报的事件个数不可超过200。 查看设备本地的日志中的上报数据。

设备期望属性值相关错误码

  • 设备获取期望属性值

    请求Topic:/sys/{productKey}/{deviceName}/thing/property/desired/get

    错误码: 460、6104、6661、500

    以下为设备期望属性值操作失败的特有错误码说明,其他错误码说明请参见以上公共错误码章节。

    错误码 原因 排查
    6104 请求中包含的属性个数过多。一次请求可包含的属性个数不能超过200个。 在控制台,监控运维 > 日志服务中,或者设备本地日志中,查看上报数据中的属性个数。
    6661 查询期望属性失败。系统异常。 提交工单排查。
  • 设备清空期望属性值

    请求Topic:/sys/{productKey}/{deviceName}/thing/property/desired/delete

    错误码:460、6104、6661、500、6207、6313、6300、6320、6321、6326、6301、6302、6317、6323、6316、6306、6307、6322、6308、6309、6310、6311、6312、6324、6328、6325

设备标签相关错误码

  • 设备上报标签信息

    请求Topic:/sys/{productKey}/{deviceName}/thing/deviceinfo/update

    错误码:460、6100

  • 设备删除标签信息

    请求Topic:/sys/{productKey}/{deviceName}/thing/deviceinfo/delete

    错误码: 460、500

获取TSL模板失败错误码

请求Topic:/sys/{productKey}/{deviceName}/thing/dsltemplate/get

错误码:460、5159、5160、5161

设备请求固件信息失败

请求Topic:/ota/device/request/${YourProductKey}/${YourDeviceName}

说明
  • 固件升级 AbstractAlinkJsonMessageConsumer 类中,只有DeviceOtaUpgradeReqConsumer会返回错误码;其它接口不返回错误码信息,返回数据为null。
  • 设备请求固件信息的Topic与返回数据Topic相同。

错误码:429、9112、500

以下为设备请求固件信息的特有错误码,其他错误码,请参见以上公共错误码章节。

错误码 原因 排查
9112 未查询到指定的设备信息。 在控制台设备管理中,确认设备信息是否正确。

设备请求配置信息失败

请求Topic:/sys/{productKey}/{deviceName}/thing/config/get

错误码:460、500、6713、6710

以下为设备请求配置信息的特有错误码,其他错误码,请参见以上公共错误码章节。

错误码 原因 排查
6713 远程配置服务不可用。该产品的远程配置开关未打开。 在控制台,监控运维 > 远程配置中 ,打开该产品的远程配置开关。
6710 未查询到远程配置信息。 在控制台,监控运维 > 远程配置中 ,查看是否为该产品编辑了远程配置文件。