Get Thing Model


根据模型标识符(modelId)获取模型相关的信息。


如果你需要在调用 Update Thing Model API 后调用当前 API,建议间隔 2 秒左右,以免获取到未更新数据。

请求格式

GET https://{apigw-address}/model-service/v2.1/thing-models?action=get

请求参数(URI)

名称 位置(Path/Query) 必需/可选 数据类型 描述
orgId Query 必需 String 模型所属的OU ID。如何获取 orgId 信息>>
scope Query 可选 Integer 查询范围。 0:只从 orgId 指定的组织搜索; 1:从 orgId 指定的组织和公有模型所在的组织搜索。默认为 1。
modelId Query 必需 String 模型 ID。如何获取 modelId 信息>>

响应参数

名称 数据类型 描述
data ThingModel 结构体 物模型,参见 ThingModel 结构体

ThingModel 结构体

名称 数据类型 描述
modelId String 模型 ID。
modelIdPath String 模型继承路径。
orgId String 创建该模型的 OU ID。例如,OU B 的某一模型是从 OU A 共享而来,在 OU B 中查询该模型的信息,返回的 OU ID 将是 OU A。
name StringI18n 模型名称。
desc String 模型描述。
category String 模型分类。
tags Map(Key 为 String,Value 为 String) 用户自定义标签。
attributes Map(Key 为 String,Value 为 ThingAttribute 结构体) 静态属性定义的 map 类型值, key 为静态属性ID, value 为属性定义。属性定义的结构参见 ThingAttribute 结构体
measurepoints Map(Key 为 String,Value 为 ThingMeasurepoint 结构体) 测点定义的 map 类型值,key 为测点ID, value 为测点定义。测点定义的结构参见 ThingMeasurepoint 结构体
services Map(Key 为 String,Value 为 ThingService 结构体) 服务定义的 map 类型值, key 为服务ID, value 为服务定义。服务定义的结构参见 ThingService 结构体
events Map(Key 为 String,Value 为 ThingEvent 结构体) 事件定义的 map 类型值, key 为事件ID, value 为事件定义。事件定义的结构参见 ThingEvent 结构体

ThingAttribute 结构体

名称 数据类型 描述
identifier String 属性ID。
dataType String 数据类型。比如:ARRAY、BOOL、DATE、ENUM、INT、FLOAT、DOUBLE、STRUCT、STRING、TIMESTAMP、FILE。
dataDefinition String 本结构体内 datatype 的数据定义,是一个 JSON 字符串。如对于 String 的数据类型,需要定义长度。对于 enum 的数据类型需要定义取值及描述。如何使用 dataDefinition>>
isRequired Boolean 是否是必须的属性。如果为 true,则要求资产在实例化的时候必须设置该属性的值,否则资产在创建的时候会返回校验失败的错误。
defaultValue 根据属性的定义决定

属性的默认值。如果没有设置默认值,则为 null。

注:EnOS Edge 不支持该参数。

name StringI18n 支持国际化的属性名称。
desc String 属性描述。
i18nDesc StringI18n 支持国际化的描述。
tags Map (Key 为 String,Value 为 String) 用户自定义标签。
isStdElement Boolean

是否是标准元素。 true 为是, false 为否。

注:EnOS Edge 不支持该参数。

stdElementId String

当元素是标准元素时,标准元素的URN,其命名格式为 urn:enos:modelelement:std: <id> : <version>id 为元素标识符,<version> 表示元素的版本。如果该元素不是标准元素,则值为 null

注:EnOS Edge 不支持该参数。

unit Unit 结构体 单位。参见 Unit 结构体

ThingMeasurepoint 结构体

名称 数据类型 描述
identifier String 测点 ID
dataType String 数据类型。比如:ARRAY、DATE、ENUM、INT、FLOAT、DOUBLE、STRUCT、STRING、TIMESTAMP、FILE。
dataDefinition String 本结构体内 datatype 的数据定义,是一个 JSON 字符串。如对于 String 的数据类型,需要定义长度。对于 enum 的数据类型需要定义取值及描述。如何使用 dataDefinition>>
name StringI18n 支持国际化的测点名称。
desc String 测点描述。
i18nDesc StringI18n 支持国际化的描述。
tags Map (Key 为 String,Value 为 String) 用户自定义标签。
isStdElement Boolean

是否是标准元素。 true 为是, false 为否。

注:EnOS Edge 不支持该参数。

stdElementId String

当元素是标准元素时,标准元素的 URN,其命名格式为 urn:enos:modelelement:std: <id> : <version>id 为元素标识符,<version> 表示元素的版本。如果该元素不是标准元素,则值为 null

注:EnOS Edge 不支持该参数。

hasQuality Boolean 是否有质量位。
signalType String 信号类型。有如下类型:Generic、AI、PI、DI。
unit Unit 结构体 单位。参见 Unit 结构体

