Using the Cumulocity Dynamic Data Mapper you are able to connect to almost
- any message broker.
- And map any payload received on a topic dynamically to the Cumulocity IoT
- Domain Model in a graphical editor.
+ any message broker and map any payload to Cumulocity format.
+ To do so you define a mapping in a intuitive graphical editor. During
+ operation, your custom payload is automatically converted
+ to align with the Cumulocity IoT Domain Model, ensuring seamless
+ integration and data flow.
The following links help you get started with the Dynamic Data Mapper:
@@ -55,7 +57,8 @@
connectors and mappings.
If you want to receive messages from an Mqtt broker (Cumulocity Mqtt
- Service, Hive MQ, mosquitto, ...) you use an inbound mapping.
+ Service, Hive MQ, mosquitto, ...) you use an inbound mapping.
+
The rules of the mapping are applied and result in an transformed payload
for any of the
>
- {{ 'How to define a mapping ...' | translate }}
+ {{ 'How to define a mapping?' | translate }}
@@ -144,7 +147,7 @@
- {{ 'How to define a substitution ...' | translate }}
+ {{ 'How to define a substitution?' | translate }}
@@ -187,22 +190,21 @@
- {{
- "How to you start when you don't know what your source payload looks like ..."
- | translate
- }}
+ {{ 'How to begin without knowing your source payload?' | translate }}
- If you don't know the payload of your device you start by snooping the
- payload as a first step.
- Snooping will record the messages and you can use these in the next step
- as source templates .
- When you select a mapping type you can enable snooping
- Enable snooping for this mapping.
- You start the stepper by clicking on Add mapping (Mapping ->
- Inbound Mapping -> Action Add mapping).
+ When dealing with an unknown device payload, the initial step is to
+ capture and analyze the incoming data.
+ This process, called snooping, records messages that can serve as source
+ templates for future mapping.
+ To activate snooping for a specific mapping, select the
+ Enable snooping for this mapping option when choosing a mapping
+ type. . You start the stepper by clicking on the actionAdd mapping
+ (Mapping -> Inbound Mapping -> Action Add mapping).
The stepper when snooping leads you through the two steps:
diff --git a/dynamic-mapping-ui/src/mapping/mapping.module.ts b/dynamic-mapping-ui/src/mapping/mapping.module.ts
index 35addf02..f5399cbb 100644
--- a/dynamic-mapping-ui/src/mapping/mapping.module.ts
+++ b/dynamic-mapping-ui/src/mapping/mapping.module.ts
@@ -46,7 +46,7 @@ import { FieldInputCustom } from './shared/formly/input-custom.type.component';
import { MessageField } from './shared/formly/message.type.component';
import { MappingStepperComponent } from './stepper-mapping/mapping-stepper.component';
import { SubstitutionRendererComponent } from './substitution/substitution-grid.component';
-import { MappingStepPropertiesComponent } from './step-topic/mapping-properties.component';
+import { MappingStepPropertiesComponent } from './step-property/mapping-properties.component';
import { MappingStepTestingComponent } from './step-testing/mapping-testing.component';
import { MappingSubscriptionComponent } from './subscription/mapping-subscription.component';
import { WrapperCustomFormField } from './shared/formly/custom-form-field.wrapper.component';
@@ -55,7 +55,10 @@ import { SnoopingStepperComponent } from './stepper-snooping/snooping-stepper.co
import { MappingConnectorComponent } from './step-connector/mapping-connector.component';
import { FORMLY_CONFIG } from '@ngx-formly/core';
import { FieldTextareaCustom } from './shared/formly/textarea.type.component';
-import { checkTopicsOutboundAreValid, checkTopicsInboundAreValid } from './shared/util';
+import {
+ checkTopicsOutboundAreValid,
+ checkTopicsInboundAreValid
+} from './shared/util';
import { NODE1 } from '../shared/model/util';
@NgModule({
@@ -86,7 +89,7 @@ import { NODE1 } from '../shared/model/util';
],
imports: [
CoreModule,
- CommonModule,
+ CommonModule,
AssetSelectorModule,
PopoverModule,
DynamicFormsModule,
diff --git a/dynamic-mapping-ui/src/mapping/step-topic/mapping-properties.component.html b/dynamic-mapping-ui/src/mapping/step-property/mapping-properties.component.html
similarity index 100%
rename from dynamic-mapping-ui/src/mapping/step-topic/mapping-properties.component.html
rename to dynamic-mapping-ui/src/mapping/step-property/mapping-properties.component.html
diff --git a/dynamic-mapping-ui/src/mapping/step-topic/mapping-properties.component.ts b/dynamic-mapping-ui/src/mapping/step-property/mapping-properties.component.ts
similarity index 100%
rename from dynamic-mapping-ui/src/mapping/step-topic/mapping-properties.component.ts
rename to dynamic-mapping-ui/src/mapping/step-property/mapping-properties.component.ts
diff --git a/dynamic-mapping-ui/src/mapping/stepper-mapping/mapping-stepper.component.html b/dynamic-mapping-ui/src/mapping/stepper-mapping/mapping-stepper.component.html
index d5e16dd7..10880010 100644
--- a/dynamic-mapping-ui/src/mapping/stepper-mapping/mapping-stepper.component.html
+++ b/dynamic-mapping-ui/src/mapping/stepper-mapping/mapping-stepper.component.html
@@ -589,8 +589,8 @@
>
-
-
-
-
- Target Result [{{
- substitutionModel.targetExpression?.resultType
- }}]
-
-
-
+
+
+ Target Result [{{
+ substitutionModel.targetExpression?.resultType
+ }}]
+
+