Skip to content

Sample Message for Timeseries Metadata

Timeseries Metadata Sample

The sample metadata message is relevant "c/{clientId}/o/opcua/v3/u/m/t" topic.

Mindsphere resources like Asset Types, Assets and Aspect Types are created only by this operation. Update and Delete operations are not possible.

Note

The code below is just a json representation of the UADP message format. You have to create an UADP message in binary format before sending it to the topic.

Metadata Sample

Sample
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
{
    "networkMessageHeader": {
        "versionFlags": -112,
        "extendedFlags1": {
            "value": 132
        },
        "extendedFlags2": {
            "value": 8
        },
        "publisherId": "vehicle-001-publisher",
        "uadpversion": 0,
        "groupHeaderEnabled": false,
        "payloadHeaderEnabled": false,
        "timestampEnabled": false,
        "picoSecondsEnabled": false,
        "promotedFieldsEnabled": false,
        "securityEnabled": false,
        "chunkMessage": false,
        "networkMessageType": "DISCOVERY_RESPONSE",
        "extendedFlags2Enabled": true,
        "publisherIdEnabled": true,
        "publisherIdDataType": "String",
        "dataSetClassIdEnabled": false,
        "extendedFlags1Enabled": true
    },
    "payload": {
        "messages": [{
            "discoveryResponseHeader": {
                "responseType": "DATA_SET_METADATA_MESSAGE",
                "sequenceNumber": 0
            },
            "discoveryResponseMessage": {
                "dataSetWriterId": 1000,
                "metaData": {
                    "structureDataTypes": [{
                        "structureDefinition": {
                            "dataTypeId": {
                                "namespaceIndex": 1,
                                "value": 1,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "name": {
                                "namespaceIndex": 0,
                                "name": "ElectricEngine"
                            },
                            "defaultEncodingId": {
                                "namespaceIndex": 0,
                                "value": 12,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "baseDataType": {
                                "namespaceIndex": 0,
                                "value": 12,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "structureType": "< Ignored Value >",
                            "fields": [{
                                "name": "Voltage",
                                "description": {
                                    "text": "Shows voltage of the device"
                                },
                                "dataType": {
                                    "namespaceIndex": 0,
                                    "value": 11,
                                    "nullNodeId": false,
                                    "idType": "Numeric"
                                },
                                "valueRank": -1,
                                "optional": false
                            }, {
                                "name": "Current",
                                "description": {
                                    "text": "Shows current over the device"
                                },
                                "dataType": {
                                    "namespaceIndex": 0,
                                    "value": 11,
                                    "nullNodeId": false,
                                    "idType": "Numeric"
                                },
                                "valueRank": -1,
                                "optional": false
                            }]
                        }
                    }, {
                        "structureDefinition": {
                            "dataTypeId": {
                                "namespaceIndex": 1,
                                "value": 2,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "name": {
                                "namespaceIndex": 0,
                                "name": "Battery"
                            },
                            "defaultEncodingId": {
                                "namespaceIndex": 0,
                                "value": 12,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "baseDataType": {
                                "namespaceIndex": 0,
                                "value": 12,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "structureType": "< Ignored Value >",
                            "fields": [{
                                "name": "Charging",
                                "description": {
                                    "text": "Indicates whether it's currently charging"
                                },
                                "dataType": {
                                    "namespaceIndex": 0,
                                    "value": 1,
                                    "nullNodeId": false,
                                    "idType": "Numeric"
                                },
                                "valueRank": -1,
                                "optional": false
                            }, {
                                "name": "ChargeLevel",
                                "description": {
                                    "text": "Shows battery charge level"
                                },
                                "dataType": {
                                    "namespaceIndex": 0,
                                    "value": 6,
                                    "nullNodeId": false,
                                    "idType": "Numeric"
                                },
                                "valueRank": -1,
                                "optional": false
                            }]
                        }
                    }],
                    "name": "vehicle-001-publisher",
                    "description": {
                        "text": "OPCUA Pub/Sub Publisher for vehicle-001"
                    },
                    "fields": [{
                            "name": "vehicle-001/engine",
                            "description": {
                                "text": "Engine that provides the needed torque to move the vehicle",
                                "localeId": "< Ignored Value >"
                            },
                            "fieldFlags": {
                                "promotedField": false
                            },
                            "builtInDataType": "ExtensionObject",
                            "dataType": {
                                "namespaceIndex": 1,
                                "value": 1,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "dataSetFieldId": "< Ignored Value >",
                            "properties": [{
                                "encodingMask": 12,
                                "key": {
                                    "namespaceIndex": 0,
                                    "name": "Voltage_unit"
                                },
                                "value": "V"
                            }, {
                                "encodingMask": 12,
                                "key": {
                                    "namespaceIndex": 0,
                                    "name": "Current_unit"
                                },
                                "value": "A"
                            }]
                        },
                        {
                            "name": "vehicle-001/batteries/primary",
                            "description": {
                                "text": "Primary battery feeding the engine",
                                "localeId": "< Ignored Value >"
                            },
                            "fieldFlags": {
                                "promotedField": false
                            },
                            "builtInDataType": "ExtensionObject",
                            "dataType": {
                                "namespaceIndex": 1,
                                "value": 2,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "dataSetFieldId": "< Ignored Value >",
                            "properties": [{
                                "encodingMask": 12,
                                "key": {
                                    "namespaceIndex": 0,
                                    "name": "ChargeLevel_unit"
                                },
                                "value": "%"
                            }]
                        },
                        {
                            "name": "vehicle-001/batteries/secondary",
                            "description": {
                                "text": "Secondary battery feeding the engine",
                                "localeId": "< Ignored Value >"
                            },
                            "fieldFlags": {
                                "promotedField": false
                            },
                            "builtInDataType": "ExtensionObject",
                            "dataType": {
                                "namespaceIndex": 1,
                                "value": 2,
                                "nullNodeId": false,
                                "idType": "Numeric"
                            },
                            "dataSetFieldId": "< Ignored Value >",
                            "properties": [{
                                "encodingMask": 12,
                                "key": {
                                    "namespaceIndex": 0,
                                    "name": "ChargeLevel_unit"
                                },
                                "value": "%"
                            }]
                        }
                    ],
                    "configurationVersion": {
                        "majorVersion": {
                            "value": 123
                        },
                        "minorVersion": {
                            "value": 123
                        }
                    }
                },
                "statusCode": {
                    "value": 0,
                    "description": "",
                    "severity": 0,
                    "bad": false,
                    "good": true,
                    "notBad": true,
                    "notGood": false,
                    "notUncertain": true,
                    "uncertain": false,
                    "semanticsChanged": false,
                    "structureChanged": false,
                    "subcode": 0,
                    "infotype": 0,
                    "limitBits": 0,
                    "historianBits": 0,
                    "valueAsIntBits": 0,
                    "name": "GOOD",
                    "overflow": false
                }
            }
        }]
    }
}

Device Asset

If the metadata message above arrives in the OPC UA PubSub Service, some assets, aspect types and asset types are created in Asset Management as below:

Sample
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    {
        "assetId": "967bbda37d5d4cd09a3c80cafcdea100",
        "tenantId": "connint5",
        "name": "vehicle-001-publisher",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "34308ff4497a4295856c3f87fac5556c",
        "typeId": "core.opcuadatamodel",
        "hierarchyPath": [{
            "assetId": "34308ff4497a4295856c3f87fac5556c",
            "name": "connint5"
        }],
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/967bbda37d5d4cd09a3c80cafcdea100"
            },
            "aspects": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/967bbda37d5d4cd09a3c80cafcdea100/aspects"
            },
            "variables": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/967bbda37d5d4cd09a3c80cafcdea100/variables"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/967bbda37d5d4cd09a3c80cafcdea100/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/34308ff4497a4295856c3f87fac5556c"
            },
            "children": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets?filter=%7B%22parentId%22:%22967bbda37d5d4cd09a3c80cafcdea100%22%7D"
            }
        }
    }

Hierarchy Assets

All the Hierarchy Assets are created as below:

Sample
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
    {
        "assetId": "2b9c1a342527440a90c7120afad20425",
        "tenantId": "connint5",
        "name": "vehicle-001",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "967bbda37d5d4cd09a3c80cafcdea100",
        "typeId": "core.opcuahierarcydatatype",
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad20425"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad20425/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/967bbda37d5d4cd09a3c80cafcdea100"
            }
        }
    },
    {
        "assetId": "1a9c1a342527440a90c7120afad20431",
        "tenantId": "connint5",
        "name": "batteries",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "967bbda37d5d4cd09a3c80cafcdea100",
        "typeId": "core.opcuahierarcydatatype",
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1a9c1a342527440a90c7120afad20431"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1a9c1a342527440a90c7120afad20431/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad20425"
            }
        }
    }

