Zum Hauptinhalt springen

SimulateEnergyMeasurementsNodeConfiguration

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Transform

SimulateEnergyMeasurements node configuration. Backfills historical per-15-min-slot archive datapoints for the EnergyMeasurement entities that ALREADY EXIST in the rt-model. The node does NOT create any EnergyMeasurement entities and does NOT emit association updates — it loads the existing EMs of SimulateEnergyMeasurementsNodeConfiguration.EnergyMeasurementCkTypeId, resolves each EM's parent MeteringPoint type to pick a profile (Producer → PV curve, Consumer → load profile), and emits one EntityUpdateInfo<RtEntity>.CreateInsert datapoint per slot keyed by the existing EM's stable RtId / RtWellKnownName. Uses the deterministic BDEW load-profile and PV curve math from EnergyProfiles so the produced amount values are realistic enough to validate chained rollups and time-range archive idempotency.

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

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

Remarks:

Output is meant to flow straight into SaveTimeRangeStreamDataInArchive@1 for the archive write. Because every datapoint carries the rtId of an existing EnergyMeasurement entity, the archive-write integrity guard will accept it. No RT-entity creation / dedup step is involved.

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 so existing pipelines are unchanged (AB#5127).

public NodeExecutionIdentity Identity { get; set; }

Property Value​

NodeExecutionIdentity

StartDate​

Inclusive UTC start of the simulation window (the first slot is [StartDate, StartDate + PT15M)). Optional: a pipeline may instead supply it at execution time via SimulateEnergyMeasurementsNodeConfiguration.StartDateAttributePath (e.g. a FromExecutePipelineCommand payload). Exactly one of the two must resolve a value.

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

Property Value​

Nullable<DateTime>

NumDays​

Number of full UTC days to backfill (each day produces 96 slots per existing EnergyMeasurement). Optional: may instead be supplied at execution time via SimulateEnergyMeasurementsNodeConfiguration.NumDaysAttributePath. Exactly one of the two must resolve a value.

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

Property Value​

Nullable<Int32>

StartDateAttributePath​

Optional JSONPath into the input DataContext for the start date (AB#4306). When set, it overrides SimulateEnergyMeasurementsNodeConfiguration.StartDate — lets a parameterised pipeline take the window start from its ExecutePipelineCommand input (e.g. $.startDate) so the same pipeline can generate data for any requested range on demand.

public string StartDateAttributePath { get; set; }

Property Value​

String

NumDaysAttributePath​

Optional JSONPath into the input DataContext for the day count (AB#4306). When set, it overrides SimulateEnergyMeasurementsNodeConfiguration.NumDays (e.g. $.numDays).

public string NumDaysAttributePath { get; set; }

Property Value​

String

EnergyMeasurementCkTypeId​

CkTypeId of the EnergyMeasurement type whose existing entities are backfilled (e.g. Basic.Energy/EnergyMeasurement).

public string EnergyMeasurementCkTypeId { get; set; }

Property Value​

String

TimeRangeCkRecordId​

CkRecordId of the TimeRange record on the EnergyMeasurement (e.g. Basic/TimeRange).

public string TimeRangeCkRecordId { get; set; }

Property Value​

String

AmountCkRecordId​

CkRecordId of the Amount record on the EnergyMeasurement (e.g. Basic/Amount). Carries Value: Double + Unit: Enum.

public string AmountCkRecordId { get; set; }

Property Value​

String

AmountUnit​

UnitOfMeasure enum value to stamp on each Amount record. Default 1 (KWh in Basic.UnitOfMeasure).

public int AmountUnit { get; set; }

Property Value​

Int32

ParentAssociationRoleId​

Association role used to navigate from an existing EnergyMeasurement to its parent MeteringPoint (e.g. System/ParentChild). The parent MeteringPoint type decides the profile family (PV vs load).

public string ParentAssociationRoleId { get; set; }

Property Value​

String

MeteringPointCkTypeId​

CkTypeId of the (base) MeteringPoint type the parent association points at (e.g. Basic.Energy/MeteringPoint). Required as the target-type constraint of the EM → MeteringPoint navigation; concrete Producer/Consumer subtypes are returned.

public string MeteringPointCkTypeId { get; set; }

Property Value​

String

ProducerCkTypeId​

CkTypeId of the producer MeteringPoint type (e.g. Basic.Energy/Producer). EMs whose parent MeteringPoint is of this type use the PV profile; all others use the load profile.

public string ProducerCkTypeId { get; set; }

Property Value​

String

LoadProfileSubKey​

BDEW load-profile sub-key for consumer EMs (e.g. H0 / G0 / L0). Default H0.

public string LoadProfileSubKey { get; set; }

Property Value​

String

ConsumerDailyKWh​

Daily energy in kWh for consumer (load-profile) EMs. Default 500.

public double ConsumerDailyKWh { get; set; }

Property Value​

Double

ProducerPeakKWp​

Peak power in kWp for producer (PV-profile) EMs. Default 50.

public double ProducerPeakKWp { get; set; }

Property Value​

Double

EntityUpdatesOutputPath​

JSONPath where the list of EntityUpdateInfo<RtEntity> datapoints is written.

public string EntityUpdatesOutputPath { get; set; }

Property Value​

String

DataQuality​

DataQuality enum value to stamp on every generated slot. Default 1 (BasicEnergy/DataQuality.L1 — 15-min meter readings).

public int DataQuality { get; set; }

Property Value​

Int32

Description​

public string Description { get; set; }

Property Value​

String

Constructors​

SimulateEnergyMeasurementsNodeConfiguration()​

Caution​

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


public SimulateEnergyMeasurementsNodeConfiguration()