典型场景
第三方应用在物联网平台注册设备后,若设备的基本信息发生变更,也可调用此接口在物联网平台修改设备的信息。
接口功能
支持第三方应用修改设备的基本信息,包括设备类型、设备模型、厂商信息、接入协议等。
接口描述
Device::modifyDeviceInfo($modifyDeviceInfoArray);
接口所属类
iotyun\huaweiiot\Device;
参数说明
$modifyDeviceInfoArray = array('platformIp' => '平台IP或者域名','platformPort' => '平台端口','appId' => '应用appId','accessToken' => '你系统存储的accessToken','deviceId' => '您的设备ID','mdiInArray' => array('customFields' => array(array('fieldName'=>'','fieldType'=>'','fieldValue'=>'')),'imsi' => '','name' => '','endUser' => '','mute' => '','manufacturerId' => '','manufacturerName' => '','deviceType' => '','model' => '','location' => '','protocolType' => '','deviceConfig' => array('dataConfig' => array('dataAgingTime' => '')),'region' => '','organization' => '','timezone' => '','ip' => '','isSecure' => '','psk' => '','tags' => array(array('tagName' => '','tagValue' => '','tagType' => 0)),));
| 参数 | 必选/可选 | 类型 | 描述 |
|---|---|---|---|
| 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 | 标签类型。 |
返回值
错误码
| 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. | 服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 |