Data Point Assets

All the Data Point Assets are created as below:

Sample
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
    {
        "assetId": "2b9c1a342527440a90c7120afad1234",
        "tenantId": "connint5",
        "name": "engine",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "2b9c1a342527440a90c7120afad20425",
        "typeId": "connint5.ElectricEngine",
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad1234"
            },
            "aspects": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad1234/aspects"
            },
            "variables": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad1234/variables"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad1234/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/2b9c1a342527440a90c7120afad20425"
            }
        }
    },
    {
        "assetId": "4e4ae801a075434c8628c59b5155db1a",
        "tenantId": "connint5",
        "name": "primary",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "1a9c1a342527440a90c7120afad20431",
        "typeId": "connint5.Battery",
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/4e4ae801a075434c8628c59b5155db1a"
            },
            "aspects": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/4e4ae801a075434c8628c59b5155db1a/aspects"
            },
            "variables": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/4e4ae801a075434c8628c59b5155db1a/variables"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/4e4ae801a075434c8628c59b5155db1a/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1a9c1a342527440a90c7120afad20431"
            }
        }
    },
    {
        "assetId": "1e1ae801a075434c8628c59b5155db23",
        "tenantId": "connint5",
        "name": "secondary",
        "timezone": "Europe/Berlin",
        "twinType": "performance",
        "parentId": "1a9c1a342527440a90c7120afad20431",
        "typeId": "connint5.Battery",
        "_links": {
            "self": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1e1ae801a075434c8628c59b5155db23"
            },
            "aspects": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1e1ae801a075434c8628c59b5155db23/aspects"
            },
            "variables": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1e1ae801a075434c8628c59b5155db23/variables"
            },
            "location": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1e1ae801a075434c8628c59b5155db23/location"
            },
            "parent": {
                "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assets/1a9c1a342527440a90c7120afad20431"
            }
        }
    }