ThingService 结构体

名称 数据类型 描述
identifier String 服务 ID。
name StringI18n 支持国际化的服务名称。
desc String 服务描述。
i18nDesc StringI18n 支持国际化的描述。
tags Map (Key 为 String,Value 为 String) 用户自定义标签。
isStdElement Boolean

是否是标准元素。 true 为是, false 为否。

注:EnOS Edge 不支持该参数。

stdElementId String

当元素是标准元素时,标准元素的 URN,其命名格式为 urn:enos:modelelement:std: <id> : <version>id 为元素标识符,<version> 表示元素的版本。如果该元素不是标准元素,则值为 null

注:EnOS Edge 不支持该参数。

inputData ThingDatapoint 结构体 Service 的入参列表。 参数定参见 ThingDatapoint 结构体
outputData ThingDatapoint 结构体 Service 返回参数列表。 参数定参见 ThingDatapoint 结构体
callType String 注意:callType 已废弃,未来会删除,请不要使用。调用类型。 SYNC 表示同步, ASYNC 表示异步。

ThingEvent 结构体

名称 数据类型 描述
identifier String 事件 ID。
name StringI18n 支持国际化的事件名称。
desc String 事件描述。
i18nDesc StringI18n 支持国际化的描述。
tags Map (Key 为 String,Value 为 String) 用户自定义标签。
isStdElement Boolean

是否是标准元素。 true 为是, false 为否。

注:EnOS Edge 不支持该参数。

stdElementId String

当元素是标准元素时,标准元素的URN,其命名格式为 urn:enos:modelelement:std: <id> : <version>id 为元素标识符,<version> 表示元素的版本。如果该元素不是标准元素,则值为 null

注:EnOS Edge 不支持该参数。

outputData ThingDatapoint 结构体 Event返回参数列表。 参数定参见 ThingDatapoint 结构体
eventType String 事件类型。有 INFOWARNERROR 三种取值。

ThingDatapoint 结构体

名称 数据类型 描述
identifier String 点 ID。
dataType String 数据类型。比如:ARRAY、DATE、ENUM、INT、FLOAT、DOUBLE、STRUCT、STRING、TIMESTAMP、FILE。
dataDefinition String 本结构体内 datatype 的数据定义,是一个 JSON 字符串。如对于 String 的数据类型,需要定义长度。对于 enum 的数据类型需要定义取值及描述。如何使用 dataDefinition>>
name StringI18n 支持国际化的测点名称。
desc String 测点描述。
i18nDesc StringI18n 支持国际化的描述。
tags Map (Key 为 String,Value 为 String) 用户自定义标签。
isStdElement Boolean

是否是标准元素。 true 为是, false 为否。

注:EnOS Edge 不支持该参数。

stdElementId String

当元素是标准元素时,标准元素的 URN,其命名格式为 urn:enos:modelelement:std: <id> : <version>id 为元素标识符,<version> 表示元素的版本。如果该元素不是标准元素,则值为 null

注:EnOS Edge 不支持该参数。

unit Unit 结构体 单位。参见 Unit 结构体
isRequired Boolean

仅支持模型服务的 inputData,如果为 true(默认),要求调用命令时, 必须提供这个参数,除非 defaultValue 设置了非 null 值。

注:EnOS Edge 不支持该参数。

defaultValue 根据点的数据类型决定

点的默认值。如果没有设置默认值,则为 null。仅支持模型服务的 inputData

注:EnOS Edge 不支持该参数。

Unit 结构体

名称 数据类型 描述
unitId String 单位的标识符。
multiplier String 单位的乘数。参见 Multiplier

Multiplier

单位的乘数有如下取值:

YOTTA ,//Y     10^24
ZETTA ,//Z     10^21
EXA   ,//E     10^18
PETA  ,//P     10^15
TERA  ,//T     10^12
GIGA  ,//G     10^9
MEGA  ,//M     10^6
KILO  ,//k     10^3
HECTO ,//h     10^2
DECA  ,//da    10^1
ONE   ,//      10^0
DECI  ,//d     10^-1
CENTI ,//c     10^-2
MILLI ,//m     10^-3
MICRO ,//μ     10^-6
NANO  ,//n     10^-9
PICO  ,//p     10^-12
FEMTO ,//f     10^-15
ATTO  ,//a     10^-18
ZEPTO ,//z     10^-21
YOCTO ,//y     10^-24

示例

请求示例

url: https://{apigw-address}/model-service/v2.1/thing-models?action=get&orgId=yourOrgId&modelId=yourModelId
method: GET

返回示例

