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
MaxKWh
Largest accepted quantity of one slot in kWh. Default 1000.
public decimal MaxKWh { get; set; }
Property Value
FutureTolerance
A value whose end lies more than this after now is rejected. Default 1 minute.
public TimeSpan FutureTolerance { get; set; }
Property Value
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
TimeZone
Time zone the reporting days are cut in. Default Europe/Vienna.
public string TimeZone { get; set; }
Property Value
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
CutOffTime
Local time of day of the cut-off. Default 06:00.
public TimeSpan CutOffTime { get; set; }
Property Value
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
ConsumerCkTypeId
CkTypeId of the consumer metering points. Default EnergyCommunity/Consumer.
public string ConsumerCkTypeId { get; set; }
Property Value
ProducerCkTypeId
CkTypeId of the producer metering points. Default EnergyCommunity/Producer.
public string ProducerCkTypeId { get; set; }
Property Value
MeteringPointCkTypeId
CkTypeId of the base metering point type. Default Basic.Energy/MeteringPoint.
public string MeteringPointCkTypeId { get; set; }
Property Value
EnergyMeasurementCkTypeId
CkTypeId of the measurement anchors. Default Basic.Energy/EnergyMeasurement.
public string EnergyMeasurementCkTypeId { get; set; }
Property Value
ParentAssociationRoleId
Association role from a measurement anchor to its metering point. Default System/ParentChild.
public string ParentAssociationRoleId { get; set; }
Property Value
ParticipationPeriodCkTypeId
CkTypeId of the participation periods. Default EnergyCommunity/ParticipationPeriod.
public string ParticipationPeriodCkTypeId { get; set; }
Property Value
ParticipationPeriodAssociationRoleId
Association role from a participation period to its metering point. Default EnergyCommunity/ParticipationPeriod.
public string ParticipationPeriodAssociationRoleId { get; set; }
Property Value
ParticipationTimeRangeAttribute
Record attribute on the participation period with From and To. Default TimeRange.
public string ParticipationTimeRangeAttribute { get; set; }
Property Value
PartitionFactorAttribute
Integer attribute with the partition factor in percent. Default PartitionFactor.
public string PartitionFactorAttribute { get; set; }
Property Value
DefaultPartitionFactor
Partition factor used when the attribute is missing. Default 100.
public int DefaultPartitionFactor { get; set; }
Property Value
MeteringPointNumberAttribute
String attribute with the metering point number. Default MeteringPointNumber.
public string MeteringPointNumberAttribute { get; set; }
Property Value
DataSourceAttribute
Enum attribute naming where the values come from. Default MeteringDataSource.
public string DataSourceAttribute { get; set; }
Property Value
DefaultDataSource
Data source assumed when the attribute is missing. Default 0 (Eda).
public int DefaultDataSource { get; set; }
Property Value
SelfReportedDataSource
The only data source key that may report values. Default 2 (SelfReported).
public int SelfReportedDataSource { get; set; }
Property Value
ObisCodeAttribute
String attribute on the measurement anchor carrying its OBIS code. Default ObisCode.
public string ObisCodeAttribute { get; set; }
Property Value
ConsumerInputObis
Register written for a consumption reading. Default 1-1:1.9.0 G.01.
public string ConsumerInputObis { get; set; }
Property Value
ProducerInputObis
Register written for a production reading. Default 1-1:2.9.0 G.01.
public string ProducerInputObis { get; set; }
Property Value
Quality
Quality written with every accepted value. Default L1.
public string Quality { get; set; }
Property Value
QuantityUnit
Unit written into every record. Default kWh.
public string QuantityUnit { get; set; }
Property Value
ReadingsPath
JSONPath to the readings array. Default $.body.readings.
public string ReadingsPath { get; set; }
Property Value
TargetPath
JSONPath where the records for SaveTimeRangeSeriesInArchive@1 are written (an empty array when nothing was accepted).
public string TargetPath { get; set; }
Property Value
ResultTargetPath
JSONPath where the result object is written.
public string ResultTargetPath { get; set; }
Property Value
Description
public string Description { get; set; }
Property Value
Constructors
PrepareMeterReadingsNodeConfiguration()
Caution
Constructors of types with required members are not supported in this version of your compiler.
public PrepareMeterReadingsNodeConfiguration()