Skip to main content

GenerateDataPointMappingsNodeConfiguration

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Transform

Configuration for the GenerateDataPointMappings node.

The node deterministically generates DataPointMapping suggestion records by:

  1. Loading source containers (e.g. Loxone/Room) and target entities (e.g. EnergyIQ/Space).
  2. Matching containers to targets using an ordered list of strategies — first match wins.
  3. Traversing each matched container's hierarchy to reach control entities (e.g. Room → Category → Control via System/ParentChild).
  4. Evaluating GenerateDataPointMappingsNodeConfiguration.ControlMappingRules against each control + its state set, producing one suggestion entry per matched (rule, state) pair.

The output shape is identical to the AnthropicAiQuery suggestion array, so the downstream pipeline (GetOrCreate + CreateUpdateInfo + CreateAssociationUpdate) can consume both sources interchangeably.

public record GenerateDataPointMappingsNodeConfiguration : TargetPathNodeConfiguration, INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IEquatable<GenerateDataPointMappingsNodeConfiguration>

Inheritance Object → NodeConfiguration → TargetPathNodeConfiguration → GenerateDataPointMappingsNodeConfiguration
Implements INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IEquatable<GenerateDataPointMappingsNodeConfiguration>

Properties

SourceContainerCkTypeId

CkTypeId of the container entities on the source side (e.g. "Loxone/Room"). One container ≡ one target candidate.

public string SourceContainerCkTypeId { get; set; }

Property Value

String

SourceControlCkTypeId

CkTypeId of the leaf entities to be mapped (e.g. "Loxone/Control"). These are reached by walking the hierarchy from each matched container.

public string SourceControlCkTypeId { get; set; }

Property Value

String

SourceCategoryCkTypeId

Optional CkTypeId of an intermediate hierarchy level (e.g. "Loxone/Category"). When set, controls are reached via Container → Intermediate → Control. When null, controls are reached directly: Container → Control. Used for rules that reference categoryType / categoryName.

public string SourceCategoryCkTypeId { get; set; }

Property Value

String

HierarchyAssociationRoleId

AssociationRoleId used to traverse the source hierarchy (default System/ParentChild). The traversal direction is INBOUND from the container's perspective — i.e. children are entities pointing at the container with this role.

public string HierarchyAssociationRoleId { get; set; }

Property Value

String

TargetCkTypeId

CkTypeId of the target entities (e.g. "EnergyIQ/Space").

public string TargetCkTypeId { get; set; }

Property Value

String

StatesAttribute

Attribute names on the source control that hold a RecordArray of states. Each state record must expose GenerateDataPointMappingsNodeConfiguration.StateNameAttribute. Default "States" (Loxone convention).

public string StatesAttribute { get; set; }

Property Value

String

StateNameAttribute

Attribute name within a state record that holds the state name (e.g. "Name" → "tempActual"). Default "Name".

public string StateNameAttribute { get; set; }

Property Value

String

DefaultSourceAttributePath

Default sourceAttributePath emitted for rules that do not declare a stateName (single-state controls, e.g. Switch / InfoOnlyAnalog). Default "CurrentValue".

public string DefaultSourceAttributePath { get; set; }

Property Value

String

StatisticsTargetPath

Optional path under which the node emits a JSON summary of the matching result (matched / unmatched containers, rule counts). For diagnostics only.

public string StatisticsTargetPath { get; set; }

Property Value

String

ContainerMatchingStrategies

Container ↔ target matching strategies, evaluated in order. First match wins.

public ICollection<ContainerMatchingStrategyConfiguration> ContainerMatchingStrategies { get; set; }

Property Value

ICollection<ContainerMatchingStrategyConfiguration>

ControlMappingRules

Rules describing which control + state combinations produce which target attribute. Every rule whose ControlMappingRuleConfiguration.When matches a control produces one suggestion (or one per applicable state, if a stateName is set).

public ICollection<ControlMappingRuleConfiguration> ControlMappingRules { get; set; }

Property Value

ICollection<ControlMappingRuleConfiguration>

TargetPath

public string TargetPath { get; set; }

Property Value

String

TargetValueWriteMode

public TargetValueWriteModes TargetValueWriteMode { get; set; }

Property Value

TargetValueWriteModes

TargetValueKind

public ValueKinds TargetValueKind { get; set; }

Property Value

ValueKinds

DocumentMode

public DocumentModes DocumentMode { get; set; }

Property Value

DocumentModes

Description

public string Description { get; set; }

Property Value

String

Constructors

GenerateDataPointMappingsNodeConfiguration()

Caution

Constructors of types with required members are not supported in this version of your compiler.


public GenerateDataPointMappingsNodeConfiguration()