华为云用户手册

  • 参数说明 参数 必选/可选 类型 位置 描述 cdcctInDTO 必选 CreateDeviceCmdCancelTaskInDTO body 见下表CreateDeviceCmdCancelTaskInDTO的描述。 appId 必选 String query 如果是本应用的设备命令,此参数值可以填写null,否则填写授权应用的appId。 accessToken 必选 String header 如果调用了定时刷新token接口,此参数值可以填写null,否则要填写鉴权接口获取的accessToken。 CreateDeviceCmdCancelTaskInDTO 参数 必选/可选 类型 位置 描述 deviceId 必选 String(1-64) body 待撤销设备命令的设备ID,撤销任务将会撤销所有向该设备下发的命令。
  • 示例 开发者调用设备删除接口。 1 HubService.rmvDevice(122, deviceId); 开发者调用设备删除接口前需要实现Agent Lite提供的观察者接口。 1 2 3 4 5 6 public class Subscribe implements MyObserver { public Subscribe (Observable hubService) { hubService. registerObserver (this); } @Override 同设备添加
  • 示例 1 2 3 4 5 6 7 8 9 10 11 BroadcastReceiver mUnbindRsp; mUnbindRsp = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //Delete config file, free resource return; } }; mLocalBroadcastManager = LocalBroadcastManager.getInstance(this); IntentFilter filterUnbind = new IntentFilter(HubService.TOPIC_UNBINDDEVICE); mLocalBroadcastManager.registerReceiver(mUnbindRsp, filterUnbind);
  • 错误码 Http状态码 错误码 错误描述 说明 400 120015 Bad request error. 请求错误。 处理建议:请检查接口请求中fileId的格式是否正确。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系 物联网平台 维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 123002 Device or package file not found. 设备或包不存在。 处理建议:请检查接口请求中的fileId是否正确。
  • 响应参数 QueryUpgradePackageOutDTO 参数 类型 描述 fileId String 版本包ID。 name String 版本包名称。 version String 版本包的版本号。 fileType String 版本包类型。 “firmwarePackage”:固件包 “softwarePackage”:软件包 deviceType String 版本包适用的设备类型。 model String 版本包适用的设备型号。 manufacturerName String 版本包适用的设备厂商名称。 protocolType String 版本包适用的设备协议类型。 description String 版本包的描述信息。 date String 版本包的生成时间。 uploadTime String 版本包的上传日期。
  • 返回结果 广播名称 广播参数 成员 描述 IOTA_TOPIC_DEVUPDATE_RSP/{deviceId} HW_MSG对象 无 设备状态更新结果。 EN_IOTA_DEVUPDATE_IE_TYPE: 枚举项 枚举值 类型 描述 EN_IOTA_DEVUPDATE_IE_RESULT 0 unsigned int 命令执行返回结果。 成功:0。 失败:1。 EN_IOTA_DEVUPDATE_IE_DEVICEID 1 String 设备ID。
  • 示例 1 2 3 HW_CHAR *pcDeviceId = stDevice.pcDeviceId; IOTA_DeviceStatusUpdate(0, pcDeviceId, “ONLINE” , “NONE”); 然后等待命令执行结果。 1 2 3 4 5 6 7 8 9 // 开发者注册该函数进行状态更新后的处理 HW_iNT Device_StatusUpdateHandler(HW_UiNT uiCookie, HW_MSG pstMsg) { HW_cHAR pcCmdContentl; pcCmdContent = HW_MsgGetStr(pstMsg, EN_IOTA_DEVUPDATE_IE_RESULT); pcCmdContent = HW_MsgGetStr(pstMsg, EN_IOTA_DEVUPDATE_IE_DEVICEID); return 0; } //绑定广播接收处理函数 HW_BroadCastReg(“IOTA_TOPIC_DEVUPDATE_RSP”, Device_StatusUpdateHandler);
  • 参数说明 字段 必选/可选 类型 描述 uiCookie 可选 HW_UINT Cookie有效值为1-65535。 pcDeviceId 必选 HW_CHAR 设备Id,该参数必须带结束符‘\0'。 pcStatus 必选 HW_CHAR 设备状态,该参数必须带结束符‘\0'。 在线: ONLINE。 离线: OFFLINE。 pcStatusDetail 必选 HW_CHAR 设备状态详细信息,该参数必须带结束符‘\0'。 无:NONE。 配置等待:CONFIGURATION_PENDING。 通信错误:COMMUNICATION_ERROR。 配置错误:CONFIGURATION_ERROR。 桥接器离线:BRIDGE_OFFLINE。 固件升级:FIRMWARE_UPDATING。 循环任务:DUTY_CYCLE。 未激活:NOT_ACTIVE。
  • 参数说明 字段 必选/可选 类型 描述 key 必选 int 设备登录的配置项。 设备ID:EN_IOTA_CFG_DEVICEID。 AppId:EN_IOTA_CFG_APPID。 密码:EN_IOTA_CFG_DEVI CES ECRET。 HTTP地址:LEN_IOTA_CFG_IOCM_ADDR。 HTTP端口:EN_IOTA_CFG_IOCM_PORT。 MQTT地址:EN_IOTA_CFG_MQTT_ADDR。 MQTT端口:EN_IOTA_CFG_MQTT_PORT。 value 必选 String 设置的值。 设备ID:从绑定成功的回调中获取。 AppId:从绑定成功的回调中获取。 密码:从绑定成功的回调中获取。 HTTP地址:Agent Lite对接平台设备接入地址。 HTTP端口:8943。 MQTT地址:Agent Lite对接平台设备接入地址。 MQTT端口:8883。 EN_IOTA_CFG_TYPE: 枚举项 枚举值 类型 描述 EN_IOTA_CFG_DEVICEID 0 String 平台分配的逻辑设备ID。 EN_IOTA_CFG_DEVICESECRET 1 String 设备接入的鉴权密钥。 EN_IOTA_CFG_APPID 2 String 开发者应用ID。 EN_IOTA_CFG_IOCM_ADDR 3 String 服务器地址。 EN_IOTA_CFG_IOCM_PORT 4 unsigned int 服务器端口。 EN_IOTA_CFG_MQTT_ADDR 5 String MQTT服务器地址。 EN_IOTA_CFG_MQTT_PORT 6 unsigned int MQTT服务器端口。
  • 参数说明 参数 必选/可选 类型 位置 描述 deviceId 必选 String path 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 appId 必选 String query 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。 accessToken 必选 String header 如果调用了定时刷新token接口,此参数值可以填写null,否则要填写鉴权接口获取的accessToken。
  • 错误码 Http状态码 错误码 错误描述 说明 403 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 403 100217 The application hasn't been authorized. 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 pp_key or access_token is invalid. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 100418 The deviceData is not existed. 设备信息不存在。 处理建议: 请求参数中携带的deviceId错误。请确认该deviceId是否属于该appId或者deviceId是否写错。 Header中携带的appId有误,请确认该appId下是否有该deviceId。 如果URL中携带了可选参数appId,请检查该appId是否有误。 500 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 错误码 Http状态码 错误码 错误描述 说明 400 100022 The input is invalid. 输入参数无效。 处理建议:请检查接口调用请求中携带参数的合法性。 403 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 403 100217 The application hasn't been authorized. 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 500 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 参数说明 参数 必选/可选 类型 位置 描述 qdcInDTO 必选 QueryDeviceCapabilitiesInDTO query 见下表QueryDeviceCapabilitiesInDTO的描述。 accessToken 必选 String header 如果调用了定时刷新token接口,此参数值可以填写null,否则要填写鉴权接口获取的accessToken。 QueryDeviceCapabilitiesInDTO 参数 是否必须 类型 位置 描述 gatewayId 可选 String query 网关ID,用于标识一个网关设备。 appId 必选 String query 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。 deviceId 可选 String query 设备ID,用于唯一标识一个设备。
  • 错误码 Http状态码 错误码 错误描述 说明 200 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 200 100217 The application hasn't been authorized. 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的Token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 参数说明 参数 必选/可选 类型 位置 描述 qdgInDTO 必选 QueryDeviceGroupsInDTO query 见下表QueryDeviceGroupsInDTO的描述。 accessToken 必选 String header 填写鉴权接口获取的accessToken。 QueryDeviceGroupsInDTO 参数 必选/可选 类型 位置 描述 accessAppId 可选 String query 如果是本应用的设备组,此参数值可以填写None,否则填写授权应用的appId。 pageNo 可选 Integer query 分页查询参数。 值为空时,查询内容不分页。 值为大于等于0的整数时,分页查询。 值为0时查询第一页。 pageSize 可选 Integer query 每页设备组记录数量,默认值为“1”。 name 可选 String query 设备组名称。
  • 参数说明 参数 必选/可选 类型 位置 描述 qutlInDTO 必选 QueryUpgradeTaskListInDTO query 见下表QueryUpgradeTaskListInDTO的描述。 accessToken 必选 String header 填写鉴权接口获取的accessToken。 QueryUpgradeTaskListInDTO 参数 必选/可选 类型 位置 描述 operationType 可选 String(256) query 操作类型。 “firmware_upgrade” “software_upgrade” operationStatus 可选 String(256) query 操作任务的状态。 “wait”:等待 “processing”:正在执行 “failed”:失败 “success”:成功 “stop”:停止 deviceType 可选 String(256) query 操作任务针对的设备类型。 model 可选 String(256) query 操作任务针对的设备型号。 manufacturerName 可选 String(256) query 操作任务针对的设备厂家名称。 deviceId 可选 String(256) query 操作任务针对的设备ID。 pageNo 可选 Integer query 分页查询参数,默认值“0”。 值为空时,查询内容不分页。 值为大于等于0的整数时,分页查询。 值为0时查询第一页。 pageSize 可选 Integer query 查询结果分页时的每页结果数量,取值范围1-100,默认值“10”。
  • 错误码 Http状态码 错误码 错误描述 说明 400 120015 Bad request error. 请求错误。 处理建议:请检查接口请求中fileId的格式是否正确。 400 123029 pageNo or pageSize beyond the limit. pageNo或pageSize超出上限。 处理建议:修改pageNo或pageSize为合法取值。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 123009 The requested task does not exist. 查询的任务不存在。 处理建议:请检查接口请求中的operationId内容是否正确。
  • 返回结果 广播名称 广播参数 成员 描述 IOTA_TOPIC_HUB_ADDDEV_RSP HW_MSG对象 EN_IOTA_HUB_IE_TYPE 返回设备添加结果,如果添加成功则返回设备ID。 EN_IOTA_HUB_IE_TYPE: 枚举项 枚举值 类型 描述 EN_IOTA_HUB_IE_RESULT 0 EN_IOTA_HUB_RESULT_TYPE 添加/删除执行结果。 EN_IOTA_HUB_IE_DEVICEID 1 String 添加成功后分配的设备ID。 EN_IOTA_HUB_RESULT_TYPE: 枚举项 枚举值 描述 EN_IOTA_HUB_RESULT_SUCCESS 0 添加/删除执行成功。 EN_IOTA_HUB_RESULT_DEVICE_EXIST 1 设备已存在。 EN_IOTA_HUB_RESULT_DEVICE_NOTEXIST 2 设备不存在。 EN_IOTA_HUB_RESULT_DEVICE_FAILED 255 执行失败。
  • 示例 1 2 3 4 5 6 7 8 9 // 开发者调用该接口进行设备添加 ST_IOTA_DEVICE_INFO stDeviceInfo stDeviceInfo.pcNodeId = “SN Number”; stDeviceInfo.pcManufacturerId = “Huawei”; stDeviceInfo.pcDeviceType = “Camera”; stDeviceInfo.pcModel = “HW_CAM101”; stDeviceInfo.pcProtocolType = “ONVIF”; IOTA_HubDeviceAdd(29011, &stDeviceInfo); 结果处理: 1 2 3 4 5 6 7 8 9 10 11 12 // 开发者注册该函数进行设备添加后的处理 HW_iNT Device_AddResultHandler(HW_UiNT uiCookie, HW_MSG pstMsg) { uiResult = HW_MsgGetUint(pstMsg, EN_IOTA_HUB_IE_RESULT); if (EN_IOTA_HUB_RESULT_SUCCESS != uiResult) { // retry with uiCookie return 0; } return 0; } //绑定广播接收处理函数 HW_BroadCastReg(“IOTA_TOPIC_HUB_ADDDEV_RSP”, Device_AddResultHandler);
  • 参数说明 字段 必选/可选 类型 描述 uiCookie 可选 HW_UINT Cookie有效值为1-65535。 pstDeviceInfo 必选 ST_IOTA_DEVICE_INFO 设备信息,pstDeviceInfo结构体中的成员变量必须带结束符‘\0'。 ST_IOTA_DEVICE_INFO: 字段 必选/可选 类型 描述 pcNodeId 必选 String 关键参数,对接平台的网关下设备唯一标识,设备填写,平台用于判重。 pcName 可选 String 设备名称。 pcDescription 可选 String 设备描述。 pcManufacturerId 必选 String 厂商ID。 pcManufacturerName 可选 String 厂商名。 pcMac 可选 String 设备MAC地址。 pcLocation 可选 String 设备的位置。 pcDeviceType 必选 String 设备类型。 pcModel 必选 String 型号。 直连设备:与Profile中定义的model保持一致即可。 Z-Wave设备: ProductType + ProductId,格式(使用16 进制): XXXX-XXXX 补0对齐,如001A-0A12,其他协议再定。 pcSwVersion 可选 String 软件版本。 Z-Wave:主版本号.次版本号, 如:1.1 pcFwVersion 可选 String 固件版本。 pcHwVersion 可选 String 硬件版本。 pcProtocolType 必选 String 协议类型 :Z-Wave。 pcBridgeId 可选 String 表示设备通过哪个Bridge接入平台。 pcStatus 可选 String 表示设备是否在线。 ONLINE 在线。 OFFLINE 离线。 statusDetail 可选 String 状态详情,如果pcStatus不为空,则该参数必选。 参数值: 无:NONE。 配置等待:CONFIGURATION_PENDING。 通信错误:COMMUNICATION_ERROR。 配置错误:CONFIGURATION_ERROR。 桥接器离线:BRIDGE_OFFLINE。 固件升级:FIRMWARE_UPDATING。 循环任务:DUTY_CYCLE。 未激活:NOT_ACTIVE。 pcMute 可选 String 表示设备是否被屏蔽。 TRUE FALSE
  • 参数说明 参数 必选/可选 类型 位置 描述 accessToken 必选 String header 如果调用了定时刷新token接口,此参数值可以填写null,否则要填写鉴权接口获取的accessToken。 qtdInDTO 必选 QueryTaskDetailsInDTO query 详细参见QueryTaskDetailsInDTO结构体的描述。 QueryTaskDetailsInDTO结构体: 参数 必选/可选 类型 位置 描述 appId 可选 String query 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。 taskId 必选 String query 批量任务的ID。 status 可选 String query 任务的详情状态,Pending/WaitResult/Success/Fail/Timeout。 deviceId 可选 String query 设备Id,查询批量命令任务时使用。 commandId 可选 String query 命令Id,查询批量命令任务时使用。 pageNo 可选 Integer query 分页查询参数。 值为空时,查询内容不分页。 值为大于等于0的整数时,分页查询。 值为0时查询第一页。 pageSize 可选 Integer query 分页查询参数,取值大于等于1的整数,缺省值:1。
  • 错误码 Http状态码 错误码 错误描述 说明 400 100022 The input is invalid 输入参数无效。 处理建议:请检查接口调用请求中携带参数的合法性。 403 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 403 100217 The application hasn't been authorized 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 105005 The batchTask is not existed. 批量任务不存在。 处理建议:请检查接口请求中的taskId是否有误。 500 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 500 50252 Internal server error. 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。
  • 示例 1 2 //开发者调用该接口进行设备添加 HubService.addDevice(29011, new IotaDeviceInfo("nodeId", "manufacturerId", "deviceType", "model", "protocolType")); 结果处理: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 //java code // 开发者注册广播接收器对设备添加结果进行相应的处理 BroadcastReceiver mAdddeviceRsp; mAdddeviceRsp = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //Do Something IotaMessage iotaMsg = (IotaMessage)intent.getSerializableExtra(HubService. HUB_BROADCAST_IE_IOTAMSG); int result = iotaMsg.getUint(HubService.HUB_IE_RESULT, 0); String deviceId = iotaMsg.getString(HubService.HUB_IE_DEVICEID); int cookie = iotaMsg.getUint(HubService.HUB_IE_COOKIE, 0); return; } }; mLocalBroadcastManager = LocalBroadcastManager.getInstance(this); IntentFilter filterAddDev = new IntentFilter(HubService.TOPIC_ADDDEV_RSP); mLocalBroadcastManager.registerReceiver(mAdddeviceRsp, filterAddDev);
  • 返回结果 广播名称 广播参数 成员 描述 TOPIC_ADDDEV_RSP IotaMessage (使用intent.getSerializableExtra(HubService.HUB_BROADCAST_IE_IOTAMSG)方法获取) HUB_IE_RESULT 添加设备结果。 HUB_IE_DEVICEID 设备ID,如果添加成功则返回设备ID。 HUB_IE_COOKIE Cookie有效值为1-65535。 HUB_IE_RESULT: 枚举项 枚举值 类型 描述 HUB_RESULT_SUCCESS 0 NA 添加/删除执行成功。 HUB_RESULT_DEVICE_EXIST 1 NA 设备已存在。 HUB_RESULT_DEVICE_NOTEXIST 2 NA 设备不存在。 HUB_RESULT_DEVICE_FAILED 255 NA 执行失败。
  • 参数说明 字段 必选/可选 类型 描述 cookie 可选 int Cookie有效值为1-65535。 deviceInfo 必选 IotaDeviceInfo 设备信息。 IotaDeviceInfo: 字段 必选/可选 类型 描述 nodeId 必选 String 关键参数,对接平台的网关下设备唯一标识,设备填写,平台用于判重。 name 可选 String 设备名称。 description 可选 String 设备描述。 manufacturerId 必选 String 厂商ID。 manufacturerName 可选 String 厂商名。 mac 可选 String 设备MAC地址。 location 可选 String 设备的位置。 deviceType 必选 String 设备类型。 model 必选 String 型号。 直连设备:与Profile中定义的model保持一致即可。 Z-Wave设备: ProductType + ProductId,格式(使用16 进制): XXXX-XXXX 补0对齐,如001A-0A12,其他协议再定。 swVersion 可选 String 软件版本。 Z-Wave :主版本号.次版本号,如:1.1。 fwVersion 可选 String 固件版本。 hwVersion 可选 String 硬件版本。 protocolType 必选 String 协议类型 :Z-Wave。 bridgeId 可选 String 表示设备通过哪个Bridge接入平台。 status 可选 String 表示设备是否在线。 ONLINE:在线。 OFFLINE:离线。 statusDetail 可选 String 状态详情,如果pcStatus不为空,则该参数必选。 参数值: 无:NONE。 配置等待:CONFIGURATION_PENDING。 通信错误:COMMUNICATION_ERROR。 配置错误:CONFIGURATION_ERROR。 桥接器离线:BRIDGE_OFFLINE。 固件升级:FIRMWARE_UPDATING。 循环任务:DUTY_CYCLE。 未激活:NOT_ACTIVE。 mute 可选 String 表示设备是否被屏蔽。 TRUE。 FALSE。
  • 错误码 Http状态码 错误码 错误描述 说明 400 120015 Bad request error. 请求错误。 处理建议:请检查请求参数的是否有误。 400 123016 The parameter is error, targetversion not match with device. 参数不正确,目标版本与指定设备不匹配。 处理建议:请检查接口请求中deviceType、manufacturerName、model,与参数fileId指定的目标版本包信息是否一致。 400 123019 manufacturerName is null. 厂商名称内容为空。 处理建议:请检查接口请求中的manufacturerName是否为空。 400 123020 deviceType is null 设备类型内容为空。 处理建议:请检查接口请求中的deviceType是否为空。 400 123021 model is null. 设备型号内容为空。 处理建议:请检查接口请求中的model是否为空。 400 123022 deviceGroups and devices cannot be null together deviceGroups和devices不能同时为空。 处理建议:deviceGroups与devices必须要选择一个进行赋值。 400 123023 deviceGroups and devices cannot be exist together deviceGroups和devices不能同时存在。 处理建议:deviceGroups与devices只能选择一个进行赋值。 400 123024 The number of deviceGroups or devices reached upper limit deviceGroups或devices内容数量达到上限。 处理建议:请检查deviceGroups或devices的内容,数量不能超过256个。 400 123025 executeType is error or can not to be null. executeType有误或不能为空。 处理建议:请检查接口请求中的executeType是否为空或者是否有误。 400 123026 startTime or endTime is null or error. startTime或endTime为空或有误。 处理建议:请检查接口请求中的startTime和endTime是否为空或者格式有误。 400 123028 retryTimes is null or beyond the limit. retryTimes为空或超出上限。 处理建议:请检查接口请求中的retryTimes是否为空,或者不能小于1或者大于5。 400 123032 startTime can not be later than the endTime. startTime的时间不能比endTime晚。 处理建议:请检查接口请求中的startTime是否晚于endTime。 400 123033 startTime can not be earlier than the now. startTime的时间不能比当前时间早。 处理建议:请检查接口请求中的startTime是否早于当前时间。 400 123034 endtime must be greater than 5 minutes. endtime要比startTime大5分钟。 处理建议:请检查接口请求中的startTime和endTime间隔时间必须大于5分钟。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 123002 Device or package file not found. 设备或包不存在 处理建议:请检查接口请求中的fileId是否正确。
  • 参数说明 参数 必选/可选 类型 位置 描述 udcInDTO 必选 UpdateDeviceCommandInDTO body 见下表UpdateDeviceCommandInDTO的描述。 deviceCommandId 必选 String path 要修改的命令ID,在调用创建设备命令接口后获得。 appId 可选 String query 如果是本应用的设备,此参数值可以填写None,否则填写授权应用的appId。 accessToken 必选 String header 填写鉴权接口获取的accessToken。 UpdateDeviceCommandInDTO 参数 必选/可选 类型 位置 描述 status 必选 String body 命令执行结果,可选值:“CANCELED”,撤销命令。
  • 错误码 Http状态码 错误码 错误描述 说明 200 100203 The application is not existed. 应用不存在。 处理建议: 请检查HTTP请求头域中携带的appId是否有误。 请检查请求路径(url)中传入的appId是否有误。 200 100217 The application hasn't been authorized. 应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 200 100418 The deviceData is not existed. 设备信息不存在。 处理建议: 请求参数中携带的deviceId错误。请确认该deviceId是否属于该appId或者deviceId是否写错。 Header中携带的appId有误,请确认该appId下是否有该deviceId。 如果URL中携带了可选参数appId,请检查该appId是否有误。 200 100428 The device is not online. 设备不在线。 处理建议:请检查设备与物联网平台的连接是否正常。 200 100431 The serviceType is not exist. 服务类型不存在。 处理建议: 请检查该设备的Profile文件是否已上传到物联网平台。 请检查请求参数是否正确,或者serviceId在Profile文件中是否存在。 200 100434 The device command is not existed. 设备命令不存在。 处理建议:请检查接口请求中的设备命令ID是否正确。 200 100435 The device command already canceled, expired or executed, Cannot cancel. 设备命令已经取消,过期或执行,不能取消。 400 100022 The input is invalid. 输入参数无效。 处理建议:请检查接口调用请求中携带参数的合法性。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 500 100001 Internal server error. 服务内部处理错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 500 100023 The data in dataBase is abnomal. 数据库异常。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 500 100220 Get AppKey from header failed. 获取appKey失败。 处理建议 : 请检查接口请求的header中是否携带appId。 500 101016 Get iotws address failed. 获取iotws地址失败。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 500 101017 Get newCallbackUrl from oss failed. 从oss获取新的回调地址失败。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 503 100501 Congestion occurs, and the current network has been flow-controlled 发生拥塞,当前的网络已经被流控。
  • 软件架构 Agent Tiny SDK软件结构如下图所示,主要分为以下几层: 应用编程接口:通过应用编程接口将Agent Tiny SDK能力开放给设备,终端设备调用SDK能力,快速完成华为物联网平台的接入、业务数据上报、下发命令处理等。 端云互通组件:提供了终端采用MQTT、CoAP、LWM2M等多种协议接入华为物联网平台的能力。 物联组件:集成了LWM2M、CoAP、MQTT等物联网标准协议,您可以根据现有设备特征,添加自定义的协议。 基础组件:提供了驱动、传感器、AT指令等框架,您可以基于SDK提供的框架,根据具体的硬件平台进行适配。 OS适配层:提供了LiteOS、Linux等操作系统内核,您也可以添加第三方操作系统内核。 硬件平台抽象层HAL:提供交叉编译能力,以便于Agent Tiny 集成在不同硬件平台。 Agent Lite SDK 架构如下图所示,主要分为以下几个模块: 应用编程接口:通过应用编程接口将Agent Lite SDK能力开放给设备,终端设备调用SDK能力,快速完成华为物联网平台的接入、业务数据上报、下发命令处理等。 数据上报:上报网关和子设备数据到物联网平台。 命令接收:接收来自物联网平台下发给网关和子设备的命令。 回调监听:为第三方应用提供Agent Lite接收到物联网平台消息后,从Agent Lite 获取消息的能力。 端云互通:提供终端采用MQTT协议接入华为物联网平台的能力。 日志收集:提供终端运行日志收集能力。 子设备管理:提供子设备添加、删除、设备状态更新等能力。 硬件平台抽象层HAL(Hardware Abstraction Layer):提供交叉编译能力,以便于Agent Lite 集成在不同硬件平台。
  • 示例 调用该接口需要实现Agent Lite提供的观察者接口。 1 2 3 4 public class AgentLiteHub implements MyObserver { public Subscribe (Observable hubService) { hubService. registerObserver (this); } 接收设备解绑定响应消息。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // 当设备解绑定成功后,开发者收到该回调后需要删除直连设备的配置信息并且释放所有资源。 public void update(IotaMessage arg0) { // TODO Auto-generated method stub System.out.println("收到hubservice通知:" + arg0); int mMsgType = arg0.getMsgType(); switch(mMsgType) { //收到添加设备的应答 case IodevService.IODEV_MSG_ADD_DEVICE_RSP: getAddDeviceAnswer(arg0); break; //收到删除设备的应答 case IodevService.IODEV_MSG_RMV_DEVICE_RSP: getRmvDeviceAnswer(arg0); break; //收到更新设备信息的应答 case IodevService.IODEV_MSG_UPDATE_DEVSTATUS_RSP: getUpdateStatusAnswer(arg0); break; case IodevService.IODEV_MSG_RECEIVE_CMD: getUnbindAnswer(arg0); break; default: break; } }
共100000条