Skip to main content

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

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()