Get Thing Model


Get the model via the modelId.

Request Format

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

Request Parameters (URI)

Name

Location (Path/Query)

Mandatory/Optional

Data Type

Description

orgId

Query

Mandatory

String

The organization ID which the model belongs to. How to get orgId>>

scope

Query

Optional

Integer

  • 0 = Only search from the organization specified by the orgId.

  • 1 (default) = Search from the organization specified by the orgId as well as the organizations with public models.

modelId

Query

Mandatory

String

The model ID. How to get modelID>>

Response Parameters

Name

Data Type

Description

data

ThingModel Struct

The thing model. For more information on ThingModel struct, see ThingModel Struct.

ThingModel Struct

Name

Data Type

Description

modelId

String

The model ID.

modelIdPath

String

The model ID path.

orgId

String

The OU ID that created this model. For example, if a model in OU B is created by sharing from OU A, when you query the information of that model in OU B, the returned ID will be from OU A.

name

StringI18n

The model name, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

desc

String

The model description.

category

String

The model category.

tags

Map

User-defined tags. (The Key and Value are of String type.)

attributes

Map

The key is the static attribute ID, of String type, and the value is of the ThingAttribute Struct. For more information, see ThingAttribute Struct.

measurepoints

Map

The key is the measurement point ID, of String type, and the value is of the ThingMeasurepoint Struct. For more information, see ThingMeasurepoint Struct.

services

Map

The key is the service ID, of String type, and the value is of the ThingService Struct. For more information, see ThingService Struct.

events

Map

The key is the event ID, of String type, and the value is of the ThingEvent Struct. For more information, see ThingEvent Struct.

ThingAttribute Struct

Name

Data Type

Description

identifier

String

The attribute ID.

dataType

String

The data type. E.g.: ARRAY, BOOL, DATE, ENUM, INT, FLOAT, DOUBLE, STRUCT, STRING, TIMESTAMP, FILE

dataDefinition

String

The data definition of the dataType in this structure, which is a JSON string. For example, when the dataType is “STRING”, it defines the string length; when the dataType is “ENUM”, it defines the value and description. How to use dataDefinition>>

isRequired

Boolean

If true, the value of this attribute must be set when the asset is instantiated; otherwise the asset will return a validation failure error when it is created.

defaultValue

As defined in the thing model

The default value of the attribute. If the attribute has no default value, defaultValue would be null . Note: EnOS Edge does not support this parameter.

name

StringI18n

The attribute name, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

desc

String

The attribute description.

i18nDesc

StringI18n

The attribute description, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

tags

Map

User-defined tags. (The Key and Value are of String type.)

isStdElement

Boolean

  • true: This is an industry standard element.

  • false: This is not an industry standard element.

Note: EnOS Edge does not support this parameter.

stdElementId

String

The URN of the element if isStdElement is true . The format is urn:enos:modelelement:std: <id> : <version> . id is the element ID. <version> is the version of the element.

If isStdElement is false , then stdElementId is null.

Note: EnOS Edge does not support this parameter.

unit

Unit Struct

For more information, see Unit Struct.

ThingMeasurepoint Struct

Name

Data Type

Description

identifier

String

The ID of the measurement point.

dataType

String

Data type. E.g.: ARRAY, DATE, ENUM, INT, FLOAT, DOUBLE, STRUCT, STRING, TIMESTAMP, FILE

dataDefinition

String

The data definition of the dataType in this structure, which is a JSON string. For example, when the dataType is “STRING”, it defines the string length; when the dataType is “ENUM”, it defines the value and description. How to use dataDefinition>>

name

StringI18n

The measurement point name, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

desc

String

The measurement point description.

i18nDesc

StringI18n

The measurement point description, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

tags

Map

User-defined tags. (The Key and Value are of String type.)

isStdElement

Boolean

  • true: This is an industry standard element.

  • false: This is not an industry standard element.

Note: EnOS Edge does not support this parameter.

stdElementId

String

The URN of the element if isStdElement is true . The format is urn:enos:modelelement:std: <id> : <version> . id is the element ID. <version> is the version of the element.

If isStdElement is false , then stdElementId is null.

Note: EnOS Edge does not support this parameter.

hasQuality

