From 5c4407a2fed7c03a50bbdb9467e7ac1e973c59c5 Mon Sep 17 00:00:00 2001 From: sagIoTPower Date: Mon, 23 Oct 2023 13:48:59 +0200 Subject: [PATCH] rectified samples mappigs --- .../ProcessorExtensionInboundCustomEvent.java | 11 +- ...ssorExtensionInboundCustomMeasurement.java | 22 +- .../main/java/mqtt/mapping/core/C8YAgent.java | 2 +- .../inbound/BasePayloadProcessor.java | 2 +- .../processor/inbound/JSONProcessor.java | 2 +- .../java/mqtt/mapping/service/MQTTClient.java | 2 +- .../sampleMapping/SampleMappings_07.pdf | Bin 58153 -> 0 bytes .../sampleMapping/SampleMappings_07.xlsx | Bin 16128 -> 0 bytes .../sampleMapping/SampleMappings_08.pdf | Bin 0 -> 74459 bytes .../sampleMapping/SampleMappings_08.xlsx | Bin 0 -> 16523 bytes .../sampleMapping/sampleMappings_07.json | 1295 ----------------- .../sampleMapping/sampleMappings_08.json | 1017 +++++++++++++ 12 files changed, 1044 insertions(+), 1309 deletions(-) delete mode 100644 resources/script/mapping/sampleMapping/SampleMappings_07.pdf delete mode 100644 resources/script/mapping/sampleMapping/SampleMappings_07.xlsx create mode 100644 resources/script/mapping/sampleMapping/SampleMappings_08.pdf create mode 100644 resources/script/mapping/sampleMapping/SampleMappings_08.xlsx delete mode 100644 resources/script/mapping/sampleMapping/sampleMappings_07.json create mode 100644 resources/script/mapping/sampleMapping/sampleMappings_08.json diff --git a/mqtt-mapping-extension/src/main/java/mqtt/mapping/processor/extension/external/ProcessorExtensionInboundCustomEvent.java b/mqtt-mapping-extension/src/main/java/mqtt/mapping/processor/extension/external/ProcessorExtensionInboundCustomEvent.java index 7e25e831..3903529b 100644 --- a/mqtt-mapping-extension/src/main/java/mqtt/mapping/processor/extension/external/ProcessorExtensionInboundCustomEvent.java +++ b/mqtt-mapping-extension/src/main/java/mqtt/mapping/processor/extension/external/ProcessorExtensionInboundCustomEvent.java @@ -50,8 +50,15 @@ public void extractFromSource(ProcessingContext context) throws ProcessingException { CustomEventOuter.CustomEvent payloadProtobuf; try { - payloadProtobuf = CustomEventOuter.CustomEvent - .parseFrom(context.getPayload()); + byte[] payload = context.getPayload(); + if (payload == null) { + log.info("Preparing new event failed, payload == null"); + + } else { + log.info("Preparing new event: {}", new String(payload)); + } + payloadProtobuf = CustomEventOuter.CustomEvent + .parseFrom(payload); } catch (InvalidProtocolBufferException e) { throw new ProcessingException(e.getMessage()); } diff --git a/mqtt-mapping-extension/src/main/java/mqtt/mapping/processor/extension/external/ProcessorExtensionInboundCustomMeasurement.java b/mqtt-mapping-extension/src/main/java/mqtt/mapping/processor/extension/external/ProcessorExtensionInboundCustomMeasurement.java index 40514beb..8f46e914 100644 --- a/mqtt-mapping-extension/src/main/java/mqtt/mapping/processor/extension/external/ProcessorExtensionInboundCustomMeasurement.java +++ b/mqtt-mapping-extension/src/main/java/mqtt/mapping/processor/extension/external/ProcessorExtensionInboundCustomMeasurement.java @@ -77,9 +77,11 @@ public void extractFromSource(ProcessingContext context) TYPE.TEXTUAL, RepairStrategy.DEFAULT)))); - ObjectNode fragment = objectMapper.createObjectNode(); - fragment.set("value", new FloatNode(jsonNode.get("temperature").floatValue())); - fragment.set("unit", new TextNode(jsonNode.get("unit").textValue())); + ObjectNode fragmentTemperature = objectMapper.createObjectNode(); + ObjectNode fragmentTemperatureSeries = objectMapper.createObjectNode(); + fragmentTemperature.set("T", fragmentTemperatureSeries); + fragmentTemperatureSeries.set("value", new FloatNode(jsonNode.get("temperature").floatValue())); + fragmentTemperatureSeries.set("unit", new TextNode(jsonNode.get("unit").textValue())); postProcessingCache.put("c8y_Fragment_to_remove", new ArrayList(Arrays.asList( @@ -89,7 +91,7 @@ public void extractFromSource(ProcessingContext context) postProcessingCache.put("c8y_Temperature", new ArrayList(Arrays.asList( - new SubstituteValue(fragment, + new SubstituteValue(fragmentTemperature, TYPE.OBJECT, RepairStrategy.DEFAULT)))); @@ -104,12 +106,16 @@ public void extractFromSource(ProcessingContext context) if (jsonNode.get("unexpected") != null) { // it is important to use RepairStrategy.CREATE_IF_MISSING as the node // "unexpected" does not yet exists in the target payload - postProcessingCache.put("c8y_Unexpected", + ObjectNode fragmentUnexpected = objectMapper.createObjectNode(); + ObjectNode fragmentUnexpectedSeries = objectMapper.createObjectNode(); + fragmentUnexpected.set("U", fragmentUnexpectedSeries); + fragmentUnexpectedSeries.set("value", new FloatNode(jsonNode.get("unexpected").floatValue())); + fragmentUnexpectedSeries.set("unit", new TextNode("unknown")); + postProcessingCache.put("c8y_Unexpected", new ArrayList( Arrays.asList(new SubstituteValue( - new FloatNode(jsonNode.get("unexpected") - .floatValue()), - TYPE.NUMBER, + fragmentUnexpected, + TYPE.OBJECT, RepairStrategy.CREATE_IF_MISSING)))); unexpected = jsonNode.get("unexpected").floatValue(); diff --git a/mqtt-mapping-service/src/main/java/mqtt/mapping/core/C8YAgent.java b/mqtt-mapping-service/src/main/java/mqtt/mapping/core/C8YAgent.java index 97b5bba4..4dd99851 100644 --- a/mqtt-mapping-service/src/main/java/mqtt/mapping/core/C8YAgent.java +++ b/mqtt-mapping-service/src/main/java/mqtt/mapping/core/C8YAgent.java @@ -493,7 +493,7 @@ private void loadProcessorExtensions() { Map props = (Map) (extension.get(ExtensionsComponent.PROCESSOR_EXTENSION_TYPE)); String extName = props.get("name").toString(); boolean external = (Boolean) props.get("external"); - log.info("Trying to load extension id: {}, name: {}, ", extension.getId().getValue(), extName); + log.info("Trying to load extension id: {}, name: {}", extension.getId().getValue(), extName); try { if (external) { diff --git a/mqtt-mapping-service/src/main/java/mqtt/mapping/processor/inbound/BasePayloadProcessor.java b/mqtt-mapping-service/src/main/java/mqtt/mapping/processor/inbound/BasePayloadProcessor.java index a17db70e..44be94d5 100644 --- a/mqtt-mapping-service/src/main/java/mqtt/mapping/processor/inbound/BasePayloadProcessor.java +++ b/mqtt-mapping-service/src/main/java/mqtt/mapping/processor/inbound/BasePayloadProcessor.java @@ -234,7 +234,7 @@ public void substituteValueInObject(MappingType type, SubstituteValue sub, Docum } else if (sub.repairStrategy.equals(RepairStrategy.CREATE_IF_MISSING) ) { boolean pathIsNested = keys.contains(".") || keys.contains("[") ; if (pathIsNested) { - throw new JSONException ("Can only crrate new nodes ion the root level!"); + throw new JSONException ("Can only create new nodes ion the root level!"); } jsonObject.put("$", keys, sub.typedValue()); } else { diff --git a/mqtt-mapping-service/src/main/java/mqtt/mapping/processor/inbound/JSONProcessor.java b/mqtt-mapping-service/src/main/java/mqtt/mapping/processor/inbound/JSONProcessor.java index 7ba53c1c..4d0c9c40 100644 --- a/mqtt-mapping-service/src/main/java/mqtt/mapping/processor/inbound/JSONProcessor.java +++ b/mqtt-mapping-service/src/main/java/mqtt/mapping/processor/inbound/JSONProcessor.java @@ -171,7 +171,7 @@ public void extractFromSource(ProcessingContext context) } // no substitution for the time property exists, then use the system time - if (!substitutionTimeExists && mapping.targetAPI != API.INVENTORY) { + if (!substitutionTimeExists && mapping.targetAPI != API.INVENTORY && mapping.targetAPI != API.OPERATION) { List postProcessingCacheEntry = postProcessingCache.getOrDefault(TIME, new ArrayList()); postProcessingCacheEntry.add( diff --git a/mqtt-mapping-service/src/main/java/mqtt/mapping/service/MQTTClient.java b/mqtt-mapping-service/src/main/java/mqtt/mapping/service/MQTTClient.java index 85581c19..9f44330d 100644 --- a/mqtt-mapping-service/src/main/java/mqtt/mapping/service/MQTTClient.java +++ b/mqtt-mapping-service/src/main/java/mqtt/mapping/service/MQTTClient.java @@ -575,7 +575,7 @@ public AbstractExtensibleRepresentation createMEAO(ProcessingContext context) String payload = context.getCurrentRequest().getRequest(); mqttMessage.setPayload(payload.getBytes()); mqttClient.publish(context.getResolvedPublishTopic(), mqttMessage); - log.info("Published outbound message: {} for mapping: {} ", payload, context.getMapping().name); + log.info("Published outbound message: {} for mapping: {} on topic: {}", payload, context.getMapping().name, context.getResolvedPublishTopic()); return null; } diff --git a/resources/script/mapping/sampleMapping/SampleMappings_07.pdf b/resources/script/mapping/sampleMapping/SampleMappings_07.pdf deleted file mode 100644 index 454f6a2fcd2f9821c20fb0b28df458f87ca0b1be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58153 zcmcG#QHXH#!Ia6 zX_3kci_$XEF+-6K9X}jjmOkdq4UIrC6EG0i8d^eea}&^uT39)mIQ%_Z8912;n;6*| zn-I`To7k8+nG-NGu(1;G@^qSMKXG+4K&l!;{m7 zCBJ~QZXw!}14amrG#({Q!PF1ZY2NSFR$R4gejl*MtePT_z%ehzR#sk=*Z6GZuJ^8) zjT~CwG>m0;^n39d)nCd1qdk~Utn(WDF>t-QaGzM`G`Vp?o6_NpmA=h#ite2-+Na4F zu^Kg;&Gay^Z>OanGR74lt5WfxgUX# z_*B1LYXt2a+JpjXQE%k%#{SxXs0*4g9IZivo?+M8YKUa3+#dX85W9Zhdo>J{r<|hD zZ?0-T18_J>bHYpA$Ig+aRv8*PyTDe^9i?6t&y2S)eOo4=<>x7 zov-JoJvrUu`I6zpoNTxr9g_WpN{ViG3;*RZ(R7ybFo&qLP;8j+2nBb=^3U%CogQ89 z?VVa1O-!j5NASjZjxzSwG0nZRm?SXWub;T8#-osLE(!R}sh~q)@)$kRi^G!oP8N6q&@puifuF-^`ajBh{1vc5CyuTc%)GILMxKCQo3LEn=~<~R_PJfzhk zj;VK*nMaeR*>}fu8pWYJU5rH@nKGSbjQiilV-V^cXi-$ynp!4pbRnoGqh7m|zF>x>a}QTraIHE9bmiAsgX$ZWW{S=)GM(@9z)Ck*)N) zbi3{NK4~=Md`o;s@1e1MaTYD12PYa1p1pEAdNg9p)UhayD>nn5cPKXp-$pL)t|>^) zvTSTugXZQsQE=^s&wY?ojz4ahq@Hyp&v;A}+arPa)5~EGh(Fukwzu>S*k+ly2Z0}( z z^^hKDa%Kh^G221>hDlLD9onD7v;am>wwidMJ(? z5H>wZFFT(Lmk=2yD}f&%>Lpq^0+VIpz-49@Pm;@BV$R$sjZj{9MGa6ctE=e`t&R(2 z0DJeyEm%pXVd1Xop9C*ms=Po}apur=d$`p_jsx>Myfe9^{&D_3-fW%KPVF66T_^Nz z!PzdsLSMC#JpYC2uX8^bH&cFJ8-=i|26&@?YtC=Q*CY0FgR^(6fDjsgI-HL`B^p^qp-3zV`crM3-H%I9)d)w-gz{EaMwOW{6BiR6y{b7+ z#o+C!i51CN?IPbzrxyoDysMNl1f-1GFUByw38%89lCIlHIeJhB89 z)*o2?d$ol14WwpLNo=*|NdT@Xm2I`eNo4F1;=^D)>#{>Tat2$W;$1Hk=||RVnyH@M zB;gG*7yq&x`xxW}975Rg6am|s4y|P^;wuNpf8#WCm<&dIybf>!?*0{DzVOrJEi|j>+_Dj)Sm*f57caBLeQVM$HRjbTPIBD-- z%)_>2!t6-| zP6}CR{ivW;l5fC$lOVyjlkeJ2T`Z*5E%F@gj`U?^0NI~Q+wFu*`AR@El_)DkKs(_} z3&||lFdnu`nU?R0wCe1!PnK2Wci5�ToD;0L$7Q7YnwYs-26XRKe?lnBfW?5Lz=9 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 diff --git a/resources/script/mapping/sampleMapping/SampleMappings_07.xlsx b/resources/script/mapping/sampleMapping/SampleMappings_07.xlsx deleted file mode 100644 index 4b67bf4d775d8981b008819b248b6b9b24a8ca3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16128 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 diff --git a/resources/script/mapping/sampleMapping/SampleMappings_08.pdf b/resources/script/mapping/sampleMapping/SampleMappings_08.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4a7272a651c88cb708ed03593d4a2581bdbf6da9 GIT binary patch literal 74459 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 MMiVx-@qEdKcR5#VmPe-A1Pw<*I+n94ixS_wb#m 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 literal 0 HcmV?d00001 diff --git a/resources/script/mapping/sampleMapping/SampleMappings_08.xlsx b/resources/script/mapping/sampleMapping/SampleMappings_08.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..4bb3056ed9ee99f2502d2bf179c882512750d98a GIT binary patch literal 16523 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 P_h;lgHr4R_?brVSk=e`> literal 0 HcmV?d00001 diff --git a/resources/script/mapping/sampleMapping/sampleMappings_07.json b/resources/script/mapping/sampleMapping/sampleMappings_07.json deleted file mode 100644 index 8a93b994..00000000 --- a/resources/script/mapping/sampleMapping/sampleMappings_07.json +++ /dev/null @@ -1,1295 +0,0 @@ -[ - { - "snoopStatus": "NONE", - "templateTopicSample": "/plant1/line1/device1_measure1_Type", - "ident": "627EA012-9D07-4E60-B0AC-0D830C30F0E3", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{\"value\":100}", - "target": "{\"measure1_Type\":{\"V\":{\"value\":110,\"unit\":\"C\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_TemperatureMeasurement\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "/plant1/+/+", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "_TOPIC_LEVEL_[0]&\"_\"&_TOPIC_LEVEL_[1]&\"_\"&$substringBefore(_TOPIC_LEVEL_[2],\"_\")", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$substringAfter(_TOPIC_LEVEL_[2],\"_\")", - "pathTarget": "type", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$now()", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "value", - "pathTarget": "measure1_Type.V.value", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1689017092536, - "name": "Mapping - 1", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "6257070629", - "subscriptionTopic": "/plant1/#", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "devices/device_best_01", - "ident": "05241eba-e0c5-4c77-a723-15511dee8709", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{\"mea\":[{\"tid\":\"uuid_01\",\"psid\":\"Crest\",\"devicePath\":\"path01_80_X03_VVB001StatusB_Crest\",\"values\":[{\"value\":4.6,\"timestamp\":1648562285347}]},{\"tid\":\"uuid_02\",\"psid\":\"Crest\",\"devicePath\":\"path01_80_X03_VVB001StatusB_Crest\",\"values\":[{\"value\":5.6,\"timestamp\":1648563285347}]}]}", - "target": "{\"c8y_ProcessLoadMeasurement\":{\"L\":{\"value\":110,\"unit\":\"%\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_ProcessLoadMeasurement\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "devices/+", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "mea.values[0].value", - "pathTarget": "c8y_ProcessLoadMeasurement.L.value", - "repairStrategy": "DEFAULT", - "expandArray": true - }, - { - "pathSource": "$map($map(mea.values[0].timestamp, $number), function($v, $i, $a) { $fromMillis($v) })", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": true - }, - { - "pathSource": "_TOPIC_LEVEL_[1]", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1688991520010, - "name": "Mapping - 2", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "3357069773", - "subscriptionTopic": "devices/#", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "extension": null, - "templateTopicSample": "device/express/berlin_01", - "ident": "38c5ebbd-990c-4eeb-b556-75109b37c904", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "INVENTORY", - "source": "{\"line\":\"Bus-Berlin-Rom\",\"operator\":\"EuroBus\",\"customFragment\":{\"customFragmentValue\":\"Express\"},\"capacity\":64,\"customArray\":[\"ArrayValue1\",\"ArrayValue2\"],\"customType\":\"type_International\"}", - "target": "{\"c8y_IsDevice\":{},\"name\":\"Vibration Sensor\",\"type\":\"maker_Vibration_Sensor\",\"capacity\":77}", - "externalIdType": "c8y_Serial", - "templateTopic": "device/express/+", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "_TOPIC_LEVEL_[2]", - "pathTarget": "_DEVICE_IDENT_", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "capacity", - "pathTarget": "capacity", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "customType", - "pathTarget": "type", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "operator&\"-\"&line", - "pathTarget": "name", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1669530606363, - "name": "Mapping - 3", - "snoopedTemplates": [], - "createNonExistingDevice": false, - "id": "3157072891", - "subscriptionTopic": "device/#", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "extension": null, - "templateTopicSample": "event/berlin_01", - "ident": "9109c667-16a3-486f-babf-9d01afdf1d2b", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "EVENT", - "source": "{\"msg_type\":\"c8y_BusStopEvent\",\"txt\":\"Bus stopped at petrol station today!\",\"td\":\"2022-09-08T16:21:53.389+02:00\",\"ts\":\"1665473038000\"}", - "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "event/+", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "_TOPIC_LEVEL_[1]", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "txt", - "pathTarget": "text", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "msg_type", - "pathTarget": "type", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$now()", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1669487329673, - "name": "Mapping - 4", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "4357071507", - "subscriptionTopic": "event/#", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "measurement/berlin_01/gazoline", - "ident": "2b295739-c1c4-4c2c-ae9e-2f04dc8313f6", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{\"fuel\":65,\"ts\":\"2022-08-05T00:14:49.389+02:00\",\"mea\":\"c8y_FuelMeasurement\"}", - "externalIdType": "c8y_Serial", - "target": "{\"c8y_FuelMeasurement\":{\"Tank\":{\"value\":110,\"unit\":\"l\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_FuelMeasurement\"}", - "templateTopic": "measurement/+/gazoline", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "_TOPIC_LEVEL_[1]", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "mea", - "pathTarget": "type", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$now()", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "fuel*3.78541", - "pathTarget": "c8y_FuelMeasurement.Tank.value", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "lastUpdate": 1667758218993, - "mappingType": "JSON", - "name": "Mapping - 5", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "subscriptionTopic": "measurement/#", - "id": "1657071508", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "multiarray/devices", - "ident": "e87a10ad-c223-4bd7-bd91-9df23e2bd3cf", - "tested": false, - "mapDeviceIdentifier": true, - "active": false, - "autoAckOperation": true, - "targetAPI": "INVENTORY", - "source": "{\"device\":[\"d1_id\",\"d2_id\"],\"types\":{\"type_A\":\"type_A\",\"type_B\":\"type_B\"},\"used_name\":[\"Pressure_d1\",\"Pressure_d2\"]}", - "target": "{\"c8y_IsDevice\":{},\"name\":\"Vibration Sensor\",\"type\":\"maker_Vibration_Sensor\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "multiarray/devices", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "device", - "pathTarget": "_DEVICE_IDENT_", - "repairStrategy": "DEFAULT", - "expandArray": true - }, - { - "pathSource": "types.type_A", - "pathTarget": "type", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$map(used_name, function($v, $i, $a) { $contains($v,'d1') ? $join(['Special_i0', $string($i)]) : $join([$string($v), $string($i)]) } )", - "pathTarget": "name", - "repairStrategy": "DEFAULT", - "expandArray": true - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1689776688104, - "name": "Mapping - 6", - "snoopedTemplates": [], - "createNonExistingDevice": false, - "id": "9757072892", - "subscriptionTopic": "multiarray/devices", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "arrayType/devices", - "ident": "c35424fc-aa6e-42f9-8434-66444e68d2aa", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "[{\"tid\":\"5e4bac9f-b47a-499e-8601-68fc16a9847c\",\"psid\":\"Crest\",\"devicePath\":\"c2818e07-4c09-42f0-ba24-ddb712573ab5_AL1352_192168221_80_X03_VVB001StatusB_Crest\",\"processDataUnit\":\"20\",\"values\":[{\"value\":4.6,\"timestamp\":1648562285347}]},{\"tid\":\"5e4bac9f-b47a-499e-8601-68fc16a9847c\",\"psid\":\"Crest\",\"devicePath\":\"c2818e07-4c09-42f0-ba24-ddb712573ab5_AL1352_192168221_80_X03_VVB001StatusB_Crest\",\"processDataUnit\":\"20\",\"values\":[{\"value\":5.6,\"timestamp\":1648562285347}]}]", - "target": "{\"c8y_TemperatureMeasurement\":{\"T\":{\"value\":110,\"unit\":\"C\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_TemperatureMeasurement\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "arrayType/devices", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "$substringBefore($[0].devicePath,\"_AL\")", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$[].values[0].value", - "pathTarget": "c8y_TemperatureMeasurement.T.value", - "repairStrategy": "DEFAULT", - "expandArray": true - }, - { - "pathSource": "$map($map($[].values[0].timestamp, $number), function($v) { $fromMillis($v)})", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": true - } - ], - "updateExistingDevice": true, - "mappingType": "JSON", - "lastUpdate": 1688647719233, - "name": "Mapping - 7", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "8357070630", - "subscriptionTopic": "arrayType/devices", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "eventObject/berlin_01", - "ident": "def10a25-d11e-4201-b454-48b54ba8cd5e", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "EVENT", - "source": "{\"msg_type\":\"c8y_BusStopEvent\",\"txt\":\"Bus stopped at petrol station today!\",\"td\":\"2022-09-08T16:21:53.389+02:00\",\"model\":{\"name\":\"MAN e-Bus\"}}", - "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\",\"customProperties\":\"dummy\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "eventObject/+", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "_TOPIC_LEVEL_[1]", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "txt", - "pathTarget": "text", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "msg_type", - "pathTarget": "type", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$now()", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "model", - "pathTarget": "customProperties", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1688650122303, - "name": "Mapping - 8", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "3957072893", - "subscriptionTopic": "eventObject/#", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "measurementObject/berlin_01/gazoline", - "ident": "15699050-545d-41d1-a523-acf6de778739", - "tested": false, - "mapDeviceIdentifier": true, - "active": false, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{\"fuel\":65,\"oil\":4.5,\"ts\":\"2022-08-05T00:14:49.389+02:00\",\"mea\":\"c8y_FuelMeasurement\"}", - "target": "{\"c8y_FuelMeasurement\":{\"Tank\":{\"value\":110,\"unit\":\"l\"}},\"c8y_OilMeasurement\":\"Motor\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_FuelMeasurement\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "measurementObject/+/gazoline", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "_TOPIC_LEVEL_[1]", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "mea", - "pathTarget": "type", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$now()", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "fuel*3.78541", - "pathTarget": "c8y_FuelMeasurement.Tank.value", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - }, - { - "pathSource": "(oil?{\"Motor\": {\"value\":oil, \"unit\":\"l\"}}:null)", - "pathTarget": "c8y_OilMeasurement", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1688646812521, - "name": "Mapping - 9", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "7757070631", - "subscriptionTopic": "measurementObject/#", - "direction": "INBOUND" - }, - { - "snoopStatus": "STOPPED", - "templateTopicSample": "uc1", - "ident": "a93fe7f0-cf39-4f85-afc1-85ad33b5cd19", - "tested": false, - "mapDeviceIdentifier": true, - "active": false, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{\"deviceId\":\"863859042393327\",\"version\":\"1\",\"deviceType\":\"20\",\"deviceTimestamp\":\"1664964865345\",\"deviceStatus\":\"BTR\",\"temperature\":\"10\",\"batteryVoltage\":\"3012\",\"initializationStatus\":\"2\",\"batteryAlarmStatus\":\"2\",\"temperatureAlarmStatus\":\"1\",\"spillAlarmStatus\":\"1\",\"connectionInfosMcc\":\"262\",\"connectionInfosMnc\":\"01\",\"connectionInfosChannelId\":\"1F00906\",\"connectionInfosTac\":\"D2FA\",\"connectionInfosBand\":\"LTE BAND 8\",\"connectionInfosBandTec\":\"NBIoT\",\"signalStrength\":\"-101\",\"telegramNumber\":\"183\"}", - "target": "{\"c8y_UseCase1\":{\"Temperature\":{\"value\":110,\"unit\":\"\u00b0C\"},\"BatteryVoltage\":{\"value\":110,\"unit\":\"mV\"},\"InitializationStatus\":{\"value\":2},\"BatteryAlarmStatus\":{\"value\":2},\"TemperaturAlarmStatus\":{\"value\":2},\"SpillAlarmStatus\":{\"value\":2},\"ConnectionInfosMcc\":{\"value\":2},\"ConnectionInfosMnc\":{\"value\":2},\"SignalStrength\":{\"value\":2,\"unit\":\"dBm\"},\"TelegramNumber\":{\"value\":2}},\"time\":\"2022-10-10T15:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_TemperatureMeasurement\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "uc1", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "deviceId", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(batteryVoltage)", - "pathTarget": "c8y_UseCase1.BatteryVoltage.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(initializationStatus)", - "pathTarget": "c8y_UseCase1.InitializationStatus.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(batteryAlarmStatus)", - "pathTarget": "c8y_UseCase1.BatteryAlarmStatus.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(temperatureAlarmStatus)", - "pathTarget": "c8y_UseCase1.TemperaturAlarmStatus.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(spillAlarmStatus)", - "pathTarget": "c8y_UseCase1.SpillAlarmStatus.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(connectionInfosMcc)", - "pathTarget": "c8y_UseCase1.ConnectionInfosMcc.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(connectionInfosMnc)", - "pathTarget": "c8y_UseCase1.ConnectionInfosMnc.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(signalStrength)", - "pathTarget": "c8y_UseCase1.SignalStrength.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(telegramNumber)", - "pathTarget": "c8y_UseCase1.TelegramNumber.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(temperature)", - "pathTarget": "c8y_UseCase1.Temperature.value", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1689236104129, - "name": "Mapping - 10", - "snoopedTemplates": [ - "{\"deviceId\":\"863859042393327\",\"version\":\"1\",\"deviceType\":\"20\",\"deviceTimestamp\":\"1664964865345\",\"deviceStatus\":\"BTR\",\"temperature\":\"10\",\"batteryVoltage\":\"3012\",\"initializationStatus\":\"2\",\"batteryAlarmStatus\":\"2\",\"temperatureAlarmStatus\":\"1\",\"spillAlarmStatus\":\"1\",\"connectionInfosMcc\":\"262\",\"connectionInfosMnc\":\"01\",\"connectionInfosChannelId\":\"1F00906\",\"connectionInfosTac\":\"D2FA\",\"connectionInfosBand\":\"LTE BAND 8\",\"connectionInfosBandTec\":\"NBIoT\",\"signalStrength\":\"-101\",\"telegramNumber\":\"183\"}", - "{\"deviceId\":\"863859042393327\",\"version\":\"1\",\"deviceType\":\"20\",\"deviceTimestamp\":\"1664964865345\",\"deviceStatus\":\"BTR\",\"temperature\":\"10\",\"batteryVoltage\":\"3012\",\"initializationStatus\":\"2\",\"batteryAlarmStatus\":\"2\",\"temperatureAlarmStatus\":\"1\",\"spillAlarmStatus\":\"1\",\"connectionInfosMcc\":\"262\",\"connectionInfosMnc\":\"01\",\"connectionInfosChannelId\":\"1F00906\",\"connectionInfosTac\":\"D2FA\",\"connectionInfosBand\":\"LTE BAND 8\",\"connectionInfosBandTec\":\"NBIoT\",\"signalStrength\":\"-101\",\"telegramNumber\":\"183\"}" - ], - "createNonExistingDevice": true, - "id": "3357069774", - "subscriptionTopic": "uc1", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "uc4", - "ident": "16b768e9-f926-414b-b2a9-c531811e9023", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{\"schemaVersion\":1,\"deviceId\":\"HCN-9273019977\",\"deviceType\":\"FRIDGE:HCN\",\"deviceTimestamp\":1664298571,\"sensors\":[{\"DI-99\":0},{\"DI-2\":0},{\"DI-3\":1},{\"DI-4\":1},{\"DI-5\":0},{\"DI-6\":0},{\"DI-7\":0},{\"DI-8\":0},{\"DI-9\":0},{\"AI-1\":833},{\"AI-2\":599},{\"LS-1\":{\"lat\":51.70143,\"lng\":8.712522,\"speed\":0,\"hdop\":1,\"ts\":1664298571}}],\"rawTelegram\":\"20;FRIDGE:HCN-9273019977;22/09/27 17:09:31 +08;DI-1-DI1=0;DI-2-DI2=0;DI-3-DI3=1;DI-4-DI4=1;DI-5-DI5=0;DI-6-DI6=0;DI-7-DI7=0;DI-8-DI8=0;DI-9-DI9=0;AI-1-AI1=833,17;AI-2-AI2=599,2.8;LS-1-GPS={+51.701431,+8.712522,0,285,1.0},22/09/27 17:09:31 +08;\"}", - "externalIdType": "c8y_Serial", - "target": "{\"c8y_UseCase4\":{\"T\u00fcrOffen\":{\"value\":1},\"BelegungssensorVorneLinks\":{\"value\":1},\"BelegungssensorVorneMitte\":{\"value\":1},\"BelegungssensorVorneRechts\":{\"value\":1},\"BelegungssensorMitteLinks\":{\"value\":1},\"BelegungssensorMitteMitte\":{\"value\":1},\"BelegungssensorMitteRechts\":{\"value\":1},\"BelegungssensorHintenLinks\":{\"value\":1},\"BelegungssensorHintenMitte\":{\"value\":1},\"Temperatur\":{\"value\":5},\"PositionGetr\u00e4nkeschieber\":{\"value\":5}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_UseCase4\"}", - "templateTopic": "uc4", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "sensors[0].'DI-1'", - "pathTarget": "c8y_UseCase4.T\u00fcrOffen.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "sensors[9].'AI-1'", - "pathTarget": "c8y_UseCase4.Temperatur.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "sensors[10].'AI-2'", - "pathTarget": "c8y_UseCase4.PositionGetr\u00e4nkeschieber.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "deviceId", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$exists(sensors[1].'DI-2')? {\"value\": sensors[1].'DI-2'}: null", - "pathTarget": "c8y_UseCase4.BelegungssensorVorneLinks", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - }, - { - "pathSource": "$exists(sensors[2].'DI-3')? {\"value\": sensors[2].'DI-3'}: null", - "pathTarget": "c8y_UseCase4.BelegungssensorVorneMitte", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - }, - { - "pathSource": "$exists(sensors[3].'DI-4')? {\"value\": sensors[3].'DI-4'}: null", - "pathTarget": "c8y_UseCase4.BelegungssensorVorneRechts", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - }, - { - "pathSource": "$exists(sensors[4].'DI-5')? {\"value\": sensors[4].'DI-5'}: null", - "pathTarget": "c8y_UseCase4.BelegungssensorMitteLinks", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - }, - { - "pathSource": "$exists(sensors[5].'DI-6')? {\"value\": sensors[5].'DI-6'}: null", - "pathTarget": "c8y_UseCase4.BelegungssensorMitteMitte", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - }, - { - "pathSource": "$exists(sensors[6].'DI-7')? {\"value\": sensors[6].'DI-7'}: null", - "pathTarget": "c8y_UseCase4.BelegungssensorMitteRechts", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - }, - { - "pathSource": "$exists(sensors[7].'DI-8')? {\"value\": sensors[7].'DI-8'}: null", - "pathTarget": "c8y_UseCase4.BelegungssensorHintenLinks", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - }, - { - "pathSource": "$exists(sensors[8].'DI-9')? {\"value\": sensors[8].'DI-9'}: null", - "pathTarget": "c8y_UseCase4.BelegungssensorHintenMitte", - "repairStrategy": "REMOVE_IF_MISSING", - "expandArray": false - } - ], - "updateExistingDevice": false, - "lastUpdate": 1667026960183, - "mappingType": "JSON", - "name": "Mapping - 11", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "subscriptionTopic": "uc4", - "id": "8057072894", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "uc1", - "ident": "0345a02b-f7e5-4548-92a4-8390ca95e713", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "EVENT", - "source": "{\"deviceId\":\"863859042393327\",\"version\":\"1\",\"deviceType\":\"20\",\"deviceTimestamp\":\"1664964865345\",\"deviceStatus\":\"BTR\",\"temperature\":\"20\",\"batteryVoltage\":\"3012\",\"initializationStatus\":\"2\",\"batteryAlarmStatus\":\"2\",\"temperatureAlarmStatus\":\"1\",\"spillAlarmStatus\":\"1\",\"connectionInfosMcc\":\"262\",\"connectionInfosMnc\":\"01\",\"connectionInfosChannelId\":\"1F00906\",\"connectionInfosTac\":\"D2FA\",\"connectionInfosBand\":\"LTE BAND 8\",\"connectionInfosBandTec\":\"NBIoT\",\"signalStrength\":\"-101\",\"telegramNumber\":\"183\"}", - "externalIdType": "c8y_Serial", - "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"Neuer Status vom Ger\u00e4t.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"zustand\",\"status\":\"\"}", - "templateTopic": "uc1", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "deviceId", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$fromMillis($number(deviceTimestamp))", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "deviceStatus", - "pathTarget": "status", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$join([\"Neuer Status vom Ger\u00e4t: \",deviceStatus])", - "pathTarget": "text", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "lastUpdate": 1665578792958, - "mappingType": "JSON", - "name": "Mapping - 12", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "subscriptionTopic": "uc1", - "id": "2257070632", - "direction": "INBOUND" - }, - { - "snoopStatus": "STARTED", - "extension": null, - "templateTopicSample": "binary/berlin_01", - "ident": "5c5d2ea9-b0ce-4237-ad23-be5b393ca14c", - "tested": false, - "mapDeviceIdentifier": true, - "active": false, - "autoAckOperation": true, - "targetAPI": "EVENT", - "source": "{}", - "target": "{\"c8y_TemperatureMeasurement\":{\"T\":{\"value\":110,\"unit\":\"C\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_TemperatureMeasurement\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "binary/+", - "qos": "AT_LEAST_ONCE", - "substitutions": [], - "updateExistingDevice": false, - "mappingType": "GENERIC_BINARY", - "lastUpdate": 1669563064866, - "name": "Mapping - 13", - "snoopedTemplates": [ - "{\"message\":\"5a75207370c3a47420303821\"}", - "{\"message\":\"5a75207370c3a47420303921\"}", - "{\"message\":\"5a75207370c3a47420303921\"}", - "{\"message\":\"5a75207370c3a47420313921\"}" - ], - "createNonExistingDevice": false, - "id": "9557072895", - "subscriptionTopic": "binary/+", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "operation/berlin_01", - "ident": "ef19e1db-fd9a-481c-aa83-ee000eb2ed5e", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "OPERATION", - "source": "{\"text\":\"Special operation\"}", - "target": "{\"deviceId\":\"909090\",\"description\":\"New camera operation!\",\"type\":\"maintenance_operation\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "operation/+", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "_TOPIC_LEVEL_[1]", - "pathTarget": "deviceId", - "repairStrategy": "DEFAULT" - }, - { - "pathSource": "$join([text,\"_\",$now()])", - "pathTarget": "description", - "repairStrategy": "DEFAULT" - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1667293150214, - "name": "Mapping - 14", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "3857069775", - "subscriptionTopic": "operation/+", - "direction": "INBOUND" - }, - { - "snoopStatus": "STOPPED", - "templateTopicSample": "binaryEvent/berlin_01", - "ident": "df794b94-7921-42de-b612-aa7951b1410b", - "tested": true, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "EVENT", - "source": "{\"message\":\"5a75207370c3a47420303821\"}", - "externalIdType": "c8y_Serial", - "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\"}", - "templateTopic": "binaryEvent/+", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "\"Temp: \"&$parseInteger($string(\"0x\"&$substring(message,0,2)),\"0\")&\" C\"", - "pathTarget": "text", - "repairStrategy": "DEFAULT" - }, - { - "pathSource": "_TOPIC_LEVEL_[1]", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT" - }, - { - "pathSource": "$now()", - "pathTarget": "time", - "repairStrategy": "DEFAULT" - } - ], - "updateExistingDevice": false, - "lastUpdate": 1667307859886, - "mappingType": "GENERIC_BINARY", - "name": "Mapping - 15", - "snoopedTemplates": [ - "{\"message\":\"5a75207370c3a47420303821\"}", - "{\"message\":\"5a75207370c3a47420303921\"}", - "{\"message\":\"5a75207370c3a47420303921\"}", - "{\"message\":\"5a75207370c3a47420313921\"}" - ], - "createNonExistingDevice": false, - "subscriptionTopic": "binaryEvent/+", - "id": "3657069776", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "simple/painter_pro_01", - "ident": "5bc0dabd-b223-4bce-97f7-876774a88a04", - "tested": false, - "mapDeviceIdentifier": true, - "active": false, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{\"paint\":1010,\"temp\":50}", - "target": "{\"c8y_TemperatureMeasurement\":{\"T\":{\"value\":110,\"unit\":\"C\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_TemperatureMeasurement\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "simple/+", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "temp", - "pathTarget": "c8y_TemperatureMeasurement.T.value", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "_TOPIC_LEVEL_[1]", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1689223294355, - "name": "Mapping - 16", - "snoopedTemplates": [], - "createNonExistingDevice": false, - "id": "7157071509", - "subscriptionTopic": "simple/#", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "device/update/berlin_01", - "ident": "4e62d9df-7eb0-4ee5-92f6-8a7a93cbd99b", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "INVENTORY", - "source": "{\"customType\":\"type_Overnight\"}", - "target": "{\"type\":\"type\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "device/update/+", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "_TOPIC_LEVEL_[2]", - "pathTarget": "_DEVICE_IDENT_", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "customType", - "pathTarget": "type", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": true, - "mappingType": "JSON", - "lastUpdate": 1667839346115, - "name": "Mapping - 17", - "snoopedTemplates": [], - "createNonExistingDevice": false, - "id": "4257072086", - "subscriptionTopic": "device/update/+", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "protobuf/measurement", - "ident": "7b97922b-7229-4620-bc7c-19cf55f1b5f3", - "tested": false, - "mapDeviceIdentifier": true, - "active": false, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{}", - "target": "{\"c8y_GenericMeasurement\":{\"Module\":{\"value\":110,\"unit\":\"l\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_GenericMeasurement_type\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "protobuf/measurement", - "qos": "AT_LEAST_ONCE", - "substitutions": [], - "updateExistingDevice": false, - "mappingType": "PROTOBUF_STATIC", - "lastUpdate": 1689233695678, - "name": "Mapping - 18", - "snoopedTemplates": [], - "createNonExistingDevice": false, - "id": "3757070633", - "subscriptionTopic": "protobuf/measurement", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "extension": { - "loaded": false, - "name": "mqtt-mapping-extension", - "event": "CustomEvent" - }, - "templateTopicSample": "protobuf/event", - "ident": "93c93bb2-2ea3-4e7b-9f36-3b4a028ccc7b", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "EVENT", - "source": "{}", - "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "protobuf/event", - "qos": "AT_LEAST_ONCE", - "substitutions": [], - "updateExistingDevice": false, - "mappingType": "PROCESSOR_EXTENSION", - "lastUpdate": 1688757019211, - "name": "Mapping - 19", - "snoopedTemplates": [], - "createNonExistingDevice": false, - "id": "1457072087", - "subscriptionTopic": "protobuf/event", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "panel", - "ident": "a01a32d1-5624-4ee3-b40d-e2f58eb4e0b9", - "tested": false, - "mapDeviceIdentifier": true, - "active": false, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{\"deviceId\":\"863859042393327\",\"version\":\"1\",\"deviceType\":\"20\",\"deviceTimestamp\":\"1665473038000\",\"deviceStatus\":\"BTR\",\"temperature\":90}", - "target": "{\"c8y_TemperatureMeasurement\":{\"T\":{\"value\":110,\"unit\":\"C\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_TemperatureMeasurement\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "panel", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "deviceId", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$number(deviceTimestamp)~>$fromMillis()", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "temperature", - "pathTarget": "c8y_TemperatureMeasurement.T.value", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1688655410990, - "name": "Mapping - 20", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "9757072088", - "subscriptionTopic": "panel", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "panel", - "ident": "cb008729-93ed-4156-9e4f-7dc9d7f09f04", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "EVENT", - "source": "{\"deviceId\":\"863859042393327\",\"version\":\"1\",\"deviceType\":\"20\",\"deviceTimestamp\":\"1665473038000\",\"deviceStatus\":\"BTR\",\"temperature\":90}", - "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "panel", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "deviceId", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$now()", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "'New device status: ' & deviceStatus & '!'", - "pathTarget": "text", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1669281630110, - "name": "Mapping - 21", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "1457070634", - "subscriptionTopic": "panel", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "panel", - "ident": "1ac5ebc5-5ab1-4a8d-8f01-8de792aadd57", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "EVENT", - "source": "{\"deviceId\":\"863859042393327\",\"version\":\"1\",\"deviceType\":\"20\",\"deviceTimestamp\":\"1665473038000\",\"deviceStatus\":\"BTR\",\"temperature\":90}", - "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "panel", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "deviceId", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$now()", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "'New device status: ' & deviceStatus & '!'", - "pathTarget": "text", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1669530759553, - "name": "Mapping - 22", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "1357072089", - "subscriptionTopic": "panel", - "direction": "INBOUND" - }, - { - "templateTopicSample": "evt/outbound/berlin_01", - "ident": "7eaad46b-6e2e-47b0-ad96-73f042d4945d", - "tested": false, - "autoAckOperation": true, - "source": "{\"source\":{\"id\":\"38268445\"},\"type\":\"c8y_BusEvent\",\"text\":\"Bus was stopped\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"bus_event\":\"stop_event\"}", - "externalIdType": "c8y_Serial", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "source.id", - "pathTarget": "_TOPIC_LEVEL_[2]", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "type", - "pathTarget": "eventType", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "$now()", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "bus_event", - "pathTarget": "bus_event", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "source.id", - "pathTarget": "deviceId", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "snoopedTemplates": [], - "createNonExistingDevice": false, - "id": "2157069777", - "subscriptionTopic": "", - "direction": "OUTBOUND", - "snoopStatus": "NONE", - "mapDeviceIdentifier": true, - "active": false, - "targetAPI": "EVENT", - "filterOutbound": "bus_event", - "publishTopic": "evt/outbound/#", - "target": "{\"deviceId\":\"909090\",\"description\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"eventType\":\"TestEvent\",\"bus_event\":\"stop_event\",\"_TOPIC_LEVEL_\":[\"evt\",\"outbound\",\"berlin_01\"]}", - "templateTopic": "evt/outbound/+", - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1690385612576, - "name": "Mapping - 23" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "flexM/berlin_01/gazoline", - "ident": "a8dfc9d7-65f6-4e43-b1db-3029b7efe236", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{\"Measurementname\":\"Airsensor\",\"Seriesname\":\"Humidity\",\"value\":10,\"unit\":\"%\"}", - "target": "{\"Airsensor\":\"dummy\",\"Liquidsensor\":\"dummy\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_measurementtype\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "flexM/+/gazoline", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "_TOPIC_LEVEL_[1]", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "Measurementname & \"_type\"", - "pathTarget": "type", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "Measurementname = \"Airsensor\" ? {Seriesname:{\"value\": value, \"unit\": unit}} : null", - "pathTarget": "Airsensor", - "repairStrategy": "REMOVE_IF_NULL", - "expandArray": false - }, - { - "pathSource": "Measurementname = \"Liquidsensor\" ? {Seriesname:{\"value\": value, \"unit\": unit}} : null", - "pathTarget": "Liquidsensor", - "repairStrategy": "REMOVE_IF_NULL", - "expandArray": false - }, - { - "pathSource": "$now()", - "pathTarget": "time", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1689013437492, - "name": "Mapping - 24", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "3757096788", - "subscriptionTopic": "flexM/#", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "templateTopicSample": "alarm/tires", - "ident": "3612278e-be55-4531-a878-03563ddd3f3b", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "ALARM", - "source": "{\"msg_type\":\"c8y_FlatTireAlarm\",\"tx\":\"Left rear tire loses air!\",\"bus_id\":\"berlin_01\"}", - "target": "{\"source\":{\"id\":\"909090\"},\"type\":\"c8y_FlatTireAlarm\",\"text\":\"Left rear tire loses air!\",\"severity\":\"MAJOR\",\"status\":\"ACTIVE\",\"time\":\"2022-03-19T12:03:27.845Z\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "alarm/tires", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "bus_id", - "pathTarget": "source.id", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "msg_type", - "pathTarget": "type", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "tx", - "pathTarget": "text", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1689016820070, - "name": "Mapping - 25", - "snoopedTemplates": [], - "createNonExistingDevice": true, - "id": "1757101144", - "subscriptionTopic": "alarm/tires", - "direction": "INBOUND" - }, - { - "snoopStatus": "NONE", - "extension": { - "loaded": false, - "name": "mqtt-mapping-extension", - "event": "CustomMeasurement" - }, - "templateTopicSample": "measurementExt", - "ident": "464f3925-883c-41ee-b885-f39cc338202b", - "tested": false, - "mapDeviceIdentifier": true, - "active": true, - "autoAckOperation": true, - "targetAPI": "MEASUREMENT", - "source": "{}", - "target": "{\"source\":{\"id\":\"909090\"},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_Temperature\",\"c8y_Temperature\":\"dummy\",\"c8y_Fragment_to_remove\":\"remove_me\"}", - "externalIdType": "c8y_Serial", - "templateTopic": "measurementExt", - "qos": "AT_LEAST_ONCE", - "substitutions": [], - "updateExistingDevice": false, - "mappingType": "PROCESSOR_EXTENSION", - "lastUpdate": 1690318558279, - "name": "Mapping - 26", - "snoopedTemplates": [], - "createNonExistingDevice": false, - "id": "4857522418", - "subscriptionTopic": "measurementExt", - "direction": "INBOUND" - }, - { - "templateTopicSample": "opp/outbound/berlin_01", - "ident": "5a2665a2-60c4-449e-a041-e343db9c3f57", - "tested": false, - "autoAckOperation": true, - "source": "{\"deviceId\":\"909090\",\"bus_opp\":\"New engine restart operation!\"}", - "externalIdType": "c8y_Serial", - "qos": "AT_LEAST_ONCE", - "substitutions": [ - { - "pathSource": "deviceId", - "pathTarget": "_TOPIC_LEVEL_[2]", - "repairStrategy": "DEFAULT", - "expandArray": false - }, - { - "pathSource": "bus_opp", - "pathTarget": "decription", - "repairStrategy": "DEFAULT", - "expandArray": false - } - ], - "snoopedTemplates": [], - "createNonExistingDevice": false, - "id": "2558069177", - "subscriptionTopic": "", - "direction": "OUTBOUND", - "snoopStatus": "NONE", - "mapDeviceIdentifier": true, - "active": false, - "targetAPI": "OPERATION", - "filterOutbound": "bus_opp", - "publishTopic": "opp/outbound/#", - "target": "{\"deviceId\":\"909090\",\"decription\":\"dummy operation!\",\"type\":\"bus_operation\",\"_TOPIC_LEVEL_\":[\"opp\",\"outbound\",\"berlin_01\"]}", - "templateTopic": "", - "updateExistingDevice": false, - "mappingType": "JSON", - "lastUpdate": 1690443835433, - "name": "Mapping - 27" - } -] \ No newline at end of file diff --git a/resources/script/mapping/sampleMapping/sampleMappings_08.json b/resources/script/mapping/sampleMapping/sampleMappings_08.json new file mode 100644 index 00000000..a952b382 --- /dev/null +++ b/resources/script/mapping/sampleMapping/sampleMappings_08.json @@ -0,0 +1,1017 @@ +[ + { + "snoopStatus": "NONE", + "templateTopicSample": "/plant1/line1/device1_measure1_Type", + "ident": "627EA012-9D07-4E60-B0AC-0D830C30F0E3", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "MEASUREMENT", + "source": "{\"value\":100}", + "target": "{\"measure1_Type\":{\"V\":{\"value\":110,\"unit\":\"C\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_TemperatureMeasurement\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "/plant1/+/+", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": false, + "pathSource": "_TOPIC_LEVEL_[0]&\"_\"&_TOPIC_LEVEL_[1]&\"_\"&$substringBefore(_TOPIC_LEVEL_[2],\"_\")", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "$substringAfter(_TOPIC_LEVEL_[2],\"_\")", + "pathTarget": "type", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "$now()", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "value", + "pathTarget": "measure1_Type.V.value", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1697997974250, + "name": "Mapping - 1", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "6257070629", + "subscriptionTopic": "/plant1/#", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "devices/device_best_01", + "ident": "05241eba-e0c5-4c77-a723-15511dee8709", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "MEASUREMENT", + "source": "{\"mea\":[{\"tid\":\"uuid_01\",\"psid\":\"Crest\",\"devicePath\":\"path01_80_X03_VVB001StatusB_Crest\",\"values\":[{\"value\":4.6,\"timestamp\":1648562285347}]},{\"tid\":\"uuid_02\",\"psid\":\"Crest\",\"devicePath\":\"path01_80_X03_VVB001StatusB_Crest\",\"values\":[{\"value\":5.6,\"timestamp\":1648563285347}]}]}", + "target": "{\"c8y_ProcessLoadMeasurement\":{\"L\":{\"value\":110,\"unit\":\"%\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_ProcessLoadMeasurement\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "devices/+", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": false, + "pathSource": "mea.values[0].value", + "pathTarget": "c8y_ProcessLoadMeasurement.L.value", + "repairStrategy": "DEFAULT", + "expandArray": true + }, + { + "resolve2ExternalId": false, + "pathSource": "$map($map(mea.values[0].timestamp, $number), function($v, $i, $a) { $fromMillis($v) })", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": true + }, + { + "resolve2ExternalId": false, + "pathSource": "_TOPIC_LEVEL_[1]", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1697998478652, + "name": "Mapping - 2", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "3357069773", + "subscriptionTopic": "devices/#", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "extension": null, + "templateTopicSample": "device/express/berlin_01", + "ident": "38c5ebbd-990c-4eeb-b556-75109b37c904", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "INVENTORY", + "source": "{\"line\":\"Bus-Berlin-Rom\",\"operator\":\"EuroBus\",\"customFragment\":{\"customFragmentValue\":\"Express\"},\"capacity\":64,\"customArray\":[\"ArrayValue1\",\"ArrayValue2\"],\"customType\":\"type_International\"}", + "target": "{\"c8y_IsDevice\":{},\"name\":\"Vibration Sensor\",\"type\":\"maker_Vibration_Sensor\",\"capacity\":77}", + "externalIdType": "c8y_Serial", + "templateTopic": "device/express/+", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "pathSource": "_TOPIC_LEVEL_[2]", + "pathTarget": "_DEVICE_IDENT_", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "capacity", + "pathTarget": "capacity", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "customType", + "pathTarget": "type", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "operator&\"-\"&line", + "pathTarget": "name", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1669530606363, + "name": "Mapping - 3", + "snoopedTemplates": [], + "createNonExistingDevice": false, + "id": "3157072891", + "subscriptionTopic": "device/#", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "event/berlin_01", + "ident": "9109c667-16a3-486f-babf-9d01afdf1d2b", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "EVENT", + "source": "{\"msg_type\":\"c8y_BusStopEvent\",\"txt\":\"Bus stopped at petrol station today!\",\"td\":\"2022-09-08T16:21:53.389+02:00\",\"ts\":\"1665473038000\"}", + "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "event/+", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": false, + "pathSource": "_TOPIC_LEVEL_[1]", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "txt", + "pathTarget": "text", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "msg_type", + "pathTarget": "type", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "$now()", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1693234426310, + "name": "Mapping - 4", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "4357071507", + "subscriptionTopic": "event/#", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "measurement/berlin_01/gazoline", + "ident": "2b295739-c1c4-4c2c-ae9e-2f04dc8313f6", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "MEASUREMENT", + "source": "{\"fuel\":65,\"ts\":\"2022-08-05T00:14:49.389+02:00\",\"mea\":\"c8y_FuelMeasurement\"}", + "externalIdType": "c8y_Serial", + "target": "{\"c8y_FuelMeasurement\":{\"Tank\":{\"value\":110,\"unit\":\"l\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_FuelMeasurement\"}", + "templateTopic": "measurement/+/gazoline", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "pathSource": "_TOPIC_LEVEL_[1]", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "mea", + "pathTarget": "type", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "$now()", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "fuel*3.78541", + "pathTarget": "c8y_FuelMeasurement.Tank.value", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "lastUpdate": 1667758218993, + "mappingType": "JSON", + "name": "Mapping - 5", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "subscriptionTopic": "measurement/#", + "id": "1657071508", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "multiarray/devices", + "ident": "e87a10ad-c223-4bd7-bd91-9df23e2bd3cf", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "INVENTORY", + "source": "{\"device\":[\"d1_id\",\"d2_id\"],\"types\":{\"type_A\":\"type_A\",\"type_B\":\"type_B\"},\"used_name\":[\"Pressure_d1\",\"Pressure_d2\"]}", + "target": "{\"c8y_IsDevice\":{},\"name\":\"Vibration Sensor\",\"type\":\"maker_Vibration_Sensor\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "multiarray/devices", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": false, + "pathSource": "device", + "pathTarget": "_DEVICE_IDENT_", + "repairStrategy": "DEFAULT", + "expandArray": true + }, + { + "resolve2ExternalId": false, + "pathSource": "types.type_A", + "pathTarget": "type", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "$map(used_name, function($v, $i, $a) { $contains($v,'d1') ? $join(['Special_i0', $string($i)]) : $join([$string($v), $string($i)]) } )", + "pathTarget": "name", + "repairStrategy": "DEFAULT", + "expandArray": true + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1693233101650, + "name": "Mapping - 6", + "snoopedTemplates": [], + "createNonExistingDevice": false, + "id": "9757072892", + "subscriptionTopic": "multiarray/devices", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "arrayType/devices", + "ident": "c35424fc-aa6e-42f9-8434-66444e68d2aa", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "MEASUREMENT", + "source": "[{\"tid\":\"5e4bac9f-b47a-499e-8601-68fc16a9847c\",\"psid\":\"Crest\",\"devicePath\":\"c2818e07-4c09-42f0-ba24-ddb712573ab5_AL1352_192168221_80_X03_VVB001StatusB_Crest\",\"processDataUnit\":\"20\",\"values\":[{\"value\":4.6,\"timestamp\":1648562285347}]},{\"tid\":\"5e4bac9f-b47a-499e-8601-68fc16a9847c\",\"psid\":\"Crest\",\"devicePath\":\"c2818e07-4c09-42f0-ba24-ddb712573ab5_AL1352_192168221_80_X03_VVB001StatusB_Crest\",\"processDataUnit\":\"20\",\"values\":[{\"value\":5.6,\"timestamp\":1648562285347}]}]", + "target": "{\"c8y_TemperatureMeasurement\":{\"T\":{\"value\":110,\"unit\":\"C\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_TemperatureMeasurement\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "arrayType/devices", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": false, + "pathSource": "$substringBefore($[0].devicePath,\"_AL\")", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "$[].values[0].value", + "pathTarget": "c8y_TemperatureMeasurement.T.value", + "repairStrategy": "DEFAULT", + "expandArray": true + }, + { + "resolve2ExternalId": false, + "pathSource": "$map($map($[].values[0].timestamp, $number), function($v) { $fromMillis($v)})", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": true + } + ], + "updateExistingDevice": true, + "mappingType": "JSON", + "lastUpdate": 1698005167190, + "name": "Mapping - 7", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "8357070630", + "subscriptionTopic": "arrayType/devices", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "eventObject/berlin_01", + "ident": "def10a25-d11e-4201-b454-48b54ba8cd5e", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "EVENT", + "source": "{\"msg_type\":\"c8y_BusStopEvent\",\"txt\":\"Bus stopped at petrol station today!\",\"td\":\"2022-09-08T16:21:53.389+02:00\",\"model\":{\"name\":\"MAN e-Bus\"}}", + "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\",\"customProperties\":\"dummy\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "eventObject/+", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "pathSource": "_TOPIC_LEVEL_[1]", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "txt", + "pathTarget": "text", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "msg_type", + "pathTarget": "type", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "$now()", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "model", + "pathTarget": "customProperties", + "repairStrategy": "REMOVE_IF_MISSING", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1688650122303, + "name": "Mapping - 8", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "3957072893", + "subscriptionTopic": "eventObject/#", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "measurementObject/berlin_01/gazoline", + "ident": "15699050-545d-41d1-a523-acf6de778739", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "MEASUREMENT", + "source": "{\"fuel\":65,\"oil\":4.5,\"ts\":\"2022-08-05T00:14:49.389+02:00\",\"mea\":\"c8y_FuelMeasurement\"}", + "target": "{\"c8y_FuelMeasurement\":{\"Tank\":{\"value\":110,\"unit\":\"l\"}},\"c8y_OilMeasurement\":\"Motor\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_FuelMeasurement\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "measurementObject/+/gazoline", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": false, + "pathSource": "_TOPIC_LEVEL_[1]", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "mea", + "pathTarget": "type", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "$now()", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "fuel*3.78541", + "pathTarget": "c8y_FuelMeasurement.Tank.value", + "repairStrategy": "REMOVE_IF_MISSING", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "(oil?{\"Motor\": {\"value\":oil, \"unit\":\"l\"}}:null)", + "pathTarget": "c8y_OilMeasurement", + "repairStrategy": "REMOVE_IF_MISSING", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1698005734224, + "name": "Mapping - 9", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "7757070631", + "subscriptionTopic": "measurementObject/#", + "direction": "INBOUND" + }, + { + "snoopStatus": "STARTED", + "templateTopicSample": "binary/berlin_01", + "ident": "5c5d2ea9-b0ce-4237-ad23-be5b393ca14c", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "EVENT", + "source": "{}", + "target": "{\"c8y_TemperatureMeasurement\":{\"T\":{\"value\":110,\"unit\":\"C\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_TemperatureMeasurement\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "binary/+", + "qos": "AT_LEAST_ONCE", + "substitutions": [], + "updateExistingDevice": false, + "mappingType": "GENERIC_BINARY", + "lastUpdate": 1698005911395, + "name": "Mapping - 13", + "snoopedTemplates": [ + "{\"message\":\"57652077696c6c20616c77617973206170707265636961746520746865206e6578742072656c656173652031302e313721\"}", + "{\"message\":\"57652063616e2074727920746f20636f6e76657274207468697320207465787420746f2062696e6172792068657821\"}", + "{\"message\":\"35373635323036333631366532303734373237393230373436663230363336663665373636353732373432303734363836393733323032303734363537383734323037343666323036323639366536313732373932303638363537383231\"}", + "{\"message\":\"5a75207370c3a47420303821\"}" + ], + "createNonExistingDevice": false, + "id": "9557072895", + "subscriptionTopic": "binary/+", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "operation/berlin_01", + "ident": "ef19e1db-fd9a-481c-aa83-ee000eb2ed5e", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "OPERATION", + "source": "{\"text\":\"Special operation\"}", + "target": "{\"deviceId\":\"909090\",\"description\":\"New camera operation!\",\"type\":\"maintenance_operation\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "operation/+", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": false, + "pathSource": "_TOPIC_LEVEL_[1]", + "pathTarget": "deviceId", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "$join([text,\"_\",$now()])", + "pathTarget": "description", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1698009557391, + "name": "Mapping - 14", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "3857069775", + "subscriptionTopic": "operation/+", + "direction": "INBOUND" + }, + { + "snoopStatus": "STOPPED", + "templateTopicSample": "binaryEvent/berlin_01", + "ident": "df794b94-7921-42de-b612-aa7951b1410b", + "tested": true, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "EVENT", + "source": "{\"message\":\"5a75207370c3a47420303821\"}", + "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "binaryEvent/+", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": false, + "pathSource": "\"Temp: \"&$parseInteger($string(\"0x\"&$substring(message,0,2)),\"0\")&\" C\"", + "pathTarget": "text", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "_TOPIC_LEVEL_[1]", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "$now()", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "GENERIC_BINARY", + "lastUpdate": 1698007842317, + "name": "Mapping - 15", + "snoopedTemplates": [ + "{\"message\":\"5a75207370c3a47420303821\"}", + "{\"message\":\"5a75207370c3a47420303921\"}", + "{\"message\":\"5a75207370c3a47420303921\"}", + "{\"message\":\"5a75207370c3a47420313921\"}" + ], + "createNonExistingDevice": false, + "id": "3657069776", + "subscriptionTopic": "binaryEvent/+", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "device/update/berlin_01", + "ident": "4e62d9df-7eb0-4ee5-92f6-8a7a93cbd99b", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "INVENTORY", + "source": "{\"customType\":\"type_Overnight\"}", + "target": "{\"type\":\"type\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "device/update/+", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "pathSource": "_TOPIC_LEVEL_[2]", + "pathTarget": "_DEVICE_IDENT_", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "customType", + "pathTarget": "type", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": true, + "mappingType": "JSON", + "lastUpdate": 1667839346115, + "name": "Mapping - 17", + "snoopedTemplates": [], + "createNonExistingDevice": false, + "id": "4257072086", + "subscriptionTopic": "device/update/+", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "protobuf/measurement", + "ident": "7b97922b-7229-4620-bc7c-19cf55f1b5f3", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "MEASUREMENT", + "source": "{}", + "target": "{\"c8y_GenericMeasurement\":{\"Module\":{\"value\":110,\"unit\":\"l\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_GenericMeasurement_type\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "protobuf/measurement", + "qos": "AT_LEAST_ONCE", + "substitutions": [], + "updateExistingDevice": false, + "mappingType": "PROTOBUF_STATIC", + "lastUpdate": 1698010580152, + "name": "Mapping - 18", + "snoopedTemplates": [], + "createNonExistingDevice": false, + "id": "3757070633", + "subscriptionTopic": "protobuf/measurement", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "extension": { + "loaded": false, + "name": "mqtt-mapping-extension", + "event": "CustomEvent" + }, + "templateTopicSample": "protobuf/event", + "ident": "93c93bb2-2ea3-4e7b-9f36-3b4a028ccc7b", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "EVENT", + "source": "{}", + "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "protobuf/event", + "qos": "AT_LEAST_ONCE", + "substitutions": [], + "updateExistingDevice": false, + "mappingType": "PROCESSOR_EXTENSION", + "lastUpdate": 1698010885933, + "name": "Mapping - 19", + "snoopedTemplates": [], + "createNonExistingDevice": false, + "id": "1457072087", + "subscriptionTopic": "protobuf/event", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "panel", + "ident": "a01a32d1-5624-4ee3-b40d-e2f58eb4e0b9", + "tested": false, + "mapDeviceIdentifier": true, + "active": false, + "autoAckOperation": true, + "targetAPI": "MEASUREMENT", + "source": "{\"deviceId\":\"863859042393327\",\"version\":\"1\",\"deviceType\":\"20\",\"deviceTimestamp\":\"1665473038000\",\"deviceStatus\":\"BTR\",\"temperature\":90}", + "target": "{\"c8y_TemperatureMeasurement\":{\"T\":{\"value\":110,\"unit\":\"C\"}},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_TemperatureMeasurement\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "panel", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "pathSource": "deviceId", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "$number(deviceTimestamp)~>$fromMillis()", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "temperature", + "pathTarget": "c8y_TemperatureMeasurement.T.value", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1688655410990, + "name": "Mapping - 20", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "9757072088", + "subscriptionTopic": "panel", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "panel", + "ident": "cb008729-93ed-4156-9e4f-7dc9d7f09f04", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "EVENT", + "source": "{\"deviceId\":\"863859042393327\",\"version\":\"1\",\"deviceType\":\"20\",\"deviceTimestamp\":\"1665473038000\",\"deviceStatus\":\"BTR\",\"temperature\":90}", + "target": "{\"source\":{\"id\":\"909090\"},\"text\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_TestEvent\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "panel", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "pathSource": "deviceId", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "$now()", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "'New device status: ' & deviceStatus & '!'", + "pathTarget": "text", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1669281630110, + "name": "Mapping - 21", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "1457070634", + "subscriptionTopic": "panel", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "flexM/berlin_01/gazoline", + "ident": "a8dfc9d7-65f6-4e43-b1db-3029b7efe236", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "MEASUREMENT", + "source": "{\"Measurementname\":\"Airsensor\",\"Seriesname\":\"Humidity\",\"value\":10,\"unit\":\"%\"}", + "target": "{\"Airsensor\":\"dummy\",\"Liquidsensor\":\"dummy\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"source\":{\"id\":\"909090\"},\"type\":\"c8y_measurementtype\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "flexM/+/gazoline", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "pathSource": "_TOPIC_LEVEL_[1]", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "Measurementname & \"_type\"", + "pathTarget": "type", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "pathSource": "Measurementname = \"Airsensor\" ? {Seriesname:{\"value\": value, \"unit\": unit}} : null", + "pathTarget": "Airsensor", + "repairStrategy": "REMOVE_IF_NULL", + "expandArray": false + }, + { + "pathSource": "Measurementname = \"Liquidsensor\" ? {Seriesname:{\"value\": value, \"unit\": unit}} : null", + "pathTarget": "Liquidsensor", + "repairStrategy": "REMOVE_IF_NULL", + "expandArray": false + }, + { + "pathSource": "$now()", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1689013437492, + "name": "Mapping - 23", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "3757096788", + "subscriptionTopic": "flexM/#", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "templateTopicSample": "alarm/tires", + "ident": "3612278e-be55-4531-a878-03563ddd3f3b", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "ALARM", + "source": "{\"msg_type\":\"c8y_FlatTireAlarm\",\"tx\":\"Left rear tire loses air!\",\"bus_id\":\"berlin_01\"}", + "target": "{\"source\":{\"id\":\"909090\"},\"type\":\"c8y_FlatTireAlarm\",\"text\":\"Left rear tire loses air!\",\"severity\":\"MAJOR\",\"status\":\"ACTIVE\",\"time\":\"2022-03-19T12:03:27.845Z\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "alarm/tires", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": false, + "pathSource": "bus_id", + "pathTarget": "source.id", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "msg_type", + "pathTarget": "type", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "tx", + "pathTarget": "text", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1698050412756, + "name": "Mapping - 24", + "snoopedTemplates": [], + "createNonExistingDevice": true, + "id": "1757101144", + "subscriptionTopic": "alarm/tires", + "direction": "INBOUND" + }, + { + "snoopStatus": "NONE", + "extension": { + "loaded": false, + "name": "mqtt-mapping-extension", + "event": "CustomMeasurement" + }, + "templateTopicSample": "measurementExt", + "ident": "464f3925-883c-41ee-b885-f39cc338202b", + "tested": false, + "mapDeviceIdentifier": true, + "active": true, + "autoAckOperation": true, + "targetAPI": "MEASUREMENT", + "source": "{}", + "target": "{\"source\":{\"id\":\"909090\"},\"time\":\"2022-08-05T00:14:49.389+02:00\",\"type\":\"c8y_Temperature\",\"c8y_Temperature\":\"dummy\",\"c8y_Fragment_to_remove\":\"remove_me\"}", + "externalIdType": "c8y_Serial", + "templateTopic": "measurementExt", + "qos": "AT_LEAST_ONCE", + "substitutions": [], + "updateExistingDevice": false, + "mappingType": "PROCESSOR_EXTENSION", + "lastUpdate": 1690318558279, + "name": "Mapping - 25", + "snoopedTemplates": [], + "createNonExistingDevice": false, + "id": "4857522418", + "subscriptionTopic": "measurementExt", + "direction": "INBOUND" + }, + { + "templateTopicSample": "evt/outbound/berlin_01", + "ident": "7eaad46b-6e2e-47b0-ad96-73f042d4945d", + "tested": false, + "autoAckOperation": true, + "source": "{\"source\":{\"id\":\"2557498674\"},\"type\":\"c8y_BusEvent\",\"text\":\"Bus was stopped\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"bus_event\":\"stop_event\"}", + "externalIdType": "c8y_Serial", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": true, + "pathSource": "source.id", + "pathTarget": "_TOPIC_LEVEL_[2]", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "type", + "pathTarget": "eventType", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "$now()", + "pathTarget": "time", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "bus_event", + "pathTarget": "bus_event", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "source.id", + "pathTarget": "deviceId", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "snoopedTemplates": [], + "createNonExistingDevice": false, + "id": "2157069777", + "subscriptionTopic": "", + "direction": "OUTBOUND", + "snoopStatus": "NONE", + "mapDeviceIdentifier": true, + "active": true, + "targetAPI": "EVENT", + "filterOutbound": "bus_event", + "publishTopic": "evt/outbound/#", + "target": "{\"deviceId\":\"909090\",\"description\":\"This is a new test event.\",\"time\":\"2022-08-05T00:14:49.389+02:00\",\"eventType\":\"TestEvent\",\"bus_event\":\"stop_event\",\"_TOPIC_LEVEL_\":[\"evt\",\"outbound\",\"berlin_01\"]}", + "templateTopic": "evt/outbound/+", + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1698055678488, + "name": "Mapping - 51" + }, + { + "templateTopicSample": "opp/outbound/berlin_01", + "ident": "5a2665a2-60c4-449e-a041-e343db9c3f57", + "tested": false, + "autoAckOperation": true, + "source": "{\"deviceId\":\"909090\",\"bus_opp\":\"New engine restart operation!\"}", + "externalIdType": "c8y_Serial", + "qos": "AT_LEAST_ONCE", + "substitutions": [ + { + "resolve2ExternalId": true, + "pathSource": "deviceId", + "pathTarget": "_TOPIC_LEVEL_[2]", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "bus_opp", + "pathTarget": "decription", + "repairStrategy": "DEFAULT", + "expandArray": false + }, + { + "resolve2ExternalId": false, + "pathSource": "deviceId", + "pathTarget": "c8y_Id", + "repairStrategy": "DEFAULT", + "expandArray": false + } + ], + "snoopedTemplates": [], + "createNonExistingDevice": false, + "id": "2558069177", + "subscriptionTopic": "", + "direction": "OUTBOUND", + "snoopStatus": "NONE", + "mapDeviceIdentifier": true, + "active": true, + "targetAPI": "OPERATION", + "filterOutbound": "bus_opp", + "publishTopic": "opp/outbound/#", + "target": "{\"c8y_Id\":\"909090\",\"decription\":\"dummy operation!\",\"type\":\"bus_operation\",\"_TOPIC_LEVEL_\":[\"opp\",\"outbound\",\"berlin_01\"]}", + "templateTopic": "", + "updateExistingDevice": false, + "mappingType": "JSON", + "lastUpdate": 1698057693638, + "name": "Mapping - 52" + } +] \ No newline at end of file