Zum Hauptinhalt springen

PrepareMeterReadingsNodeConfiguration

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Transform

PrepareMeterReadings node configuration (AB#5637, requirements MTR-02..04). Validates readings reported for self-reported metering points and turns the accepted values into records that SaveTimeRangeSeriesInArchive@1 writes with the configuration of the allocation pipeline, unchanged. The node itself writes nothing.

public record PrepareMeterReadingsNodeConfiguration : NodeConfiguration, INodeConfiguration, IEquatable<NodeConfiguration>, IEquatable<PrepareMeterReadingsNodeConfiguration>

Inheritance Object → NodeConfiguration → PrepareMeterReadingsNodeConfiguration
Implements INodeConfiguration, IEquatable<NodeConfiguration>, IEquatable<PrepareMeterReadingsNodeConfiguration>

Remarks:

Input at PrepareMeterReadingsNodeConfiguration.ReadingsPath: an array of readings, each with meteringPointNumber, direction (consumption or production) and values, an array of from, to (ISO-8601) and kWh. Every value is checked on its own; valid values are accepted even when others are rejected. Per value codes: UNKNOWN_METERING_POINT, NOT_SELF_REPORTED, OFF_GRID, DUPLICATE_SLOT, OUT_OF_RANGE, IN_FUTURE, NOT_PARTICIPATING, DAY_FROZEN.

Records at PrepareMeterReadingsNodeConfiguration.TargetPath: one per metering point and register with MeteringPointRtId, MeteringPointNumber, MeterCode, QuantityUnit, CreationTime (now, so a later report wins through SourceDocumentDate), PeriodStart, PeriodEnd and EnergyQuantities (From, To, Quantity, Quality). Result at PrepareMeterReadingsNodeConfiguration.ResultTargetPath: status (ok, partial, error), message, accepted, rejected (reading, value, code, message) and frozenUntil.

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 (AB#5127).

public NodeExecutionIdentity Identity { get; set; }

Property Value​

NodeExecutionIdentity

MaxValues​

Maximum number of values in one request; more fails the whole request. Default 2880.

public int MaxValues { get; set; }

Property Value​

Int32

MaxKWh​

Largest accepted quantity of one slot in kWh. Default 1000.

public decimal MaxKWh { get; set; }

Property Value​

Decimal

FutureTolerance​

A value whose end lies more than this after now is rejected. Default 1 minute.

public TimeSpan FutureTolerance { get; set; }

Property Value​

TimeSpan

SlotLength​

Length of one slot; a value must start on this grid and last exactly this long. Default 15 minutes.

public TimeSpan SlotLength { get; set; }

Property Value​

TimeSpan

TimeZone​

Time zone the reporting days are cut in. Default Europe/Vienna.

public string TimeZone { get; set; }

Property Value​

String

CutOffDayOffset​

The cut-off of day D is local day D plus this many days at PrepareMeterReadingsNodeConfiguration.CutOffTime, as in AllocateCommunityEnergy@1. Default 1.

public int CutOffDayOffset { get; set; }

Property Value​

Int32

CutOffTime​

Local time of day of the cut-off. Default 06:00.

public TimeSpan CutOffTime { get; set; }

Property Value​

TimeSpan

CutOffTimePath​

Optional JSONPath overriding PrepareMeterReadingsNodeConfiguration.CutOffTime (for example $.communitySettings.Items[0].Attributes.AllocationCutOffTime); the value is HH:mm or HH:mm:ss, an empty value or a path that resolves to nothing keeps the configured time.

public string CutOffTimePath { get; set; }

Property Value​

String

ConsumerCkTypeId​

CkTypeId of the consumer metering points. Default EnergyCommunity/Consumer.

public string ConsumerCkTypeId { get; set; }

Property Value​

String

ProducerCkTypeId​

CkTypeId of the producer metering points. Default EnergyCommunity/Producer.

public string ProducerCkTypeId { get; set; }

Property Value​

String

MeteringPointCkTypeId​

CkTypeId of the base metering point type. Default Basic.Energy/MeteringPoint.

public string MeteringPointCkTypeId { get; set; }

Property Value​

String

EnergyMeasurementCkTypeId​

CkTypeId of the measurement anchors. Default Basic.Energy/EnergyMeasurement.

public string EnergyMeasurementCkTypeId { get; set; }

Property Value​

String

ParentAssociationRoleId​

Association role from a measurement anchor to its metering point. Default System/ParentChild.

public string ParentAssociationRoleId { get; set; }

Property Value​

String

ParticipationPeriodCkTypeId​

CkTypeId of the participation periods. Default EnergyCommunity/ParticipationPeriod.

public string ParticipationPeriodCkTypeId { get; set; }

Property Value​

String

ParticipationPeriodAssociationRoleId​

Association role from a participation period to its metering point. Default EnergyCommunity/ParticipationPeriod.

public string ParticipationPeriodAssociationRoleId { get; set; }

Property Value​

String

ParticipationTimeRangeAttribute​

Record attribute on the participation period with From and To. Default TimeRange.

public string ParticipationTimeRangeAttribute { get; set; }

Property Value​

String

PartitionFactorAttribute​

Integer attribute with the partition factor in percent. Default PartitionFactor.

public string PartitionFactorAttribute { get; set; }

Property Value​

String

DefaultPartitionFactor​

Partition factor used when the attribute is missing. Default 100.

public int DefaultPartitionFactor { get; set; }

Property Value​

Int32

MeteringPointNumberAttribute​

String attribute with the metering point number. Default MeteringPointNumber.

public string MeteringPointNumberAttribute { get; set; }

Property Value​

String

DataSourceAttribute​

Enum attribute naming where the values come from. Default MeteringDataSource.

public string DataSourceAttribute { get; set; }

Property Value​

String

DefaultDataSource​

Data source assumed when the attribute is missing. Default 0 (Eda).

public int DefaultDataSource { get; set; }

Property Value​

Int32

SelfReportedDataSource​

The only data source key that may report values. Default 2 (SelfReported).

public int SelfReportedDataSource { get; set; }

Property Value​

Int32

ObisCodeAttribute​

String attribute on the measurement anchor carrying its OBIS code. Default ObisCode.

public string ObisCodeAttribute { get; set; }

Property Value​

String

ConsumerInputObis​

Register written for a consumption reading. Default 1-1:1.9.0 G.01.

public string ConsumerInputObis { get; set; }

Property Value​

String

ProducerInputObis​

Register written for a production reading. Default 1-1:2.9.0 G.01.

public string ProducerInputObis { get; set; }

Property Value​

String

Quality​

Quality written with every accepted value. Default L1.

public string Quality { get; set; }

Property Value​

String

QuantityUnit​

Unit written into every record. Default kWh.

public string QuantityUnit { get; set; }

Property Value​

String

ReadingsPath​

JSONPath to the readings array. Default $.body.readings.

public string ReadingsPath { get; set; }

Property Value​

String

TargetPath​

JSONPath where the records for SaveTimeRangeSeriesInArchive@1 are written (an empty array when nothing was accepted).

public string TargetPath { get; set; }

Property Value​

String

ResultTargetPath​

JSONPath where the result object is written.

public string ResultTargetPath { get; set; }

Property Value​

String

Description​

public string Description { get; set; }

Property Value​

String

Constructors​

PrepareMeterReadingsNodeConfiguration()​

Caution​

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


public PrepareMeterReadingsNodeConfiguration()