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
| Crate | Responsibility |
|---|---|
edi-energy | IFTSTA status messages (EDIFACT, PIDs 21037/21038) |
redispatch-xml | XML/XSD format parsing (ActivationDocument, Stammdaten, …) |
mako-redispatch ← this crate | Process 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:
| Repealed | By | With effect from |
|---|---|---|
| BK6-20-059 Tenorziffer 1 | Tenorziffer 1 | end of 30.06.2026 |
| BK6-20-060 (Netzbetreiberkoordinierung) | Tenorziffer 4 | 07.05.2026 |
| BK6-20-061 (Informationsbereitstellung) | Tenorziffer 3 | 07.05.2026 |
BK6-20-059 Tenorziffer 2 · Anlage zur BilAReM | Tenorziffer 8 | first day the new EDI@Energy documents apply |
MaBiS Anlage 1 Kap. 17 | Tenorziffer 5 | end 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:
| Obligation | Value | Source |
|---|---|---|
AcknowledgementDocument | 3 minutes, unverzüglich | AcknowledgementDocument FB 1.0g |
| Vorab-Information, Prognosemodell | 30 minutes before validity | BilAReM Kap. 6.3.1 |
| Ausfallarbeit final or Dissens established | end of the 3rd following month, no restart after | BilAReM Kap. 6.4.3 |
| Wetterdaten of the Anlagenbetreiber | 4th Werktag of the following month | BilAReM Kap. 3.2.1 |
Stammdaten gueltig_ab | ≥ 5 or ≥ 10 Werktage ahead, ≤ 2 years | Stammdaten 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) response | operator-configured | — (was BK6-20-060) |
Kostenblatt submission | operator-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
AcknowledgementDocumentFormatbeschreibung 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_MarketDocumentis not a request/response pair. Itstypecodes areA60(status request for a position independently from a specific process) andZ15Erreichbarkeitsinformation, and itsstatuscarriesA03Deactivated /A04Reactivated /A13Withdrawn. 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)
| PID | Perspective | Process |
|---|---|---|
| 21037 | NB (VNB) | Kommunikationsprozesse Redispatch — Ansicht NB |
| 21038 | BTR | Kommunikationsprozesse Redispatch — Ansicht BTR |
These PIDs are registered into the PidRouter by RedispatchModule and
route to the aktivierung workflow via conversation-ID lookup.
§Module overview
| Module | Workflow name | Document type |
|---|---|---|
stammdaten | redispatch-stammdaten | Stammdaten |
aktivierung | redispatch-aktivierung | ActivationDocument |
ack_forward::verfuegbarkeit | redispatch-verfuegbarkeit | UnavailabilityMarketDocument |
ack_forward::netzengpass | redispatch-netzengpass | NetworkConstraintDocument |
ack_forward::kaskade | redispatch-kaskade | Kaskade |
ack_forward::planungsdaten | redispatch-planungsdaten | PlannedResourceScheduleDocument |
ack_forward::statusanfrage | redispatch-statusanfrage | StatusRequest_MarketDocument |
ack_forward::kostenblatt | redispatch-kostenblatt | Kostenblatt |
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 —
BilAReMKap. 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— mapsRedispatchDocumentKinds to workflow names.- stammdaten
- Stammdatenübermittlung workflow for Redispatch 2.0.
Structs§
- Redispatch
Module - Engine module for the Redispatch 2.0 process family.