GenerateDataPointMappingsNodeConfiguration
Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Transform
Configuration for the GenerateDataPointMappings node.
The node deterministically generates DataPointMapping suggestion records by:
- Loading source containers (e.g. Loxone/Room) and target entities (e.g. EnergyIQ/Space).
- Matching containers to targets using an ordered list of strategies — first match wins.
- Traversing each matched container's hierarchy to reach control entities (e.g. Room → Category → Control via System/ParentChild).
- 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
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
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
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
TargetCkTypeId
CkTypeId of the target entities (e.g. "EnergyIQ/Space").
public string TargetCkTypeId { get; set; }
Property Value
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
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
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
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
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
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
Constructors
GenerateDataPointMappingsNodeConfiguration()
Caution
Constructors of types with required members are not supported in this version of your compiler.
public GenerateDataPointMappingsNodeConfiguration()