Asset Types

All the Asset Types are created as below:

Sample
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
    {
      "parentTypeId": "core.opcuadatatype",
      "instantiable": true,
      "tenantId": "connint5",
      "name": "ElectricEngine",
      "description": "ElectricEngine Asset Type",
      "scope": "private",
      "aspects": [{
          "name": "ElectricEngineFields",
          "aspectType": {
              "id": "connint5.ElectricEngineFields",
              "tenantId": "connint5",
              "name": "ElectricEngineFields",
              "category": "dynamic",
              "scope": "private",
              "description": "Information about ElectricEngine Data Instance Fields",
              "variables": [{
                      "name": "Voltage",
                      "unit": "V",
                      "searchable": true,
                      "qualityCode": true,
                      "defaultValue": null,
                      "dataType": "DOUBLE"
                  },
                  {
                      "name": "Current",
                      "unit": "A",
                      "searchable": true,
                      "qualityCode": true,
                      "defaultValue": null,
                      "dataType": "DOUBLE"
                  }
              ],

              "_links": {
                  "self": {
                      "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/aspecttypes/connint5.ElectricEngineFields"
                  }
              }
          }
      }],
      "_links": {
          "self": {
              "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assettypes/connint5.ElectricEngine"
          },
          "parent": {
              "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assettypes/core.opcuadatatype"
          }
      },
      "id": "connint5.ElectricEngine"
    },
    {
      "parentTypeId": "core.opcuadatatype",
      "instantiable": true,
      "tenantId": "connint5",
      "name": "Battery",
      "description": "Battery Asset Type",
      "scope": "private",
      "aspects": [{
          "name": "BatteryFields",
          "aspectType": {
              "id": "connint5.BatteryFields",
              "tenantId": "connint5",
              "name": "BatteryFields",
              "category": "dynamic",
              "scope": "private",
              "description": "Information about Battery Data Instance Fields",
              "variables": [{
                      "name": "Charging",
                      "unit": "",
                      "searchable": true,
                      "qualityCode": true,
                      "defaultValue": null,
                      "dataType": "BOOLEAN"
                  },
                  {
                      "name": "ChargeLevel",
                      "unit": "%",
                      "searchable": true,
                      "qualityCode": true,
                      "defaultValue": null,
                      "dataType": "INT"
                  }
              ],
              "_links": {
                  "self": {
                      "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/aspecttypes/connint5.BatteryFields"
                  }
              }
          }
      }],
      "_links": {
          "self": {
              "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assettypes/connint5.Battery"
          },
          "parent": {
              "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/assettypes/core.opcuadatatype"
          }
      },
      "id": "connint5.Battery"
    }

Aspect Types

All the aspect types which are created as below:

Sample
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
    {
      "id": "connint5.ElectricEngineFields",
      "tenantId": "connint5",
      "name": "ElectricEngineFields",
      "category": "dynamic",
      "scope": "private",
      "description": "Information about ElectricEngine Data Instance Fields",
      "variables": [{
              "name": "Voltage",
              "unit": "V",
              "searchable": true,
              "qualityCode": true,
              "dataType": "DOUBLE",
              "defaultValue": null
          },
          {
              "name": "Current",
              "unit": "A",
              "searchable": true,
              "qualityCode": true,
              "dataType": "DOUBLE",
              "defaultValue": null
          }
      ],
      "_links": {
          "self": {
              "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/aspecttypes/connint5.ElectricEngineFields"
          }
      }
    },
    {
      "id": "connint5.BatteryFields",
      "tenantId": "connint5",
      "name": "BatteryFields",
      "category": "dynamic",
      "scope": "private",
      "description": "Information about Battery Data Instance Fields",
      "variables": [{
              "name": "Charging",
              "unit": "",
              "searchable": true,
              "qualityCode": true,
              "dataType": "BOOLEAN",
              "defaultValue": null
          },
          {
              "name": "ChargeLevel",
              "unit": "%",
              "searchable": true,
              "qualityCode": true,
              "dataType": "INT",
              "defaultValue": null
          }
      ],
      "_links": {
          "self": {
              "href": "https://connint5-assetmanager.eu1-int.mindsphere.io/api/assetmanagement/v3/aspecttypes/connint5.BatteryFields"
          }
      }
    }

Any questions left?

Ask the community


Except where otherwise noted, content on this site is licensed under the MindSphere Development License Agreement.