{
   "code":0,
   "msg":"OK",
   "requestId":"41e3da4c-9e40-47e5-b202-58f946b294c5",
   "data":{
      "modelId":"jw-1112",
      "modelIdPath":"/jw-1112",
      "orgId":"yourOrgId",
      "name":{
         "defaultValue":"jw-1112",
         "i18nValue":{
            "en_US":"",
            "zh_CN":""
         }
      },
      "desc":"jw-1112",
      "category":"system",
      "tags":{
         "group":"1"
      },
      "attributes":{
         "capacity":{
            "identifier":"capacity",
            "name":{
               "defaultValue":"capacity",
               "i18nValue":{
                  "en_US":"capacity",
                  "zh_CN":"容量"
               }
            },
            "desc":"Capacity",
            "i18nDesc":{
               "defaultValue":"Capacity",
               "i18nValue":{
                  "en_US":"Capacity",
                  "zh_CN":"容量"
               }
            },
            "tags":{
               "cap":"1"
            },
            "stdElementId":"urn:user:modelelement:std:atom-property-int:1.0",
            "isStdElement":true,
            "dataType":"INT",
            "unit":{
               "unitId":"G",
               "multiplier":"ONE"
            },
            "dataDefinition":null,
            "isRequired":true,
            "defaultValue":111
         }
      },
      "measurepoints":{
         "ActiveSC":{
            "identifier":"ActiveSC",
            "name":{
               "defaultValue":"活动状态字",
               "i18nValue":{
                  "en_US":"ActiveSC_Name"
               }
            },
            "desc":"ActiveSC desc",
            "i18nDesc":{
               "defaultValue":"ActiveSC desc",
               "i18nValue":{
                  "en_US":"ActiveSC desc",
                  "zh_CN":"活动状态描述"
               }
            },
            "tags":{

            },
            "stdElementId":null,
            "isStdElement":false,
            "dataType":"INT",
            "unit":null,
            "dataDefinition":null,
            "hasQuality":false,
            "signalType":"DI"
         },
         "windspeed_90":{
            "identifier":"windspeed_90",
            "name":{
               "defaultValue":"windspeed_90",
               "i18nValue":{
                  "en_US":"windspeed_90"
               }
            },
            "desc":"90m wind speed",
            "i18nDesc":{
               "defaultValue":"90m wind speed",
               "i18nValue":{
                  "en_US":"90m wind speed",
                  "zh_CN":"90m 风速"
               }
            },
            "tags":{

            },
            "stdElementId":null,
            "isStdElement":false,
            "dataType":"DOUBLE",
            "unit":{
               "unitId":"m/s",
               "multiplier":"ONE"
            },
            "dataDefinition":null,
            "hasQuality":false,
            "signalType":"Generic"
         },
         "windspeed_80_identity":{
            "identifier":"windspeed_80_identity",
            "name":{
               "defaultValue":"windspeed_80",
               "i18nValue":{
                  "en_US":"windspeed_80"
               }
            },
            "desc":"80m wind speed",
            "i18nDesc":{
               "defaultValue":"80m wind speed",
               "i18nValue":{
                  "en_US":"80m wind speed",
                  "zh_CN":"80m 风速"
               }
            },
            "tags":{

            },
            "stdElementId":null,
            "isStdElement":false,
            "dataType":"DOUBLE",
            "unit":{
               "unitId":"m/s",
               "multiplier":"ONE"
            },
            "dataDefinition":null,
            "hasQuality":false,
            "signalType":"Generic"
         },
         "windspeed_110":{
            "identifier":"windspeed_110",
            "name":{
               "defaultValue":"windspeed_110",
               "i18nValue":{
                  "en_US":"windspeed_110"
               }
            },
            "desc":"110m wind speed",
            "i18nDesc":{
               "defaultValue":"110m wind speed",
               "i18nValue":{
                  "en_US":"110m wind speed",
                  "zh_CN":"110m 风速"
               }
            },
            "tags":{

            },
            "stdElementId":null,
            "isStdElement":false,
            "dataType":"DOUBLE",
            "unit":{
               "unitId":"m/s",
               "multiplier":"ONE"
            },
            "dataDefinition":null,
            "hasQuality":false,
            "signalType":"AI"
         },
         "system_start":{
            "identifier":"system_start",
            "name":{
               "defaultValue":"启动指令",
               "i18nValue":{
                  "en_US":"",
                  "zh_CN":""
               }
            },
            "desc":"Start system",
            "i18nDesc":{
               "defaultValue":"Start system",
               "i18nValue":{
                  "en_US":"Start system",
                  "zh_CN":"启动"
               }
            },
            "tags":{
               "control":"true"
            },
            "stdElementId":null,
            "isStdElement":false,
            "dataType":"ENUM",
            "unit":null,
            "dataDefinition":{
                 "enumDesc": {
                    "0": {
                          "defaultValue": "关闭",
                           "i18nValue": {}
                    },
                   "1": {
                          "defaultValue": "打开",
                          "i18nValue": {}
                    },
                   "2": {
                          "defaultValue": "不定态",
                          "i18nValue": {}
                    },
                   "3": {
                          "defaultValue": "会不定态",
                          "i18nValue": {}
                    }
                  },
                 "enumType": "INT"
            },
            "hasQuality":false,
            "signalType":"Generic"
         },
         "windspeed_140":{
            "identifier":"windspeed_140",
            "name":{
               "defaultValue":"windspeed_140",
               "i18nValue":{
                  "en_US":"windspeed_140"
               }
            },
            "desc":"140m wind speed",
            "i18nDesc":{
               "defaultValue":"140m wind speed",
               "i18nValue":{
                  "en_US":"140m wind speed",
                  "zh_CN":"140m 风速"
               }
            },
            "tags":{

            },
            "stdElementId":null,
            "isStdElement":false,
            "dataType":"DOUBLE",
            "unit":{
               "unitId":"m/s",
               "multiplier":"ONE"
            },
            "dataDefinition":null,
            "hasQuality":false,
            "signalType":"AI"
         },
         "cedianforsolar":{
            "identifier":"cedianforsolar",
            "name":{
               "defaultValue":"cediantedsst",
               "i18nValue":{
                  "en_US":"cediantedsst"
               }
            },
            "desc":"Solar measurement point",
            "i18nDesc":{
               "defaultValue":"Solar measurement point",
               "i18nValue":{
                  "en_US":"Solar measurement point",
                  "zh_CN":"Solar 测点"
               }
            },
            "tags":{

            },
            "stdElementId":null,
            "isStdElement":false,
            "dataType":"DOUBLE",
            "unit":null,
            "dataDefinition":null,
            "hasQuality":false,
            "signalType":"Generic"
         }
      },
      "services":{
         "speedup":{
            "identifier":"speedup",
            "name":{
               "defaultValue":"speedup",
               "i18nValue":{
                  "en_US":"speedup"
               }
            },
            "desc":"Speedup",
            "i18nDesc":{
               "defaultValue":"Speedup",
               "i18nValue":{
                  "en_US":"Speedup",
                  "zh_CN":"加速"
               }
            },
            "tags":null,
            "stdElementId":null,
            "isStdElement":false,
            "outputData":[
               {
                  "identifier":"delta",
                  "name":{
                     "defaultValue":"delta",
                     "i18nValue":{
                        "en_US":"delta"
                     }
                  },
                  "desc":"Delta",
                  "i18nDesc":{
                     "defaultValue":"Delta",
                     "i18nValue":{
                        "en_US":"Delta",
                        "zh_CN":"Delta 描述"
                     }
                  },
                  "tags":{

                  },
                  "stdElementId":null,
                  "isStdElement":false,
                  "dataType":"INT",
                  "unit":null,
                  "dataDefinition":null
               }
            ],
            "inputData":[
               {
                  "identifier":"delta",
                  "name":{
                     "defaultValue":"delta",
                     "i18nValue":{
                        "en_US":"delta"
                     }
                  },
                  "desc":"Delta",
                  "i18nDesc":{
                     "defaultValue":"Delta",
                     "i18nValue":{
                        "en_US":"Delta",
                        "zh_CN":"Delta 描述"
                     }
                  },
                  "tags":{

                  },
                  "stdElementId":null,
                  "isStdElement":false,
                  "dataType":"INT",
                  "unit":{
                     "unitId":"rpm",
                     "multiplier":"ONE"
                  },
                  "dataDefinition":null,
                  "isRequired":true,
                  "defaultValue":3
               }
            ],
            "callType":"ASYNC"
         }
      },
      "events":{
         "alert":{
            "identifier":"alert",
            "name":{
               "defaultValue":"alert",
               "i18nValue":{
                  "en_US":"alert"
               }
            },
            "desc":"Alert",
            "i18nDesc":{
               "defaultValue":"Alert",
               "i18nValue":{
                  "en_US":"Alert",
                  "zh_CN":"告警"
               }
            },
            "tags":null,
            "stdElementId":null,
            "isStdElement":false,
            "outputData":[
               {
                  "identifier":"event1",
                  "name":{
                     "defaultValue":"event1",
                     "i18nValue":{
                        "en_US":"event1"
                     }
                  },
                  "desc":"Event 1",
                  "i18nDesc":{
                     "defaultValue":"Event 1",
                     "i18nValue":{
                        "en_US":"Event 1",
                        "zh_CN":"事件"
                     }
                  },
                  "tags":{

                  },
                  "stdElementId":null,
                  "isStdElement":false,
                  "dataType":"INT",
                  "unit":null,
                  "dataDefinition":null
               }
            ],
            "eventType":"ERROR"
         }
      }
   }
}

SDK 示例


你可以在 Github 上获取模型服务的 SDK 示例: