From 1d9cbe045f6389307b50bac9cf899b68bb021170 Mon Sep 17 00:00:00 2001 From: danielpeintner Date: Tue, 5 Sep 2023 17:47:18 +0200 Subject: [PATCH] refactor: remove out-dated samples and tests --- .../test/AssetInterfaceDescriptionTest.ts | 208 +-- packages/td-tools/test/util/AID_v03.aasx | Bin 4626 -> 0 bytes packages/td-tools/test/util/AID_v03.json | 1629 ----------------- .../td-tools/test/util/AID_v03_counter.aasx | Bin 2758 -> 0 bytes .../td-tools/test/util/AID_v03_counter.json | 276 --- 5 files changed, 1 insertion(+), 2112 deletions(-) delete mode 100644 packages/td-tools/test/util/AID_v03.aasx delete mode 100644 packages/td-tools/test/util/AID_v03.json delete mode 100644 packages/td-tools/test/util/AID_v03_counter.aasx delete mode 100644 packages/td-tools/test/util/AID_v03_counter.json diff --git a/packages/td-tools/test/AssetInterfaceDescriptionTest.ts b/packages/td-tools/test/AssetInterfaceDescriptionTest.ts index 4a99f8cfc..b7a739437 100644 --- a/packages/td-tools/test/AssetInterfaceDescriptionTest.ts +++ b/packages/td-tools/test/AssetInterfaceDescriptionTest.ts @@ -24,213 +24,7 @@ import { ThingDescription } from "wot-typescript-definitions"; class AssetInterfaceDescriptionUtilTest { private assetInterfaceDescriptionUtil = new AssetInterfaceDescriptionUtil(); - @test.skip async "should correctly transform sample JSON AID_submodel HTTP v03 into a TD"() { - const modelFullString = await (await fs.readFile("test/util/AID_v03.json")).toString(); - const modelFull = JSON.parse(modelFullString); - const modelSub = modelFull.submodels[1]; - - // submodel only + HTTP only - const td = this.assetInterfaceDescriptionUtil.transformSM2TD( - JSON.stringify(modelSub), - `{"title": "myTitle", "id": "urn:uuid:3deca264-4f90-4321-a5ea-f197e6a1c7cf"}`, - "HTTP" - ); - const tdObj = JSON.parse(td); - // console.log(JSON.stringify(tdObj, null, 2)); - - // security - expect(tdObj).to.have.property("security").to.be.an("array").to.have.lengthOf(2); - expect(tdObj.securityDefinitions[tdObj.security[0]]).to.have.property("scheme").that.equals("basic"); - expect(tdObj.securityDefinitions[tdObj.security[1]]).to.have.property("scheme").that.equals("oauth2"); - // form entries limited to 1 - expect(tdObj).to.have.property("properties").to.have.property("voltage"); - expect(tdObj) - .to.have.property("properties") - .to.have.property("voltage") - .to.have.property("forms") - .to.be.an("array") - .to.have.lengthOf(1); - } - - @test.skip async "should correctly transform sample JSON AID_v03 into a TD"() { - const modelAID = (await fs.readFile("test/util/AID_v03.json")).toString(); - const td = this.assetInterfaceDescriptionUtil.transformAAS2TD( - modelAID, - `{"title": "myTitle", "id": "urn:uuid:3deca264-4f90-4321-a5ea-f197e6a1c7cf"}` - ); - - const tdObj = JSON.parse(td); - // console.log(JSON.stringify(tdObj, null, 2)); - // TODO proper TD validation based on playground and/or JSON schema? - expect(tdObj).to.have.property("@context").that.equals("https://www.w3.org/2022/wot/td/v1.1"); - expect(tdObj).to.have.property("title").that.equals("myTitle"); - expect(tdObj).to.have.property("id").that.equals("urn:uuid:3deca264-4f90-4321-a5ea-f197e6a1c7cf"); - - expect(tdObj).to.have.property("security").to.be.an("array").to.have.lengthOf(5); - // Security Modbus - expect(tdObj.securityDefinitions[tdObj.security[0]]).to.have.property("scheme").that.equals("nosec"); - // Security HTTP - expect(tdObj.securityDefinitions[tdObj.security[1]]).to.have.property("scheme").that.equals("basic"); - expect(tdObj.securityDefinitions[tdObj.security[1]]).to.have.property("in").that.equals("header"); - expect(tdObj.securityDefinitions[tdObj.security[2]]).to.have.property("scheme").that.equals("oauth2"); - expect(tdObj.securityDefinitions[tdObj.security[2]]).to.have.property("flow").that.equals("client"); - expect(tdObj.securityDefinitions[tdObj.security[2]]) - .to.have.property("token") - .that.equals("https://example.com/token"); - expect(tdObj.securityDefinitions[tdObj.security[2]]).to.have.property("scopes").that.equals("limited"); - // Security OPC - expect(tdObj.securityDefinitions[tdObj.security[3]]).to.have.property("scheme").that.equals("uasec"); - expect(tdObj.securityDefinitions[tdObj.security[3]]) - .to.have.property("mode") - .that.equals('["none", "Sign", "Sign & Encrypt"]'); - expect(tdObj.securityDefinitions[tdObj.security[3]]) - .to.have.property("policy") - .that.equals('["none", "Basic128RSA15", "Basic256", "Basic256SHA256"]'); - // Security MQTT - expect(tdObj.securityDefinitions[tdObj.security[4]]).to.have.property("scheme").that.equals("basic"); - expect(tdObj.securityDefinitions[tdObj.security[4]]).to.have.property("in").that.equals("header"); - - expect(tdObj).to.have.property("properties").to.have.property("voltage"); - - // form entries - expect(tdObj) - .to.have.property("properties") - .to.have.property("voltage") - .to.have.property("forms") - .to.be.an("array") - .to.have.lengthOf(4); - // Modbus - expect(tdObj.properties.voltage.forms[0]).to.have.property("href").to.eql("modbus+tcp://192.168.1.187:502"); - expect(tdObj.properties.voltage.forms[0]) - .to.have.property("contentType") - .to.eql("application/octet-stream;byteSeq=BIG_ENDIAN"); - expect(tdObj.properties.voltage.forms[0]).to.have.property("modbus:function").to.eql("readHoldingRegisters"); - expect(tdObj.properties.voltage.forms[0]).to.have.property("modbus:address").to.eql("40001"); - expect(tdObj.properties.voltage.forms[0]).to.have.property("modbus:quantity").to.eql("2"); // not a proper number in AID -> valueType *not* set - expect(tdObj.properties.voltage.forms[0]).to.have.property("security").to.deep.equal(["0_sc"]); - // HTTP - expect(tdObj.properties.voltage.forms[1]) - .to.have.property("href") - .to.eql("https://192.168.1.187" + "/properties/voltage"); - expect(tdObj.properties.voltage.forms[1]).to.have.property("htv:methodName").to.eql("GET"); - expect(tdObj.properties.voltage.forms[1]).to.have.property("contentType").to.eql("text/xml"); // Note: "application/json" overridden locally - expect(tdObj.properties.voltage.forms[1]).to.have.property("subprotocol").to.eql("longpoll"); - expect(tdObj.properties.voltage.forms[1]).to.have.property("security").to.deep.equal(["1_sc", "2_sc"]); - // OPC - expect(tdObj.properties.voltage.forms[2]) - .to.have.property("href") - .to.eql("opc.tcp://192.168.1.187:4840/UAserver"); - expect(tdObj.properties.voltage.forms[2]).to.have.property("contentType").to.eql("application/x.opcua.binary"); - expect(tdObj.properties.voltage.forms[2]).to.have.property("ua:nodeId").to.eql('"ns=3;i=29"'); - expect(tdObj.properties.voltage.forms[2]) - .to.have.property("ua:expandedNodeId") - .to.eql(' "nsu=http://example.com/OPCUAServer/energy;i=29"'); - expect(tdObj.properties.voltage.forms[2]).to.have.property("ua:method").to.eql("READ"); - expect(tdObj.properties.voltage.forms[2]).to.have.property("security").to.deep.equal(["3_sc"]); - // MQTT - expect(tdObj.properties.voltage.forms[3]).to.have.property("href").to.eql("mqtt://test.mosquitto:1884"); - expect(tdObj.properties.voltage.forms[3]).to.have.property("contentType").to.eql("application/json"); - expect(tdObj.properties.voltage.forms[3]) - .to.have.property("mqv:topic") - .to.eql("/devices/thing1/properties/voltage"); - expect(tdObj.properties.voltage.forms[3]).to.have.property("mqv:controlPacket").to.eql("mqv:subscribe"); - expect(tdObj.properties.voltage.forms[3]).to.have.property("mqv:retain").to.eql(true); // value is string but valueType states boolean - expect(tdObj.properties.voltage.forms[3]).to.have.property("security").to.deep.equal(["4_sc"]); - - // filter HTTP submodel only - const td2 = this.assetInterfaceDescriptionUtil.transformAAS2TD(modelAID, `{"title": "myTitle"}`, "HTTP"); - const td2Obj = JSON.parse(td2); - // security - expect(td2Obj).to.have.property("security").to.be.an("array").to.have.lengthOf(2); - expect(td2Obj.securityDefinitions[td2Obj.security[0]]).to.have.property("scheme").that.equals("basic"); - expect(td2Obj.securityDefinitions[td2Obj.security[1]]).to.have.property("scheme").that.equals("oauth2"); - // form entries limited to 1 - expect(td2Obj).to.have.property("properties").to.have.property("voltage"); - expect(td2Obj) - .to.have.property("properties") - .to.have.property("voltage") - .to.have.property("forms") - .to.be.an("array") - .to.have.lengthOf(1); - - // filter Modbus and HTTP and submodel only - const td3 = this.assetInterfaceDescriptionUtil.transformAAS2TD(modelAID, `{"title": "myTitle"}`, "Modbus|HTTP"); - const td3Obj = JSON.parse(td3); - // security - expect(td3Obj).to.have.property("security").to.be.an("array").to.have.lengthOf(3); - expect(td3Obj.securityDefinitions[td3Obj.security[0]]).to.have.property("scheme").that.equals("nosec"); - expect(td3Obj.securityDefinitions[td3Obj.security[1]]).to.have.property("scheme").that.equals("basic"); - expect(td3Obj.securityDefinitions[td3Obj.security[2]]).to.have.property("scheme").that.equals("oauth2"); - // form entries limited to 2 - expect(td3Obj).to.have.property("properties").to.have.property("voltage"); - expect(td3Obj) - .to.have.property("properties") - .to.have.property("voltage") - .to.have.property("forms") - .to.be.an("array") - .to.have.lengthOf(2); - } - - @test.skip async "should correctly transform sample JSON AID_v03 for counter into a TD"() { - const modelAID = (await fs.readFile("test/util/AID_v03_counter.json")).toString(); - const td = this.assetInterfaceDescriptionUtil.transformAAS2TD(modelAID, `{"title": "counter"}`); - - const tdObj = JSON.parse(td); - // console.log(JSON.stringify(tdObj, null, 2)); - // TODO proper TD validation based on playground and/or JSON schema? - expect(tdObj).to.have.property("@context").that.equals("https://www.w3.org/2022/wot/td/v1.1"); - expect(tdObj).to.have.property("title").that.equals("counter"); - - expect(tdObj).to.have.property("security").to.be.an("array").to.have.lengthOf(1); - expect(tdObj.securityDefinitions[tdObj.security[0]]).to.have.property("scheme").that.equals("nosec"); - - expect(tdObj).to.have.property("properties").to.have.property("count"); - // to check if count properties has type element that is equals the value defined in AID->integer - expect(tdObj) - .to.have.property("properties") - .to.have.property("count") - .to.have.property("type") - .that.equals("integer"); - - // form entries - expect(tdObj) - .to.have.property("properties") - .to.have.property("count") - .to.have.property("forms") - .to.be.an("array") - .to.have.lengthOf(1); - // HTTP - expect(tdObj.properties.count.forms[0]) - .to.have.property("href") - .to.eql("http://plugfest.thingweb.io:8083/counter" + "/properties/count"); - expect(tdObj.properties.count.forms[0]).to.have.property("htv:methodName").to.eql("GET"); - expect(tdObj.properties.count.forms[0]).to.have.property("contentType").to.eql("application/json"); - // security not needed at form level in this case - expect(tdObj.properties.count.forms[0]).not.to.have.property("security"); - - // TODO actions and events for counter thing - - // check RegEx capability with fully qualified submodel - const td2 = this.assetInterfaceDescriptionUtil.transformAAS2TD( - modelAID, - `{"title": "counter"}`, - "InterfaceHTTP" - ); - const td2Obj = JSON.parse(td2); - expect(tdObj).to.deep.equal(td2Obj); - - // check RegEx capability with search pattern for submodel - const td3 = this.assetInterfaceDescriptionUtil.transformAAS2TD(modelAID, `{"title": "counter"}`, "HTTP*"); - const td3Obj = JSON.parse(td3); - expect(tdObj).to.deep.equal(td3Obj); - - // check RegEx capability with fully unknown submodel - const td4 = this.assetInterfaceDescriptionUtil.transformAAS2TD(modelAID, `{"title": "counter"}`, "OPC*"); - const td4Obj = JSON.parse(td4); - expect(td4Obj).to.not.have.property("properties"); - } - - @test async "should correctly transform counterHTTP_minimal into a TD"() { + @test async "should correctly transform counterHTTP into a TD"() { const modelAID = (await fs.readFile("test/util/counterHTTP.json")).toString(); const td = this.assetInterfaceDescriptionUtil.transformAAS2TD(modelAID, `{"title": "counter"}`); diff --git a/packages/td-tools/test/util/AID_v03.aasx b/packages/td-tools/test/util/AID_v03.aasx deleted file mode 100644 index d0c3cc6daa99e89c779f1516cdfe67ecae68acaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4626 zcmbVQcU03`whmR04gsWT2pyy&y?3NY6)p%NKp;R!fIuiBAV?LJP^3vf6hwM6N|#=x z_aahMq)3yZfWC0=n;Guhc{6L?@3+ob>#Vc)clP=AK7V}M)R2S}2p|Sf0QADgEZOxP z(^&uj0FW@~0h|CR6dfpjHi@Eq-QC=gpu9@}!Q8XmzkYlDA_nh7dinc0~e zd^tt}FeTt${N4BrzruBsjgANaI2%+1e26a$ffg4#oBtj3R(-RwTA&vKgn{{@-BCyt zu%ws-7z9H)qg>pPZYp4ZKUYzCu$ro}ISc{yBUqr}?%rq+!3Bv{0mJ?LycNa8(avy~ z7Zfdq@`fP^JFX~SFQ^}3>FXx$4R!W}y1~SyBqU_T3DNum1N>)9kY$iJ?C*#H0RduA z7cY0DC>jn!AjI5JzmxT6g!BA?L6%ToH<+Ia_z%N#)Pg|xNpP~*|J<-AubAVQBSeTb{E={Q4Ed5>~-Ls6! z;-dPZu+yTL@4LtKUP4S8Or!o~o;0rpX*L%E!uIzW@WTS5 z+&~3I9QrBibGKLR!TDq|W`^yEWYZx?*+Y1twye0bMcsVU4-;w~qbsnVIpJ=@#@eK| zMUr;Hz5SW@9A{_>jWkayiciBc@9`>VGZ<^b*iW(Rqb66TaZwpk5SgDl7ez6J3KDLe zW=6~IYm4i)Tb0)9r1JtLzm8OZ&)3RIGsr2G!iMYMDv^J7N#$^W|uXdbRj)=@y?Ul+&;C*OE zU71-}zoUQ)qmyUp=%|G&_U7_;aD{%c&vd3xt8Hw6p5f}?1~iG>6Qw@~uIqD+(L))j zNXYLRH`MUC^~j95BquV559oAla7C`3K&5!=?*?se9V zk&;nh*|_z(T~l|}lNZA*a^W3#Y9)0BJARvQ&}cghSgGh5xLD-7?&nzPH0Os%2NMY8J)CZ_HJD$6o8$+pHIgf zq4)k8xsMDvghZ&%XUlQN4)UUEw=z3O(Krho;nO@Ziv5oWsgB^%(GR_?%Sq!5I23h{4QL%T=Q1uh;u>j z#t*QX+#4%d%wow>Vu;zGUSdy*JMl(Ty?qFMajRd6QQ-3BCAO6v8-)ZaopuGE@Fh#U zx!~i3Y`qgbl36FLzscnfvZ?kroW z%&D{IA%8P`sYPoiFi$BaC6c!yTwj#EXZU4-@9yT8FHq6>e4l&=^}72FsZ0o(FJkUo z(SB)GMO?i$=`UD2rR+g{e4TXZaoEnPTR-(aX}rviG5ms-YxyxH_vITool)1l;|~|V z47hPrylWlfp3GJEpPS%%4~vlD*Y2ohF9M56x5nDP!N|yy(7H+5SvAE+$YLuql0gpvBVB6j`XyvNzS&F!O%DMf^4IJPv|%w2kN^Ni$gXyAteO zoLoOXU7&KTE3_4y1D?%%)f_15qtnpBWYOgz16ngrKe|xr8}n;9gmzayggs+G;&6{M zBM*>NocO#G)fa9`X=$!Svtq;8^-NTQ5g#b21gumKntzS8=WU=!eRt{Z%uY?2`sNXL z4*OG#at3~`NpyyzkZS?ZXz3=rck&=a8PE(NPdrRjM!iSI{wOuKjjOw}O2#>}n&>H?TTUdc$JD zFZ%lS;JR(;vPs3SPgxs^`9lmhqaPnfTrIhDKSlQ=Zwd8Vtf5uqvpxe$?h2p~nR5`c zW0`ApYGyI8*<#babD1?x{)DoR9kwwxZcl|zPly(d%cvU|a-QrUi4qOjzv~%%#hV&( zM?V=9_%WK4Bvy3;5kVBP&m9N6zR9W*RjvvE7Dq4bw8KWPrH)o6V3vYEx~J6tUR6FH zEk3Rsw^@JG3pjN%88bZEh-}DUN}$QPqrWZ@asW;B=u>)XMA^Ll#be~glNvEQ|4qF# z$1w2CW}y|^>90K(RY|a7+s{-bn1K`2M{AecIjMGfhc7Odo*t_6D8Ys{Y7uEs zHwN9VS&HI*QK*WH!5vf&>K{~hM1Go9__g)(HFDd5tL(1MMMpA9Qc;L zKY_oYWc!)ao{q3wEI41SHC^~rNj?O%vn@LAzr(I11nfrX>9hzzh=T`hLFvTgR5wFA zt10fM+nGPp?bUr^rdcUK%KUT+{p!&LF2M+=K@}w_%}O^Zui8@E8adOATB6`D z=m0)stE9&Ty_Yy5Tx&vf(Kc{`)A!Dg=?0|3IA-kFS`xWaAHzw)arkk&zDG)7VEVbK z^`aY#Sl9ez?LqKZP_8a)n&3O+GRuFyc;30l{9j+uR|(5){D9N@!hz8cAU zVJd&Yw1hpri)s1#q@_uh)J)uZ>I<{4#NbzO-mX>K-k$kp9Bv{^>^tY$r+6EMmI+h2 zv9%N@{*xnWTiTL}@^q&$dg zXWczyk?-K@<Mw%ny%80J5a!@HQHN7%j>5$g`41)P8yf2(caM#~uPKtC<#8QJDPft9w@V|LLdV=5y-QtN z!OJI8t5H(GBXdY^!M%q#j(4<&RIdsXTRFMg-xaRZQWeomwIO8ZjvXO8e0ZWCr{4Qy zi^^-kRSvgIMkE7IuGfB*;Zd$&d_X=KM}C5bu+Tl~1J$k8Pmqj+^@gTICQ}^syHXjy z>y&@bq+7)x@$+zLHpqoa*S^DpXUoRMx!9IQdPreKS{G$T;Fd z4_jX32kp7(RS-~+z`j*Cf&E<4KiGFL_&fWhW=pd{7CUK+ZAZ`8poKACt1>pt#5h&5 z9$GVXxb5JVoZD4~DHonN}|UGNm&}GH)%o zRRi+(9!W5GY>v-k-fh2>Mzeft!vD^Z_>Jo(z1f!<6I7buJ|9lH*Uf4KhGPX1R)>b? zo1;;G=1c^=8b3+k%#y$v6M-{3EfmrZhV+A+X-2gDf6_}{iIT`R32L2kFkBR&$Q7Sg zk`rCc=zJv}N=-DJ~bUQ5tO< z;iw!itN8a8j|95bB>E1Gv$|oWnAabcJY+goOEg$$-4;%(fojp_nV$TQWItV?gp&m@ zi~MkQ%w!AYK>0?vD4B1iA2ACohNpkt7t*YX+&}y=yh!XqQX=QkOk`?EL@Y{ZDE#Xd z!#}qX&Wh{2VE)7V|7swd_jV*K&b1THANyC8eBQB!kgng4{Vz4}|5r1gkL<5c?R;dE owEr8~zkYcC4D{#vI}fBn2l!XjXlh7Cer85S__NMfpg&vv54C;MssI20 diff --git a/packages/td-tools/test/util/AID_v03.json b/packages/td-tools/test/util/AID_v03.json deleted file mode 100644 index efaa533c0..000000000 --- a/packages/td-tools/test/util/AID_v03.json +++ /dev/null @@ -1,1629 +0,0 @@ -{ - "assetAdministrationShells": [ - { - "hasDataSpecification": [], - "asset": { - "keys": [] - }, - "submodels": [ - { - "keys": [ - { - "type": "Submodel", - "local": true, - "value": "https://example.com/ids/sm/4333_9041_7022_4184", - "index": 0, - "idType": "IRI" - } - ] - } - ], - "conceptDictionaries": [], - "identification": { - "idType": "IRI", - "id": "https://example.com/ids/aas/7474_9002_6022_1115" - }, - "idShort": "SampleAAS", - "modelType": { - "name": "AssetAdministrationShell" - } - } - ], - "assets": [], - "submodels": [ - { - "semanticId": { - "keys": [] - }, - "qualifiers": [], - "hasDataSpecification": [], - "identification": { - "idType": "IRI", - "id": "https://example.com/ids/sm/8574_9002_6022_5297" - }, - "idShort": "AssetInterfaceDescription", - "modelType": { - "name": "Submodel" - }, - "kind": "Instance", - "submodelElements": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "EndpointMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "modbus+tcp://192.168.1.187:502", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "base", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "application/octet-stream;byteSeq=BIG_ENDIAN", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "contentType", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "InterfaceMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Properties", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "", - "semanticId": { - "keys": [] - }, - "constraints": [ - { - "semanticId": { - "keys": [] - }, - "type": "modbus:function", - "valueType": "", - "valueId": { - "keys": [] - }, - "value": "readHoldingRegisters", - "modelType": { - "name": "Qualifier" - } - }, - { - "type": "modbus:address", - "valueType": "", - "value": "40001", - "modelType": { - "name": "Qualifier" - } - }, - { - "type": "modbus:quantity", - "valueType": "", - "value": "2", - "modelType": { - "name": "Qualifier" - } - } - ], - "hasDataSpecification": [], - "idShort": "voltage", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "double" - } - }, - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [ - { - "type": "valueType", - "valueType": "", - "value": "double", - "modelType": { - "name": "Qualifier" - } - } - ], - "hasDataSpecification": [], - "idShort": "voltage", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "readHoldingRegisters", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "modbus:function", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "40001", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "modbus:address", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "2", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "modbus:quantity", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Operations", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Events", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ] - }, - { - "semanticId": { - "keys": [] - }, - "qualifiers": [], - "hasDataSpecification": [], - "identification": { - "idType": "IRI", - "id": "https://example.com/ids/sm/4333_9041_7022_4184" - }, - "idShort": "AssetInterfaceDescription", - "modelType": { - "name": "Submodel" - }, - "kind": "Instance", - "submodelElements": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Interface1 (Modbus; s. slides from 21.6.2022)", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "EndpointMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "modbus+tcp://192.168.1.187:502", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "base", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "application/octet-stream;byteSeq=BIG_ENDIAN", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "contentType", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "InterfaceMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Properties", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [ - { - "type": "valueType", - "valueType": "", - "value": "double", - "modelType": { - "name": "Qualifier" - } - } - ], - "hasDataSpecification": [], - "idShort": "voltage", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "readHoldingRegisters", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "modbus:function", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "40001", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "modbus:address", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "2", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "modbus:quantity", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "dataMapping", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Operations", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Events", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Interface2 (HTTP; s. slides from 19.7.2022)", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "EndpointMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "https://192.168.1.187", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "base", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "application/json", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "contentType", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "securityDefinitions", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "basic", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "header", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "in", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "oauth2", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "client", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "flow", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "https://example.com/token", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "token", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "limited", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "scopes", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "alternativeEndpointDescriptor", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "mimeType": "application/yaml", - "value": "Device.OpenAPI.yaml", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "OpenAPI", - "modelType": { - "name": "File" - }, - "kind": "Instance" - }, - { - "mimeType": "application/td+json", - "value": "Device.td.jsonld", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "ThingDescription", - "modelType": { - "name": "File" - }, - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "InterfaceMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Properties", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [ - { - "type": "valueType", - "valueType": "", - "value": "double", - "modelType": { - "name": "Qualifier" - } - } - ], - "hasDataSpecification": [], - "idShort": "voltage", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "/properties/voltage", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "href", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "anyURI" - } - }, - "kind": "Instance" - }, - { - "value": "GET", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "htv:methodName", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "text/xml", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "contentType", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance", - "descriptions": [ - { - "language": "", - "text": "overwrites the globale definition (from endpoint metadata)" - } - ] - }, - { - "value": "longpoll", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "subprotocol", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "dataMapping", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Operations", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Events", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Interface3 (OPC UA; s. slides from 2.8.2022)", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "EndpointMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "opc.tcp://192.168.1.187:4840/UAserver", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "base", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "application/x.opcua.binary", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "contentType", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "securityDefinitions", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "uasec", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "[\"none\", \"Sign\", \"Sign & Encrypt\"]", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "mode", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "[\"none\", \"Basic128RSA15\", \"Basic256\", \"Basic256SHA256\"]", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "policy", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "alternativeEndpointDescriptor", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": { - "keys": [] - }, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "OPC UA Data Sheet SM", - "modelType": { - "name": "ReferenceElement" - }, - "kind": "Instance" - }, - { - "mimeType": "text/xml", - "value": "ua.nodeset.xml", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Nodeset", - "modelType": { - "name": "File" - }, - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "InterfaceMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Properties", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [ - { - "type": "valueType", - "valueType": "", - "value": "double", - "modelType": { - "name": "Qualifier" - } - } - ], - "hasDataSpecification": [], - "idShort": "voltage", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "\"ns=3;i=29\"", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "ua:nodeId", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": " \"nsu=http://example.com/OPCUAServer/energy;i=29\"", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "ua:expandedNodeId", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "string" - } - }, - "kind": "Instance", - "descriptions": [ - { - "language": "", - "text": "alternative to nodeId" - } - ] - }, - { - "value": "READ", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "ua:method", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "dataMapping", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Operations", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Events", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Interface4 (MQTT; s. slides from 16.8.2022)", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "EndpointMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "mqtt://test.mosquitto:1884", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "base", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "3.1.1", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "mqv:version", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "string" - } - }, - "kind": "Instance" - }, - { - "value": "application/json", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "contentType", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "securityDefinitions", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "basic", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "header", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "in", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "alternativeEndpointDescriptor", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "mimeType": "text/xml", - "value": "", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "OPC UA P/S MQTT Configuration File", - "modelType": { - "name": "File" - }, - "kind": "Instance" - }, - { - "mimeType": "application/td+json", - "value": "Device.td.jsonld", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "ThingDescription", - "modelType": { - "name": "File" - }, - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "InterfaceMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Properties", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [ - { - "type": "valueType", - "valueType": "", - "value": "double", - "modelType": { - "name": "Qualifier" - } - } - ], - "hasDataSpecification": [], - "idShort": "voltage", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "/devices/thing1/properties/voltage", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "mqv:topic", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "mqv:subscribe", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "mqv:controlPacket", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "true", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "mqv:retain", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "boolean" - } - }, - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "dataMapping", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Operations", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Events", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ] - } - ], - "conceptDescriptions": [] -} diff --git a/packages/td-tools/test/util/AID_v03_counter.aasx b/packages/td-tools/test/util/AID_v03_counter.aasx deleted file mode 100644 index 1ac10693f9e98a5770e0e1fb37a457e9ed769415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2758 zcmbVO3p~?nA77X(WVt2eohdSxZP@I%w33S47g1>T+SoGN*jy%sax3H(qH;?&a-FDz zlOlu+9V8^3%ye;yRLa@vJ@3(}_ngmp|NqbPd_K?Td4AvLdA`5j^ZWiBZA8W70U`hi z!0yOCXJsp|Gl~EJKwi+m0962izzl^8J3V?J#g{^Z6eV$tUGnuIv(0| zv|V+!>eSnEwNDh_D8OIyWw8*y!spcnnNp5 zhcms&B!2=^pUxoB1T#MLKz{;DFbwpCGYH;(1YZ)|0D(Zm1*iD~1Nto{#F@RwXp%81LITVLB@HR%GjE#tB zG}6e2=mUkox0=Dfxz<)8r(b=RY7^iRYIUsJTMPhTZUF$OzxzyhWhNevCxsIH8B`M9 zo9>UN5Se(vhInHmVxx_w@#K{yqC-*b?ln4#tb= zL!ONhYeoGWaJ$BNEo#ZCAL~DU3h7tk++5V)j>tyFcV;EX7%ybb5l?lGF_Z|{BCcu8 z=Iw|=r0nqe@yVFunyr-zzh-lle?@F;o|MbMbSZuMJUQMzlm>3Rux=bPYjvk7d0=XG zQ=x_I1v8|HZ+1a)WgHtFPb@;8p=UP?ukx47ypF_0DD}W6W?J zmfa$+dfZIt(vC5p@-@>3O^sS-t6Z)}sPFbESd*Z9 zXT#}NYIg^;qIh1HeYX9JC$jZWsY_im2U#vZTq9DD@wDZ|q4$U!O3TI&I2tiyl9n2Frq^`xj5fR>(yuUh;ci zW?fCDWI{^Sx7;uMv-&?Ax(9JOkqnIw+RNsyL%;_zc| z%kFTS3ztRN@)K3>GnlBI2XCkQ5!9Hjl?eg!rz;wcha^0E)1QnH_}=7MsJU%3d?!BwDIPjm)c7~ZhS=osP~bb z=}sH-$b(j!PR5*Mxri>lcpOzZr7dx5syDTXUjkC<@0Ew#w%Q-LZ1)!Uk_4NQZU{j2 z_9eCLaT^QD^y&?Lt1)@%PG4Q_Xaq0UX#^aX(9$?lIP=JKd1C2_MO(#~D6e8Hq`Sl> z?gma;gvF-n;4VN!Hr_+q*7A{ zKd6QEO&yJjc0SB@&hFVcud;SmdBf3%JDO@MmnGL;$JcjtNLSG=X1`WOftIV?8lAZO zxcP{>7Y*&e=dMovX16i9+eSNpMH+p}MXKu$zn@xyG_NtSnn9@nhRpaM`3pS*?nmG5 zo$64YvU@65_-yY*J}1xPYH`=#yXe>WKN6u(T=GvdPK*kqhAa>lmERNLSA|)TXa81g zGE(elcOl?i<;Mn85SxQ>gI%|Vwj7S0zPD@4A@-NogSU98VKK5U#e7oM+!1=N(cJvZ z;CW+Tu8MA(*ywl;BJt-bgfe!15j9$@u~lXmc&$CgigN;#p^z75HldoQZ5JkfSr)V| zoI)c6z_J3e$<80jH1p3@#_C6G41HtS|4yQ@CCKxH^7$E;oI3~pE#d<6KYUlC7$=s* zb8Id;Ah~WD)ML$G-i%QhlO%13BR7 zQtOmcwH7yCE0NdD9d3-Jf6JK;lXtRTz?rjvGdTfg?mOr-7Kz5f3w4g^`FA;Kj{Ra4W BJRkr7 diff --git a/packages/td-tools/test/util/AID_v03_counter.json b/packages/td-tools/test/util/AID_v03_counter.json deleted file mode 100644 index 18dd7cb55..000000000 --- a/packages/td-tools/test/util/AID_v03_counter.json +++ /dev/null @@ -1,276 +0,0 @@ -{ - "assetAdministrationShells": [ - { - "hasDataSpecification": [], - "asset": { - "keys": [] - }, - "submodels": [ - { - "keys": [ - { - "type": "Submodel", - "local": true, - "value": "https://example.com/ids/sm/8153_8071_1122_3509", - "index": 0, - "idType": "IRI" - } - ] - } - ], - "conceptDictionaries": [], - "identification": { - "idType": "IRI", - "id": "https://example.com/ids/aas/7474_9002_6022_1115" - }, - "idShort": "SampleAAS", - "modelType": { - "name": "AssetAdministrationShell" - } - } - ], - "assets": [], - "submodels": [ - { - "semanticId": { - "keys": [] - }, - "qualifiers": [], - "hasDataSpecification": [], - "identification": { - "idType": "IRI", - "id": "https://example.com/ids/sm/8153_8071_1122_3509" - }, - "idShort": "AssetInterfaceDescription", - "modelType": { - "name": "Submodel" - }, - "kind": "Instance", - "submodelElements": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "InterfaceHTTP", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "EndpointMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "http://plugfest.thingweb.io:8083/counter", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "base", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "value": "application/json", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "contentType", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "securityDefinitions", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "nosec", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "InterfaceMetadata", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Properties", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [ - { - "type": "valueType", - "valueType": "", - "value": "integer", - "modelType": { - "name": "Qualifier" - } - } - ], - "hasDataSpecification": [], - "idShort": "count", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [ - { - "value": "/properties/count", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "href", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "anyURI" - } - }, - "kind": "Instance" - }, - { - "value": "GET", - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "htv:methodName", - "modelType": { - "name": "Property" - }, - "valueType": { - "dataObjectType": { - "name": "" - } - }, - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Operations", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - }, - { - "ordered": false, - "allowDuplicates": false, - "semanticId": { - "keys": [] - }, - "constraints": [], - "hasDataSpecification": [], - "idShort": "Events", - "modelType": { - "name": "SubmodelElementCollection" - }, - "value": [], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ], - "kind": "Instance" - } - ] - } - ], - "conceptDescriptions": [] -}