Skip to main content

Crate mako_redispatch

Crate mako_redispatch 

Source
Expand description

mako-redispatch — Redispatch 2.0 process engine for German grid congestion management (§§ 13, 13a, 14 EnWG).

§Three-crate architecture for Redispatch 2.0

CrateResponsibility
edi-energyIFTSTA status messages (EDIFACT, PIDs 21037/21038)
redispatch-xmlXML/XSD format parsing (ActivationDocument, Stammdaten, …)
mako-redispatchthis crateProcess engine — workflows, routing, deadlines

§Domain background

Redispatch 2.0 entered into force on 1 October 2021 via the Netzausbaubeschleunigungsgesetz (NABEG). It requires all German TSOs (ÜNB) and DSOs (VNB) to coordinate congestion management across transmission and distribution networks using CIM/IEC 62325 XML documents.

Unlike GPKE/WiM/GeLi Gas (EDIFACT RFF+Z13 Prüfidentifikatoren), routing here is document-type-driven via RedispatchRouter.

§Regulatory basis

BK6-23-241 (Beschluss 07.05.2026) consolidated Redispatch 2.0. Its Anlage „Bilanzieller Ausgleich von Redispatch-Maßnahmen (BilAReM)“ is the basis this crate cites, and it repeals the three earlier decisions:

RepealedByWith effect from
BK6-20-059 Tenorziffer 1Tenorziffer 1end of 30.06.2026
BK6-20-060 (Netzbetreiberkoordinierung)Tenorziffer 407.05.2026
BK6-20-061 (Informationsbereitstellung)Tenorziffer 307.05.2026
BK6-20-059 Tenorziffer 2 · Anlage zur BilAReMTenorziffer 8first day the new EDI@Energy documents apply
MaBiS Anlage 1 Kap. 17Tenorziffer 5end of 30.09.2026

What did not arrive with it is a new table of Fristen. Tenorziffer 7 obliges the ÜNB to develop bundesweit einheitliche Prozessbeschreibungen together with the industry and submit them to the Beschlusskammer, which then publishes them. Until that happens, most of the concrete windows are the operator’s own.

§Deadlines

fristen splits them by whether a published source still carries the value, because the widely quoted figures no longer all have one:

ObligationValueSource
AcknowledgementDocument3 minutes, unverzüglichAcknowledgementDocument FB 1.0g
Vorab-Information, Prognosemodell30 minutes before validityBilAReM Kap. 6.3.1
Ausfallarbeit final or Dissens establishedend of the 3rd following month, no restart afterBilAReM Kap. 6.4.3
Wetterdaten of the Anlagenbetreiber4th Werktag of the following monthBilAReM Kap. 3.2.1
Stammdaten gueltig_ab≥ 5 or ≥ 10 Werktage ahead, ≤ 2 yearsStammdaten AWT 1.4b Fn. 27/31/32/33
Überführung ins Planwertmodell≥ 6 months’ notice, only on 01.01./04./07./10.BilAReM Kap. 2.3.2
Activation (ACO) responseoperator-configured— (was BK6-20-060)
Kostenblatt submissionoperator-configured— (was BK6-20-061)
Stammdaten forward (VNB→ÜNB)operator-configured— (was BK6-20-060)

The acknowledgement is three minutes, not six hours. The 6-hour figure this crate carried had no published source; the AcknowledgementDocument Formatbeschreibung states „unverzüglich, jedoch spätestens 3 Minuten nach Erhalt der Übertragungsdatei“. The difference is architectural: six hours is a batch job, three minutes has to be answered by the ingest path.

StatusRequest_MarketDocument is not a request/response pair. Its type codes are A60 (status request for a position independently from a specific process) and Z15 Erreichbarkeitsinformation, and its status carries A03 Deactivated / A04 Reactivated / A13 Withdrawn. There is no 24-hour answer window and no answer document.

§Deployment role gate

RedispatchModule should only be registered when DeploymentRoles contains at least one of Marktrolle::Nb, Marktrolle::Unb, or Marktrolle::Anb. Lieferant (LF) and MSB deployments are out of scope for Redispatch 2.0.

§IFTSTA PIDs (confirmed from IFTSTA AHB 2.1 + PID 4.0)

PIDPerspectiveProcess
21037NB (VNB)Kommunikationsprozesse Redispatch — Ansicht NB
21038BTRKommunikationsprozesse Redispatch — Ansicht BTR

These PIDs are registered into the PidRouter by RedispatchModule and route to the aktivierung workflow via conversation-ID lookup.

§Module overview

ModuleWorkflow nameDocument type
stammdatenredispatch-stammdatenStammdaten
aktivierungredispatch-aktivierungActivationDocument
ack_forward::verfuegbarkeitredispatch-verfuegbarkeitUnavailabilityMarketDocument
ack_forward::netzengpassredispatch-netzengpassNetworkConstraintDocument
ack_forward::kaskaderedispatch-kaskadeKaskade
ack_forward::planungsdatenredispatch-planungsdatenPlannedResourceScheduleDocument
ack_forward::statusanfrageredispatch-statusanfrageStatusRequest_MarketDocument
ack_forward::kostenblattredispatch-kostenblattKostenblatt

Re-exports§

pub use router::RedispatchDocumentKind;
pub use router::RedispatchRouter;

Modules§

ack_forward
Generic acknowledge-and-forward workflow for Redispatch 2.0.
aktivierung
Redispatch-Aktivierung workflow for Redispatch 2.0.
ausfallarbeit
Ausfallarbeit engine — BilAReM Kap. 3 (Anlage zur Festlegung BK6-23-241, Beschluss vom 07.05.2026).
bilarem
BilAReM — Bilanzieller Ausgleich von Redispatch-Maßnahmen (BK6-23-241).
fristen
Redispatch 2.0 deadlines, separated by whether a published source still carries them.
router
RedispatchRouter — maps RedispatchDocumentKinds to workflow names.
stammdaten
Stammdatenübermittlung workflow for Redispatch 2.0.

Structs§

RedispatchModule
Engine module for the Redispatch 2.0 process family.