典型场景

第三方应用在物联网平台注册设备后,若设备的基本信息发生变更,也可调用此接口在物联网平台修改设备的信息。

接口功能

支持第三方应用修改设备的基本信息,包括设备类型、设备模型、厂商信息、接入协议等。

接口描述

  1. Device::modifyDeviceInfo($modifyDeviceInfoArray);

接口所属类

  1. iotyun\huaweiiot\Device;

参数说明

  1. $modifyDeviceInfoArray = array(
  2. 'platformIp' => '平台IP或者域名',
  3. 'platformPort' => '平台端口',
  4. 'appId' => '应用appId',
  5. 'accessToken' => '你系统存储的accessToken',
  6. 'deviceId' => '您的设备ID',
  7. 'mdiInArray' => array(
  8. 'customFields' => array(
  9. array(
  10. 'fieldName'=>'',
  11. 'fieldType'=>'',
  12. 'fieldValue'=>''
  13. )
  14. ),
  15. 'imsi' => '',
  16. 'name' => '',
  17. 'endUser' => '',
  18. 'mute' => '',
  19. 'manufacturerId' => '',
  20. 'manufacturerName' => '',
  21. 'deviceType' => '',
  22. 'model' => '',
  23. 'location' => '',
  24. 'protocolType' => '',
  25. 'deviceConfig' => array(
  26. 'dataConfig' => array(
  27. 'dataAgingTime' => ''
  28. )
  29. ),
  30. 'region' => '',
  31. 'organization' => '',
  32. 'timezone' => '',
  33. 'ip' => '',
  34. 'isSecure' => '',
  35. 'psk' => '',
  36. 'tags' => array(
  37. array(
  38. 'tagName' => '',
  39. 'tagValue' => '',
  40. 'tagType' => 0
  41. )
  42. ),
  43. )
  44. );
参数 必选/可选 类型 描述
deviceId 必选 String 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。
appId 必选 String 如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。
accessToken 必选 String 您当前有效的accessToken。
mdiInArray 必选 array 具体参见mdiInArray的描述。

mdiInArray:

参数 必选/可选 类型 描述
customFields 可选 List<CustomField> 自定义字段列表,用户可设置自定义字段。
imsi 可选 String(1-64) NB-IoT终端的IMSI。
name 可选 String(1~256) 设备名称。
endUser 可选 String(1~256) 终端用户,若为直连设备,则endUser可选;若为非直连设备,则endUser可以为null。
mute 可选 Enum 表示设备是否处于冻结状态,即设备上报数据时,平台是否会管理和保存。
- TRUE:冻结状态
- FALSE:非冻结状态
manufacturerId 可选 String(1~256) 厂商ID,唯一标识一个厂商。
注册设备后必须修改厂商ID,且要与profile中定义的保持一致。
manufacturerName 可选 String(1~256) 厂商名称。
deviceType 可选 String(1~256) 设备类型,大驼峰命名方式,例如:MultiSensor、ContactSensor、CameraGateway。
在NB-IoT方案中,注册设备后必须修改deviceType,且要与profile中定义的保持一致。
model 可选 String(1~256) 设备型号,由厂商定义。
注册设备后必须修改设备型号,且要与profile中定义的保持一致。
location 可选 String(1~1024) 设备位置。
protocolType 可选 String(1~256) 设备使用的协议类型,当前支持的协议类型:CoAP,huaweiM2M,Z-Wave,ONVIF,WPS,Hue,WiFi,J808,Gateway,ZigBee,LWM2M。
注册设备后必须修改协议类型,且要与profile中定义的保持一致。
deviceConfig 可选 array 设备配置信息,具体参见deviceConfig
region 可选 String(1~256) 设备区域信息。
organization 可选 String(1~256) 设备所属的组织信息。
timezone 可选 String(1~256) 设备所在时区信息,使用时区编码,如上海时区对应的时区编码为Asia/Shanghai。
ip 可选 String(128) 设备的IP地址。
isSecure 可选 Boolean 设备的安全状态,默认值为“false”。
- “true”:安全
- “false”:非安全
psk 可选 String(8~32) psk参数,取值范围是“a-f、A-F、0-9”组成的字符串。
tags 可选 List<Tag2> 设备的标签信息。

CustomField:

参数 必选/可选 类型 描述
fieldName 可选 String(256) 字段名字。
fieldType 可选 String(256) 字段类型。
fieldValue 可选 String(256) 字段值。

DeviceConfig:

参数 必选/可选 字段类型 描述
dataConfig 可选 array 数据配置信息,具体参见DataConfig

DataConfig:

参数 必选/可选 字段类型 描述
dataAgingTime 可选 int 数据老化时长,取值范围:0-90,单位:天。

Tag2:

参数 必选/可选 类型 描述
tagName 必选 String(1-128) 标签名称。
tagValue 必选 String(1-1024) 标签值。
tagType 可选 int 标签类型。

返回值

void

错误码

Http状态码 错误码 错误描述 说明
200 100203 The application is not existed. 应用不存在。
处理建议:
- 请检查HTTP请求头域中携带的appId是否有误。
- 请检查请求路径(url)中传入的appId是否有误。
400 100022 The input is invalid. 输入参数无效。
处理建议:请检查接口调用请求中携带参数的合法性。
400 100440 The isSecure is invalid. isSecure参数值有误。
400 50400 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是否有误。
403 500004 The amount of frozen devices has reached the limit. 被冻结设备已达到上限。
404 100403 The device is not existed. 设备不存在。
处理建议:物联网平台未找到deviceId对应的设备,请检查deviceId是否有误。
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 100441 The amount of nonSecure device has reached the limit. 非安全设备数量已达到上限。
500 50252 Internal server error. 服务器运行内部错误。
处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。