pub struct SpotpreisInterval {
pub period_from: OffsetDateTime,
pub period_to: OffsetDateTime,
pub menge_kwh: Decimal,
pub nne_rate_ct_per_kwh: Decimal,
pub epex_spot_ct_per_kwh: Option<Decimal>,
}Expand description
One dispatch interval for a spot-linked Netzentgelt (not a §14a module).
Each interval represents a 15-min period during which the DSO exercised load
control and the NNE rate is derived from the day-ahead spot price via the
formula published in PreisblattNetznutzung.lastvariablePreispositionen.
§Calculation
Einsatzkosten = menge_kwh × nne_rate_ct_per_kwh / 100
The NB computes one InvoicePosition per interval, allowing the LF (and their
customers) to see the exact tariff breakdown for each dispatch event.
§Caller responsibility
The caller (service layer) must:
- Fetch the EPEX Spot day-ahead price for each 15-min interval from
productdor thePreisblattNetznutzungformula. - Apply the formula from
lastvariablePreispositionento derivenne_rate_ct_per_kwh. - Fetch
menge_kwhfromedmd Lastgangfor the interval.
grid-billing receives pre-calculated rates — it does NOT query EPEX or edmd.
§Regulatory basis
Not a §14a module. BK6-22-300 defines exactly three — Modul 1 (pauschale
Reduzierung), Modul 2 (prozentuale Arbeitspreisreduzierung) and Modul 3
(zeitvariable Netzentgelte in three Tarifstufen) — and none of them is
spot-linked. See ArbeitspreisModell::SpotpreisNetzentgelt, which states
the same thing.
This models a Netzentgelt whose rate follows the spot price under the
Netzbetreiber’s own PreisblattNetznutzung formula: the NNE varies per
15-minute interval. The rates arrive already derived — this crate never
queries a spot market.
Fields§
§period_from: OffsetDateTimeUTC start of this controlled dispatch interval (ISO-8601).
Typically the start of a 15-min settlement slot.
period_to: OffsetDateTimeUTC end of this controlled dispatch interval (ISO-8601).
Typically period_from + 15 min.
menge_kwh: DecimalEnergy consumption (or reduction) during this interval in kWh.
Sourced from edmd Lastgang for the MaLo during the interval window.
nne_rate_ct_per_kwh: DecimalEffective NNE rate in ct/kWh for this interval.
Derived from the LastvariablePreisposition formula applied to the
applicable EPEX Spot day-ahead price. Pre-calculated by the caller.
epex_spot_ct_per_kwh: Option<Decimal>EPEX Spot day-ahead price in ct/kWh used to derive nne_rate_ct_per_kwh.
Stored in the CalculationTrace.explanation for audit transparency.
None when the rate was determined by a fixed formula without market reference.
Trait Implementations§
Source§impl Clone for SpotpreisInterval
impl Clone for SpotpreisInterval
Source§fn clone(&self) -> SpotpreisInterval
fn clone(&self) -> SpotpreisInterval
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more