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
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
MaxSlots
Upper limit for the number of slots. Default 96 (one day of 15-minute slots).
public int MaxSlots { get; set; }
Property Value
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
TimeZone
IANA or Windows time zone id; validated, kept for symmetry with AllocateCommunityEnergy@1.
Default Europe/Vienna.
public string TimeZone { get; set; }
Property Value
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
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, 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
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 of a metering point come from (0 Eda, 1 Simulated,
2 SelfReported). Default MeteringDataSource.
public string DataSourceAttribute { get; set; }
Property Value
AllocatableDataSources
Data source keys the allocation may run for. Default 1 (Simulated) and 2 (SelfReported).
public List<int> AllocatableDataSources { get; set; }
Property Value
DefaultDataSource
Data source assumed when the attribute is missing. Default 0 (Eda, not allocatable).
public int DefaultDataSource { get; set; }
Property Value
SimulatedDataSource
Data source key of simulated metering points (BAL-02). Default 1.
public int SimulatedDataSource { get; set; }
Property Value
ObisCodeAttribute
String attribute on the measurement anchor carrying its OBIS code. Default ObisCode.
public string ObisCodeAttribute { get; set; }
Property Value
ArchiveRtId
Runtime id of the time-range archive holding the raw registers.
public string ArchiveRtId { get; set; }
Property Value
ValueColumn
Archive column with the slot quantity in kWh. Default Amount.Value.
public string ValueColumn { get; set; }
Property Value
QualityColumn
Archive column with the data quality key. Default DataQuality.
public string QualityColumn { get; set; }
Property Value
ConsumerInputObis
OBIS code of the consumer input. Default 1-1:1.9.0 G.01.
public string ConsumerInputObis { get; set; }
Property Value
ProducerInputObis
OBIS code of the producer input. Default 1-1:2.9.0 G.01.
public string ProducerInputObis { get; set; }
Property Value
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
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
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
Resolution
Smallest quantity step in kWh, as in AllocateCommunityEnergy@1. Default 0.001.
public decimal Resolution { get; set; }
Property Value
MissingQuality
Quality of a missing input value (the value counts as 0). Default L3.
public string MissingQuality { get; set; }
Property Value
TargetPath
JSONPath where the balance result object is written.
public string TargetPath { get; set; }
Property Value
Description
public string Description { get; set; }
Property Value
Constructors
CommunityEnergyBalanceNodeConfiguration()
Caution
Constructors of types with required members are not supported in this version of your compiler.
public CommunityEnergyBalanceNodeConfiguration()