Follow AID spec more
This commit is contained in:
@@ -2,16 +2,26 @@
|
||||
"idShort": "AssetInterfacesDescription",
|
||||
"id": "www.example.com/ids/sm/7142_2140_7032_7989",
|
||||
"kind": "Instance",
|
||||
"submodelElements": [
|
||||
{
|
||||
"idShort": "MQTT",
|
||||
"typeValueListElement": "SubmodelElement",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "DEL-00",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://admin-shell.io/idta/AssetInterfaceDescription/1/0/Submodel"
|
||||
}
|
||||
]
|
||||
},
|
||||
"submodelElements": [
|
||||
{
|
||||
"idShort": "Interface01",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"value": [
|
||||
@@ -19,7 +29,12 @@
|
||||
"idShort": "EndpointMetadata",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://admin-shell.io/idta/AssetInterfacesDescription/1/0/EndpointMetadata"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"value": [
|
||||
@@ -65,45 +80,6 @@
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "securityDefinitions",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"value": [
|
||||
{
|
||||
"idShort": "basic",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"value": [
|
||||
{
|
||||
"idShort": "in",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"valueType": "xs:string",
|
||||
"value": "header",
|
||||
"modelType": "Property"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "AssetsReservedClientName",
|
||||
"valueType": "xs:string",
|
||||
"value": "thisandthat",
|
||||
"modelType": "Property"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementCollection"
|
||||
@@ -112,7 +88,12 @@
|
||||
"idShort": "InterfaceMetadata",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://admin-shell.io/idta/AssetInterfacesDescription/1/0/InterfaceMetadata"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"value": [
|
||||
@@ -120,22 +101,52 @@
|
||||
"idShort": "Properties",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasPropertyAffordance"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "DEL-00",
|
||||
"idShort": "Property01",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://admin-shell.io/idta/AssetInterfacesDescription/1/0/InterfaceMetadata/Properties/Property"
|
||||
}
|
||||
]
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"idShort": "title",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#title"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "TestingParameter01",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "observable",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#isObservable"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:boolean",
|
||||
"value": "true",
|
||||
"modelType": "Property"
|
||||
@@ -148,6 +159,15 @@
|
||||
},
|
||||
{
|
||||
"idShort": "forms",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasForm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
@@ -155,18 +175,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "/testtopic/testparam1",
|
||||
"value": "/testasset/testparam1",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "readProperty",
|
||||
"modelType": "Property"
|
||||
@@ -181,16 +228,43 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "DEL-01",
|
||||
"idShort": "Property02",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://admin-shell.io/idta/AssetInterfacesDescription/1/0/InterfaceMetadata/Properties/Property"
|
||||
}
|
||||
]
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"idShort": "title",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#title"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "TestingParameter02",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "observable",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#isObservable"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:boolean",
|
||||
"value": "false",
|
||||
"modelType": "Property"
|
||||
@@ -203,6 +277,15 @@
|
||||
},
|
||||
{
|
||||
"idShort": "forms",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasForm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
@@ -210,18 +293,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "mqtt://127.0.0.1:1883/testtopic/testparam2",
|
||||
"value": "mqtt://127.0.0.1:1883/testasset/testparam2",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "readProperty",
|
||||
"modelType": "Property"
|
||||
@@ -234,18 +344,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "mqtt://127.0.0.1:1883/testtopic/testparam2/write",
|
||||
"value": "mqtt://127.0.0.1:1883/testasset/testparam2/write",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "writeProperty",
|
||||
"modelType": "Property"
|
||||
@@ -260,19 +397,22 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementList"
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "Actions",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#ActionAffordance"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "DEL-00",
|
||||
"idShort": "Action01",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "async",
|
||||
@@ -282,6 +422,15 @@
|
||||
},
|
||||
{
|
||||
"idShort": "forms",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasForm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
@@ -289,18 +438,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "/testtopic/testoperation1",
|
||||
"value": "/testasset/testoperation1",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "invokeAction",
|
||||
"modelType": "Property"
|
||||
@@ -315,7 +491,7 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "DEL-01",
|
||||
"idShort": "Action02",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "async",
|
||||
@@ -325,6 +501,15 @@
|
||||
},
|
||||
{
|
||||
"idShort": "forms",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasForm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
@@ -332,18 +517,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "/testtopic/testoperation2",
|
||||
"value": "/testasset/testoperation2",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "invokeAction",
|
||||
"modelType": "Property"
|
||||
@@ -358,7 +570,7 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "DEL-02",
|
||||
"idShort": "Action03",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "async",
|
||||
@@ -368,6 +580,15 @@
|
||||
},
|
||||
{
|
||||
"idShort": "forms",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasForm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
@@ -375,18 +596,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "/testtopic/testoperation3",
|
||||
"value": "/testasset/testoperation3",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "invokeAction",
|
||||
"modelType": "Property"
|
||||
@@ -401,27 +649,41 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementList"
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "Events",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#EventAffordance"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [],
|
||||
"modelType": "SubmodelElementList"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "title",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#title"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "Titel",
|
||||
"modelType": "Property"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementList"
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "Submodel"
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
"kind": "Instance",
|
||||
"submodelElements": [
|
||||
{
|
||||
"idShort": "MQTT",
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "DEL-00",
|
||||
"idShort": "Mapping01",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "EndpointMetaDataReference",
|
||||
@@ -19,13 +15,9 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
@@ -37,7 +29,7 @@
|
||||
},
|
||||
{
|
||||
"idShort": "MappingConfiguration",
|
||||
"typeValueListElement": "SubmodelElement",
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "DEL-00",
|
||||
@@ -51,13 +43,9 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
@@ -80,25 +68,21 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "InterfaceMetadata"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "Properties"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Property01"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -130,25 +114,21 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "InterfaceMetadata"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "Properties"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-01"
|
||||
"value": "Property02"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -180,25 +160,21 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "InterfaceMetadata"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "Actions"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Action01"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -230,25 +206,21 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "InterfaceMetadata"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "Actions"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-01"
|
||||
"value": "Action02"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -280,25 +252,21 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "InterfaceMetadata"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "Actions"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-02"
|
||||
"value": "Action03"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -334,8 +302,5 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementList"
|
||||
}
|
||||
],
|
||||
"modelType": "Submodel"
|
||||
}
|
||||
|
||||
@@ -37,8 +37,7 @@ export default class AIMCMapper {
|
||||
const aimc = AIMCParser.parse(this.env);
|
||||
if (aimc === null) return;
|
||||
|
||||
for (const endpointConf of Object.values(aimc)) {
|
||||
for (const entry of endpointConf) {
|
||||
for (const entry of aimc) {
|
||||
const ep = AIDParser.parseEndpointMetaData(entry.EndpointMetaDataReference);
|
||||
if (ep === null) continue;
|
||||
|
||||
@@ -102,7 +101,6 @@ export default class AIMCMapper {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -122,7 +122,7 @@ export default class MultiMessageBroker {
|
||||
const interfaceDescription = AIDParser.parse(registration.aas);
|
||||
if (!interfaceDescription) continue;
|
||||
|
||||
const endpoints = Object.values(interfaceDescription).flatMap(idEntries => idEntries.map(entry => entry.EndPointMetadata));
|
||||
const endpoints = interfaceDescription.map(entry => entry.EndPointMetadata);
|
||||
const uniqueProtocols: Record<string, EndpointMetadata[]> = {};
|
||||
|
||||
endpoints.forEach(endpoint => {
|
||||
|
||||
+17
-17
@@ -19,19 +19,13 @@ export default class AIDParser {
|
||||
const sm = Traverser.findSMByIdShort(env, "AssetInterfacesDescription");
|
||||
if (sm === null || sm.submodelElements === null) return null;
|
||||
|
||||
const parsed = {} as AssetInterfacesDescription;
|
||||
const parsed = [] as AssetInterfacesDescription;
|
||||
|
||||
sm.submodelElements.forEach(e => {
|
||||
if (!aasCore.types.isSubmodelElementList(e) || !e.idShort || !e.value) return;
|
||||
|
||||
const endpointProto = endpointAvailable(e.idShort);
|
||||
if (!endpointProto) return;
|
||||
|
||||
parsed[endpointProto] = e.value.map(element => {
|
||||
if (!aasCore.types.isSubmodelElementCollection(element)) return null;
|
||||
|
||||
return AIDParser.parseAIDEntry(element, endpointProto);
|
||||
}).filter(e => e !== null) as InterfaceDescription[];
|
||||
if (!aasCore.types.isSubmodelElementCollection(e) || !e.value) return;
|
||||
const parsedInterface = AIDParser.parseAIDEntry(e);
|
||||
if (parsedInterface === null) return;
|
||||
parsed.push(parsedInterface);
|
||||
});
|
||||
|
||||
return parsed;
|
||||
@@ -43,7 +37,7 @@ export default class AIDParser {
|
||||
* @param endpointProtocol Protocol used in the endpoint, so additional properties can be parsed
|
||||
* @returns Description for one interface or null if not parsable
|
||||
*/
|
||||
private static parseAIDEntry(entry: aasCore.types.SubmodelElementCollection, endpointProtocol?: AvailableEndpoint): InterfaceDescription | null {
|
||||
private static parseAIDEntry(entry: aasCore.types.SubmodelElementCollection): InterfaceDescription | null {
|
||||
const title = Traverser.findElement(entry, element => (element as any).idShort?.toLocaleLowerCase() === "title");
|
||||
const titleString = title !== null && aasCore.types.isProperty(title) && title.value ? title.value : "";
|
||||
|
||||
@@ -51,7 +45,9 @@ export default class AIDParser {
|
||||
const im = Traverser.findElement(entry, element => (element as any).idShort?.toLocaleLowerCase() === "interfacemetadata");
|
||||
if (ep === null || !aasCore.types.isSubmodelElementCollection(ep) || !ep.value || im === null || !aasCore.types.isSubmodelElementCollection(im) || !im.value) return null;
|
||||
|
||||
const parsedEp = AIDParser.parseEndpointMetaData(ep, endpointProtocol);
|
||||
const parsedEp = AIDParser.parseEndpointMetaData(ep);
|
||||
const endpointProtocol = endpointAvailable(parsedEp?.base ?? "");
|
||||
|
||||
const parsedIm = AIDParser.parseInterfaceMetaData(im, endpointProtocol);
|
||||
if (parsedEp === null || parsedIm === null) return null;
|
||||
|
||||
@@ -69,7 +65,7 @@ export default class AIDParser {
|
||||
* @param endpointProtocol Protocol used in the endpoint, so additional properties can be parsed
|
||||
* @returns Parsed EndpointMetaData or null if not parsable
|
||||
*/
|
||||
public static parseEndpointMetaData(endpoint: aasCore.types.SubmodelElementCollection, endpointProtocol?: AvailableEndpoint): EndpointMetadata | null {
|
||||
public static parseEndpointMetaData(endpoint: aasCore.types.SubmodelElementCollection): EndpointMetadata | null {
|
||||
if (!endpoint.value || endpoint.idShort?.toLocaleLowerCase() !== "endpointmetadata") return null;
|
||||
|
||||
const parsed = {} as EndpointMetadata;
|
||||
@@ -82,6 +78,7 @@ export default class AIDParser {
|
||||
|
||||
// TODO
|
||||
// Other values based on endpoint protocol
|
||||
// Protocol is set in base string
|
||||
|
||||
return parsed;
|
||||
}
|
||||
@@ -106,31 +103,34 @@ export default class AIDParser {
|
||||
} as InterfaceMetadata;
|
||||
|
||||
const prop = Traverser.findElement(interfaceMeta, element => (element as any).idShort?.toLocaleLowerCase() === "properties");
|
||||
if (prop === null || !aasCore.types.isSubmodelElementList(prop) || !prop.value) return null; // Mandatory
|
||||
if (prop !== null && aasCore.types.isSubmodelElementCollection(prop)) {
|
||||
for (const element of prop.overValueOrEmpty()) {
|
||||
if (!aasCore.types.isSubmodelElementCollection(element)) continue;
|
||||
const parsedProp = AIDParser.parseInterfaceMetadataProperty(element, endpointProtocol);
|
||||
if (parsedProp === null) continue;
|
||||
parsed.properties.push(parsedProp);
|
||||
}
|
||||
}
|
||||
|
||||
const actions = Traverser.findElement(interfaceMeta, element => (element as any).idShort?.toLocaleLowerCase() === "actions");
|
||||
if (actions === null || !aasCore.types.isSubmodelElementList(actions) || !actions.value) return null; // Mandatory
|
||||
if (actions !== null && aasCore.types.isSubmodelElementCollection(actions)) {
|
||||
for (const element of actions.overValueOrEmpty()) {
|
||||
if (!aasCore.types.isSubmodelElementCollection(element)) continue;
|
||||
const parsedAction = AIDParser.parseInterfaceMetadataAction(element, endpointProtocol);
|
||||
if (parsedAction === null) continue;
|
||||
parsed.actions.push(parsedAction);
|
||||
}
|
||||
}
|
||||
|
||||
const events = Traverser.findElement(interfaceMeta, element => (element as any).idShort?.toLocaleLowerCase() === "events");
|
||||
if (events === null || !aasCore.types.isSubmodelElementList(events) || !events.value) return null; // Mandatory
|
||||
if (events !== null && aasCore.types.isSubmodelElementCollection(events)) {
|
||||
for (const element of events.overValueOrEmpty()) {
|
||||
if (!aasCore.types.isSubmodelElementCollection(element)) continue;
|
||||
const parsedEvent = AIDParser.parseInterfaceMetadataEvent(element, endpointProtocol);
|
||||
if (parsedEvent === null) continue;
|
||||
parsed.events.push(parsedEvent);
|
||||
}
|
||||
}
|
||||
|
||||
return parsed as InterfaceMetadata;
|
||||
}
|
||||
|
||||
@@ -19,19 +19,13 @@ export default class AIMCParser {
|
||||
const sm = Traverser.findSMByIdShort(env, "AssetInterfacesMappingConfiguration");
|
||||
if (sm === null || sm.submodelElements === null) return null;
|
||||
|
||||
const parsed = {} as AssetInterfacesMappingConfiguration;
|
||||
const parsed = [] as AssetInterfacesMappingConfiguration;
|
||||
|
||||
sm.submodelElements.forEach(e => {
|
||||
if (!aasCore.types.isSubmodelElementList(e) || !e.idShort || !e.value) return;
|
||||
|
||||
const endpointProto = endpointAvailable(e.idShort);
|
||||
if (!endpointProto) return;
|
||||
|
||||
parsed[endpointProto] = e.value.map(element => {
|
||||
if (!aasCore.types.isSubmodelElementCollection(element)) return null;
|
||||
|
||||
return AIMCParser.parseAIMCEntry(element, env);
|
||||
}).filter(e => e !== null) as MappingConfEntry[];
|
||||
sm.submodelElements.forEach(mapping => {
|
||||
if (!aasCore.types.isSubmodelElementCollection(mapping) || !mapping.value) return;
|
||||
const parsedMapping = AIMCParser.parseAIMCEntry(mapping, env);
|
||||
if (parsedMapping === null) return;
|
||||
parsed.push(parsedMapping);
|
||||
});
|
||||
|
||||
return parsed;
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
import type { AvailableEndpoint } from "./common";
|
||||
|
||||
export type AssetInterfacesDescription = {
|
||||
[key in AvailableEndpoint]?: InterfaceDescription[];
|
||||
};
|
||||
export type AssetInterfacesDescription = InterfaceDescription[];
|
||||
|
||||
export type InterfaceDescription = {
|
||||
title: string;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import type { types } from "@aas-core-works/aas-core3.0-typescript";
|
||||
import type { AvailableEndpoint } from "./common";
|
||||
import type { ConnectionConfiguration } from "./requests";
|
||||
|
||||
export type AssetInterfacesMappingConfiguration = Record<AvailableEndpoint, MappingConfEntry[]>;
|
||||
export type AssetInterfacesMappingConfiguration = MappingConfEntry[];
|
||||
|
||||
export type MappingConfEntry = {
|
||||
EndpointMetaDataReference:types.SubmodelElementCollection;
|
||||
|
||||
@@ -3,9 +3,9 @@ import type { types } from "@aas-core-works/aas-core3.0-typescript";
|
||||
export const availableEndpoints = ["HTTP", "MQTT"] as const;
|
||||
export type AvailableEndpoint = typeof availableEndpoints[number];
|
||||
|
||||
export function endpointAvailable(endpoint: string): AvailableEndpoint | null {
|
||||
export function endpointAvailable(endpoint: string): AvailableEndpoint | undefined {
|
||||
const idx = availableEndpoints.map(e => e.toLocaleLowerCase()).findIndex(e => e === endpoint.toLocaleLowerCase());
|
||||
if (idx === -1) return null;
|
||||
if (idx === -1) return undefined;
|
||||
return availableEndpoints[idx];
|
||||
}
|
||||
|
||||
|
||||
+354
-127
@@ -44,16 +44,26 @@
|
||||
"idShort": "AssetInterfacesDescription",
|
||||
"id": "www.example.com/ids/sm/7142_2140_7032_7989",
|
||||
"kind": "Instance",
|
||||
"submodelElements": [
|
||||
{
|
||||
"idShort": "MQTT",
|
||||
"typeValueListElement": "SubmodelElement",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "DEL-00",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://admin-shell.io/idta/AssetInterfaceDescription/1/0/Submodel"
|
||||
}
|
||||
]
|
||||
},
|
||||
"submodelElements": [
|
||||
{
|
||||
"idShort": "Interface01",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"value": [
|
||||
@@ -61,7 +71,12 @@
|
||||
"idShort": "EndpointMetadata",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://admin-shell.io/idta/AssetInterfacesDescription/1/0/EndpointMetadata"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"value": [
|
||||
@@ -107,45 +122,6 @@
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "securityDefinitions",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"value": [
|
||||
{
|
||||
"idShort": "basic",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"value": [
|
||||
{
|
||||
"idShort": "in",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"valueType": "xs:string",
|
||||
"value": "header",
|
||||
"modelType": "Property"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "AssetsReservedClientName",
|
||||
"valueType": "xs:string",
|
||||
"value": "thisandthat",
|
||||
"modelType": "Property"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementCollection"
|
||||
@@ -154,7 +130,12 @@
|
||||
"idShort": "InterfaceMetadata",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://admin-shell.io/idta/AssetInterfacesDescription/1/0/InterfaceMetadata"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"value": [
|
||||
@@ -162,22 +143,52 @@
|
||||
"idShort": "Properties",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasPropertyAffordance"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "DEL-00",
|
||||
"idShort": "Property01",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://admin-shell.io/idta/AssetInterfacesDescription/1/0/InterfaceMetadata/Properties/Property"
|
||||
}
|
||||
]
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"idShort": "title",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#title"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "TestingParameter01",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "observable",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#isObservable"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:boolean",
|
||||
"value": "true",
|
||||
"modelType": "Property"
|
||||
@@ -190,6 +201,15 @@
|
||||
},
|
||||
{
|
||||
"idShort": "forms",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasForm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
@@ -197,18 +217,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "/testasset/testparam1/value",
|
||||
"value": "/testasset/testparam1",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "readProperty",
|
||||
"modelType": "Property"
|
||||
@@ -223,16 +270,43 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "DEL-01",
|
||||
"idShort": "Property02",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://admin-shell.io/idta/AssetInterfacesDescription/1/0/InterfaceMetadata/Properties/Property"
|
||||
}
|
||||
]
|
||||
},
|
||||
"value": [
|
||||
{
|
||||
"idShort": "title",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#title"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "TestingParameter02",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "observable",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#isObservable"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:boolean",
|
||||
"value": "false",
|
||||
"modelType": "Property"
|
||||
@@ -245,6 +319,15 @@
|
||||
},
|
||||
{
|
||||
"idShort": "forms",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasForm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
@@ -252,18 +335,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "mqtt://127.0.0.1:1883/testasset/testparam2/value",
|
||||
"value": "mqtt://127.0.0.1:1883/testasset/testparam2",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "readProperty",
|
||||
"modelType": "Property"
|
||||
@@ -276,18 +386,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "mqtt://127.0.0.1:1883/testasset/testparam2/set",
|
||||
"value": "mqtt://127.0.0.1:1883/testasset/testparam2/write",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "writeProperty",
|
||||
"modelType": "Property"
|
||||
@@ -302,19 +439,22 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementList"
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "Actions",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#ActionAffordance"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "DEL-00",
|
||||
"idShort": "Action01",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "async",
|
||||
@@ -324,6 +464,15 @@
|
||||
},
|
||||
{
|
||||
"idShort": "forms",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasForm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
@@ -331,18 +480,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "/testasset/testoperation1",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "invokeAction",
|
||||
"modelType": "Property"
|
||||
@@ -357,7 +533,7 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "DEL-01",
|
||||
"idShort": "Action02",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "async",
|
||||
@@ -367,6 +543,15 @@
|
||||
},
|
||||
{
|
||||
"idShort": "forms",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasForm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
@@ -374,18 +559,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "/testasset/testoperation2",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "invokeAction",
|
||||
"modelType": "Property"
|
||||
@@ -400,7 +612,7 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "DEL-02",
|
||||
"idShort": "Action03",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "async",
|
||||
@@ -410,6 +622,15 @@
|
||||
},
|
||||
{
|
||||
"idShort": "forms",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#hasForm"
|
||||
}
|
||||
]
|
||||
},
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
@@ -417,18 +638,45 @@
|
||||
"value": [
|
||||
{
|
||||
"idShort": "href",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#hasTarget"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "/testasset/testoperation3",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "contentType",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/hypermedia#forContentType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "application/json",
|
||||
"modelType": "Property"
|
||||
},
|
||||
{
|
||||
"idShort": "op",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#OperationType"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "invokeAction",
|
||||
"modelType": "Property"
|
||||
@@ -443,27 +691,41 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementList"
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "Events",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": []
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#EventAffordance"
|
||||
}
|
||||
]
|
||||
},
|
||||
"embeddedDataSpecifications": [],
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [],
|
||||
"modelType": "SubmodelElementList"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementCollection"
|
||||
},
|
||||
{
|
||||
"idShort": "title",
|
||||
"semanticId": {
|
||||
"type": "ExternalReference",
|
||||
"keys": [
|
||||
{
|
||||
"type": "GlobalReference",
|
||||
"value": "https://www.w3.org/2019/wot/td#title"
|
||||
}
|
||||
]
|
||||
},
|
||||
"valueType": "xs:string",
|
||||
"value": "Titel",
|
||||
"modelType": "Property"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementList"
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "Submodel"
|
||||
@@ -474,11 +736,7 @@
|
||||
"kind": "Instance",
|
||||
"submodelElements": [
|
||||
{
|
||||
"idShort": "MQTT",
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "DEL-00",
|
||||
"idShort": "Mapping01",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "EndpointMetaDataReference",
|
||||
@@ -489,13 +747,9 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
@@ -507,7 +761,7 @@
|
||||
},
|
||||
{
|
||||
"idShort": "MappingConfiguration",
|
||||
"typeValueListElement": "SubmodelElement",
|
||||
"typeValueListElement": "SubmodelElementCollection",
|
||||
"value": [
|
||||
{
|
||||
"idShort": "DEL-00",
|
||||
@@ -521,13 +775,9 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
@@ -550,25 +800,21 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "InterfaceMetadata"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "Properties"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Property01"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -600,25 +846,21 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "InterfaceMetadata"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "Properties"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-01"
|
||||
"value": "Property02"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -650,25 +892,21 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "InterfaceMetadata"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "Actions"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Action01"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -700,25 +938,21 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "InterfaceMetadata"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "Actions"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-01"
|
||||
"value": "Action02"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -750,25 +984,21 @@
|
||||
"type": "Submodel",
|
||||
"value": "www.example.com/ids/sm/7142_2140_7032_7989"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"value": "MQTT"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-00"
|
||||
"value": "Interface01"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "InterfaceMetadata"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementList",
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "Actions"
|
||||
},
|
||||
{
|
||||
"type": "SubmodelElementCollection",
|
||||
"value": "DEL-02"
|
||||
"value": "Action03"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -804,9 +1034,6 @@
|
||||
"modelType": "SubmodelElementCollection"
|
||||
}
|
||||
],
|
||||
"modelType": "SubmodelElementList"
|
||||
}
|
||||
],
|
||||
"modelType": "Submodel"
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user