Boolean

  • true: Has the quality indicator.

  • false: Does not have the quality indicator.

signalType

String

The signal/point type. E.g.: Generic, AI, PI, DI

unit

Unit Struct

For more information, see Unit Struct.

ThingService Struct

Name

Data Type

Description

identifier

String

The service ID.

name

StringI18n

The service name, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

desc

String

The service description.

i18nDesc

StringI18n

The service description, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

tags

Map

User-defined tags. (The Key and Value are of String type.)

isStdElement

Boolean

  • true: This is an industry standard element.

  • false: This is not an industry standard element.

Note: EnOS Edge does not support this parameter.

stdElementId

String

The URN of the element if isStdElement is true . The format is urn:enos:modelelement:std: <id> : <version> . id is the element ID. <version> is the version of the element.

If isStdElement is false , then stdElementId is null.

Note: EnOS Edge does not support this parameter.

inputData

ThingDatapoint Struct

The service’s input parameters list. For more information, see ThingDatapoint Struct.

outputData

ThingDatapoint Struct

The service’s output parameters list. For more information, see ThingDatapoint Struct.

callType

String

The calling type. This parameter will be deprecated.

  • ASYNC: Asynchronous.

  • SYNC: Synchronous.

ThingEvent Struct

Name

Data Type

Description

identifier

String

The event ID.

name

StringI18n

The event name, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

desc

String

The event description.

i18nDesc

StringI18n

The event description, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

tags

Map

User-defined tags. (The Key and Value are of String type.)

isStdElement

Boolean

  • true: This is an industry standard element.

  • false: This is not an industry standard element.

Note: EnOS Edge does not support this parameter.

stdElementId

String

The URN of the element if isStdElement is true . The format is urn:enos:modelelement:std: <id> : <version> . id is the element ID. <version> is the version of the element.

If isStdElement is false , then stdElementId is null.

Note: EnOS Edge does not support this parameter.

outputData

ThingDatapoint Struct

The event’s output parameters list. For more information, see ThingDatapoint Struct.

eventType

String

Event type. E.g.: INFO, WARN, ERROR

ThingDatapoint Struct

Name

Data Type

Description

identifier

String

The data point ID.

dataType

String

Data type. E.g.: ARRAY, DATE, ENUM, INT, FLOAT, DOUBLE, STRUCT, STRING, TIMESTAMP, FILE

dataDefinition

String

The data definition of the dataType in this structure, which is a JSON string. For example, when the dataType is “STRING”, it defines the string length; when the dataType is “ENUM”, it defines the value and description. How to use dataDefinition>>

name

StringI18n

The data point name, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

desc

String

The data point description.

i18nDesc

StringI18n

The data point description, supports internationalization. For more details on the structure and locales supported, see Internationalized name struct.

tags

Map

User-defined tags. (The Key and Value are of String type.)

isStdElement

Boolean

  • true: This is an industry standard element.

  • false: This is not an industry standard element.

Note: EnOS Edge does not support this parameter.

stdElementId

String

The URN of the element if isStdElement is true . The format is urn:enos:modelelement:std: <id> : <version> . id is the element ID. <version> is the version of the element.

If isStdElement is false , then stdElementId is null.

Note: EnOS Edge does not support this parameter.

unit

Unit Struct

For more information, see Unit Struct.

Unit Struct

Name

Data Type

Description

unitId

String

The unit ID.

multiplier

String

The multiplier of the unit. For more information, see Multiplier.

Multiplier

The multiplier of the unit can have the following values:

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

Error Codes

See Public Response Codes (Connection Service, etc.)

Samples

Request Sample

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

Response Sample

{
   "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
               }
            ],
            "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"
         }
      }
   }
}

Java SDK Sample

public class GetThingModel {
    private static String accessKey = "AccessKey of your APP";
    private static String secretKey = "SecretKey of your APP";
    private static String orgId = "yourOrgId";
    private static String url = "https://{apigw-address}";
    public static void main(String[] args) {
        GetThingModelRequest request = new GetThingModelRequest();
        request.setOrgId(orgId);
        request.setModelId("planet");
        request.setScope(1);
        GetThingModelResponse response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
                .url(url)
                .getResponse(request, request.getResponseClass());
        System.out.println(response.getData());
    }
}