Zum Hauptinhalt springen

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​

Identity​

Identity this node runs as: Caller (default), ServiceAccount (the pipeline's service account with its full roles, even when a caller is present), or System (unfiltered, bypasses data permissions). A missing value resolves to Caller so existing pipelines are unchanged (AB#5127).

public NodeExecutionIdentity Identity { get; set; }

Property Value​

NodeExecutionIdentity

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>

DirectControlMappings​

Direct, non-container control→entity mappings. Unlike GenerateDataPointMappingsNodeConfiguration.ControlMappingRules (which require Container→Target matching plus per-control hierarchy traversal), these wire a source control identified by name directly to a target entity identified by name/rtId — for building- or area-level data points that do not live inside a matched container. Examples: Loxone energy Meter controls → EnergyIQ/Meter, or a single EnergyManager2 control → GridConnection + PhotovoltaicSystem + BatteryStorage (one entry per target). Each DirectStateMapping emits one suggestion; the output shape is identical to the rule path, so the same downstream consumes both.

public ICollection<DirectControlMappingConfiguration> DirectControlMappings { get; set; }

Property Value​

ICollection<DirectControlMappingConfiguration>

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()