Zum Hauptinhalt springen

CommunityEnergyBalanceNodeConfiguration

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Transform

CommunityEnergyBalance node configuration (AB#5639, requirements BAL-01..03). Computes the provisional balance of an energy community for the last closed slots with exactly the allocation of AllocateCommunityEnergy@1 (same member loading, same archive read, same algorithm) and writes nothing.

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

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

Remarks:

A slot is closed when its end is not after now. Missing raw values count as 0, as in the final run, so a slot whose inputs are complete gives the numbers the final run will write. A participating metering point whose data source is not allocatable (for example a real EDA metering point) makes the result status: error, because the final run would abort that day.

The result written to CommunityEnergyBalanceNodeConfiguration.TargetPath is an object with status, message, generatedAt, provisional (always true), simulatedIncluded and slots (oldest first). Each slot carries from, to, productionKwh, offeredKwh, allocatedKwh, surplusKwh, consumptionKwh, shortfallKwh, coverage (allocated / consumption, 3 decimals, 0 without consumption), reported (expected, received, simulated) and, when a metering point filter is given, meteringPoints.

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

Slots​

Number of closed slots to compute, counted back from now. Default 4.

public int Slots { get; set; }

Property Value​

Int32

SlotsPath​

Optional JSONPath to the number of slots (for example $.body.slots). Wins over CommunityEnergyBalanceNodeConfiguration.Slots; a path that resolves to nothing or null counts as not set. A value that is not a whole number between 1 and CommunityEnergyBalanceNodeConfiguration.MaxSlots makes the result status: error.

public string SlotsPath { get; set; }

Property Value​

String

MaxSlots​

Upper limit for the number of slots. Default 96 (one day of 15-minute slots).

public int MaxSlots { get; set; }

Property Value​

Int32

SlotLength​

Length of one slot. Default 15 minutes. Slots are aligned to whole multiples of this length since midnight UTC, which for 15 minutes is also the local quarter-hour grid.

public TimeSpan SlotLength { get; set; }

Property Value​

TimeSpan

TimeZone​

IANA or Windows time zone id; validated, kept for symmetry with AllocateCommunityEnergy@1. Default Europe/Vienna.

public string TimeZone { get; set; }

Property Value​

String

MeteringPointsPath​

Optional JSONPath to a list of metering point numbers (for example $.body.meteringPoints). When it resolves to a non-empty list, every slot carries meteringPoints with the registers of exactly those metering points (BAL-03); unknown numbers are left out.

public string MeteringPointsPath { 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, used as the target type constraint when navigating from a measurement anchor or a participation period. 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 of a metering point come from (0 Eda, 1 Simulated, 2 SelfReported). Default MeteringDataSource.

public string DataSourceAttribute { get; set; }

Property Value​

String

AllocatableDataSources​

Data source keys the allocation may run for. Default 1 (Simulated) and 2 (SelfReported).

public List<int> AllocatableDataSources { get; set; }

Property Value​

List<Int32>

DefaultDataSource​

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

public int DefaultDataSource { get; set; }

Property Value​

Int32

SimulatedDataSource​

Data source key of simulated metering points (BAL-02). Default 1.

public int SimulatedDataSource { 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

ArchiveRtId​

Runtime id of the time-range archive holding the raw registers.

public string ArchiveRtId { get; set; }

Property Value​

String

ValueColumn​

Archive column with the slot quantity in kWh. Default Amount.Value.

public string ValueColumn { get; set; }

Property Value​

String

QualityColumn​

Archive column with the data quality key. Default DataQuality.

public string QualityColumn { get; set; }

Property Value​

String

ConsumerInputObis​

OBIS code of the consumer input. Default 1-1:1.9.0 G.01.

public string ConsumerInputObis { get; set; }

Property Value​

String

ProducerInputObis​

OBIS code of the producer input. Default 1-1:2.9.0 G.01.

public string ProducerInputObis { get; set; }

Property Value​

String

ConsumerShareObis​

Register name of the consumer share in the per metering point output. Default 1-1:2.9.0 G.03.

public string ConsumerShareObis { get; set; }

Property Value​

String

ProducerOfferedObis​

Register name of the offered generation in the per metering point output. Default 1-1:2.9.0 G.01T.

public string ProducerOfferedObis { get; set; }

Property Value​

String

ProducerSurplusObis​

Register name of the undistributed surplus in the per metering point output. Default 1-1:2.9.0 P.01T.

public string ProducerSurplusObis { get; set; }

Property Value​

String

Resolution​

Smallest quantity step in kWh, as in AllocateCommunityEnergy@1. Default 0.001.

public decimal Resolution { get; set; }

Property Value​

Decimal

MissingQuality​

Quality of a missing input value (the value counts as 0). Default L3.

public string MissingQuality { get; set; }

Property Value​

String

TargetPath​

JSONPath where the balance result object is written.

public string TargetPath { get; set; }

Property Value​

String

Description​

public string Description { get; set; }

Property Value​

String

Constructors​

CommunityEnergyBalanceNodeConfiguration()​

Caution​

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


public CommunityEnergyBalanceNodeConfiguration()