IoT物联网-离线开发Profile(联通用户专用):服务能力定义样例

时间:2025-02-12 14:52:35

服务能力定义样例

servicetype-capability.json记录了该设备的服务信息:

{    "services": [        {            "serviceType": "WaterMeterBasic",            "description": "WaterMeterBasic",            "commands": [                {                    "commandName": "SET_PRESSURE_READ_PERIOD",                    "paras": [                        {                            "paraName": "value",                            "dataType": "int",                            "required": true,                            "min": 1,                            "max": 24,                            "step": 1,                            "maxLength": 10,                            "unit": "hour",                            "enumList": null                        }                    ],                    "responses": [                        {                            "responseName": "SET_PRESSURE_READ_PERIOD_RSP",                            "paras": [                                {                                    "paraName": "result",                                    "dataType": "int",                                    "required": true,                                    "min": -1000000,                                    "max": 1000000,                                    "step": 1,                                    "maxLength": 10,                                    "unit": null,                                    "enumList": null                                }                            ]                        }                    ]                }            ],            "properties": [                {                    "propertyName": "registerFlow",                    "dataType": "int",                    "required": true,                    "min": 0,                    "max": 0,                    "step": 1,                    "maxLength": 0,                    "method": "R",                    "unit": null,                    "enumList": null                },                {                    "propertyName": "currentReading",                    "dataType": "string",                    "required": false,                    "min": 0,                    "max": 0,                    "step": 1,                    "maxLength": 0,                    "method": "W",                    "unit": "L",                    "enumList": null                },                {                    "propertyName": "timeOfReading",                    "dataType": "string",                    "required": false,                    "min": 0,                    "max": 0,                    "step": 1,                    "maxLength": 0,                    "method": "W",                    "unit": null,                    "enumList": null                },                ......            ]        }    ]}

各字段的解释:

字段

子字段

必选/可选

描述

services

           

必选

包含了一个服务的完整信息(根节点不可修改)。

  

serviceType

        

必选

指示服务的类型,与devicetype-capability.json中serviceType字段保持一致。

  

description

        

必选

指示服务的描述信息。

非功能性字段,仅起到描述作用,可置为null。

  

commands

        

必选

指示设备可以执行的命令,如果本服务无命令则置null。

     

commandName

     

必选

指示命令的名字,命令名与参数共同构成一个完整的命令。

     

paras

     

必选

命令包含的参数。

        

paraName

  

必选

命令中参数的名字。

        

dataType

  

必选

指示命令参数的数据类型。

取值范围:string、int、string list、decimal、DateTime、jsonObject、enum、boolean。

上报数据时,复杂类型数据格式如下:

  • string list:["str1","str2","str3"]
  • DateTime:yyyyMMdd’T’HHmmss’Z’如:20151212T121212Z
  • jsonObject:自定义json结构体, 物联网平台 不解析,仅进行透传
        

required

  

必选

指示本命令是否必选,取值为true或false,默认取值false(非必选)。

目前本字段是非功能性字段,仅起到描述作用。

        

min

  

必选

指示最小值。

仅当dataType为int、decimal时生效。

        

max

  

必选

指示最大值。

仅当dataType为int、decimal时生效。

        

step

  

必选

指示步长。

暂不使用,填0即可。

        

maxLength

  

必选

指示字符串长度。

仅当dataType为string、string list、DateTime时生效。

        

unit

  

必选

指示单位,英文。

取值根据参数确定,如:

温度单位:“C”或“K”

百分比单位:“%”

压强单位:“Pa”或“kPa”

        

enumList

  

必选

指示枚举值。

如开关状态status可有如下取值:

"enumList" : ["OPEN","CLOSE"]

目前本字段是非功能性字段,仅起到描述作用,建议准确定义。

     

responses

     

必选

命令执行的响应。

        

responseName

  

必选

命名可以在该responses对应命令的commandName后面添加“_RSP”。

        

paras

  

必选

命令响应的参数。

           

paraName

必选

命令中参数的名字。

           

dataType

必选

指示数据类型。

取值范围:string、int、string list、decimal、DateTime、jsonObject

上报数据时,复杂类型数据格式如下:

  • string list:["str1","str2","str3"]
  • DateTime:yyyyMMdd’T’HHmmss’Z’如:20151212T121212Z
  • jsonObject:自定义json结构体,物联网平台不解析,仅进行透传
           

required

必选

指示本命令响应是否必选,取值为true或false,默认取值false(非必选)。

目前本字段是非功能性字段,仅起到描述作用。

           

min

必选

指示最小值。

仅当dataType为int、decimal时生效,逻辑大于等于。

           

max

必选

指示最大值。

仅当dataType为int、decimal时生效,逻辑小于等于。

           

step

必选

指示步长。

暂不使用,填0即可。

           

maxLength

必选

指示字符串长度。

仅当dataType为string、string list、DateTime时生效。

           

unit

必选

指示单位,英文。

取值根据参数确定,如:

温度单位:“C”或“K”

百分比单位:“%”

压强单位:“Pa”或“kPa”

           

enumList

必选

指示枚举值。

如开关状态status可有如下取值:

"enumList" : ["OPEN","CLOSE"]

目前本字段是非功能性字段,仅起到描述作用,建议准确定义。

  

properties

        

必选

上报数据描述,每一个子节点为一条属性。

     

propertyName

     

必选

指示属性名称。

     

dataType

     

必选

指示数据类型。

取值范围:string、int、string list、decimal、DateTime、jsonObject

上报数据时,复杂类型数据格式如下:

  • string list:["str1","str2","str3"]
  • DateTime:yyyyMMdd’T’HHmmss’Z’如:20151212T121212Z
  • jsonObject:自定义json结构体,物联网平台不解析,仅进行透传
     

required

     

必选

指示本条属性是否必选,取值为true或false,默认取值false(非必选)。

目前本字段是非功能性字段,仅起到描述作用。

     

min

     

必选

指示最小值。

仅当dataType为int、decimal时生效,逻辑大于等于。

     

max

     

必选

指示最大值。

仅当dataType为int、decimal时生效,逻辑小于等于。

     

step

     

必选

指示步长。

暂不使用,填0即可。

     

method

     

必选

指示访问模式。

R:可读;W:可写;E:可订阅。

取值范围:R、RW、RE、RWE 、null。

     

unit

     

必选

指示单位,英文。

取值根据参数确定,如:

温度单位:“C”或“K”

百分比单位:“%”

压强单位:“Pa”或“kPa”

     

maxLength

     

必选

指示字符串长度。

仅当dataType为string、string list、DateTime时生效。

     

enumList

     

必选

指示枚举值。

如电池状态(batteryStatus)可有如下取值:

"enumList" : [0, 1, 2, 3, 4, 5, 6]

目前本字段是非功能性字段,仅起到描述作用,建议准确定义。

support.huaweicloud.com/devg-IoT/iot_02_4012.html