Skip to main content

AggregateStreamDataNodeConfiguration

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Extract

Configuration for the node that condenses archive columns into key figures over a time range — the sum of a month's energy, the maximum data quality in that month. Sibling of GetStreamData@1, which returns the rows themselves.

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

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

Properties

ArchiveRtId

Runtime id of the archive to read from. The archive must be activated.

public OctoObjectId ArchiveRtId { get; set; }

Property Value

OctoObjectId

Aggregations

The key figures to compute — at least one. The same column may appear several times with different functions.

public ICollection<AggregationColumnDto> Aggregations { get; set; }

Property Value

ICollection<AggregationColumnDto>

GroupBy

Columns to group by, e.g. "rtId" for one row per source entity. Leave empty for a single row covering everything the filters select. Names follow the result vocabulary, like AggregateStreamDataNodeConfiguration.FieldFilters.

public ICollection<string> GroupBy { get; set; }

Property Value

ICollection<String>

WellKnownNames

Restricts the aggregation to rows whose source entity carries one of these well-known names. A single name is matched with Equals, several with In.

public ICollection<string> WellKnownNames { get; set; }

Property Value

ICollection<String>

WellKnownNamesPath

Optional JSONPath to read the well-known names from the pipeline data instead of configuring them. Accepts a single value, an array, or a multi-match path. AggregateStreamDataNodeConfiguration.WellKnownNames takes precedence; a path resolving to nothing leaves the filter unset and logs a warning.

public string WellKnownNamesPath { get; set; }

Property Value

String

RtIds

Restricts the aggregation to these source entities. Runtime ids as strings — the same form the pipeline data carries them in.

public ICollection<string> RtIds { get; set; }

Property Value

ICollection<String>

RtIdsPath

Optional JSONPath to read the source entity ids from the pipeline data. Same semantics as AggregateStreamDataNodeConfiguration.WellKnownNamesPath; AggregateStreamDataNodeConfiguration.RtIds takes precedence.

public string RtIdsPath { get; set; }

Property Value

String

FieldFilters

Additional filters on the archive's columns, combined with AND. Names follow the result vocabulary: "Timestamp", "WindowStart" / "WindowEnd" on time-range and rollup archives, "WellKnownName", or any column the archive declares. An unknown name fails the node rather than being ignored — an ignored filter would widen the result and inflate the figures.

public ICollection<FieldFilterWithPathDto> FieldFilters { get; set; }

Property Value

ICollection<FieldFilterWithPathDto>

From

Start of the aggregated time range (UTC). Leaving it unset aggregates from the beginning of the archive. A value written without a time-zone offset ("2026-07-01T00:00:00") is read as UTC, not as the adapter host's local time.

public Nullable<DateTime> From { get; set; }

Property Value

Nullable<DateTime>

FromPath

Optional JSONPath to read the start of the range from the pipeline data, for ranges computed upstream instead of configured. AggregateStreamDataNodeConfiguration.From takes precedence. A path resolving to nothing leaves the boundary open and logs a warning; a present but non-date value fails the node.

public string FromPath { get; set; }

Property Value

String

To

End of the aggregated time range (UTC). Leaving it unset aggregates to the end of the archive. Same UTC contract as AggregateStreamDataNodeConfiguration.From.

public Nullable<DateTime> To { get; set; }

Property Value

Nullable<DateTime>

ToPath

Optional JSONPath to read the end of the range from the pipeline data. Same semantics as AggregateStreamDataNodeConfiguration.FromPath; AggregateStreamDataNodeConfiguration.To takes precedence.

public string ToPath { get; set; }

Property Value

String

RequireGapFree

Only aggregate when every source entity delivered data for the whole time range. An incomplete range would otherwise produce a figure that looks valid but is too low — a month missing two days still returns a sum. Requires a time range with both boundaries and an archive that stores row windows (time-range or rollup).

public bool RequireGapFree { get; set; }

Property Value

Boolean

ExpectedInterval

The interval the completeness check counts in, e.g. "00:15:00" for quarter-hourly data. Must be greater than zero when set. Defaults to the period declared on the archive. Only used together with AggregateStreamDataNodeConfiguration.RequireGapFree.

public Nullable<TimeSpan> ExpectedInterval { get; set; }

Property Value

Nullable<TimeSpan>

MaxGapScanRows

Safety cap on the rows the completeness check reads (default 200000). Exceeding it fails the node rather than judging completeness from a truncated scan. Must be greater than zero when set — use the largest possible integer to scan without a practical cap, not zero.

public Nullable<int> MaxGapScanRows { get; set; }

Property Value

Nullable<Int32>

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

AggregateStreamDataNodeConfiguration()

Caution

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


public AggregateStreamDataNodeConfiguration()