Zum Hauptinhalt springen

AggregateConsumptionRecord@1

Der Node AggregateConsumptionRecord@1 wertet EDA-Verbrauchsdaten (DATEN_CRMSG) aus und aggregiert die Energiemengen eines Zählwerks zu Tageswerten. Die Tage werden in der Zeitzone Mitteleuropa (Wien) bestimmt.

Der Node wählt das Zählwerk wie folgt:

  • Verbrauch: Enthält die Nachricht Mengen für 1-1:2.9.0 G.03, werden diese aggregiert.
  • Erzeugung: Andernfalls, wenn die Nachricht Mengen für 1-1:2.9.0 G.01T enthält, werden die passenden Mengen von 1-1:2.9.0 P.01T (gleicher Zeitraum, gleiches From/To) abgezogen und das Ergebnis aggregiert. Erzeugungsblöcke ohne passenden P.01T-Block werden übersprungen.

Adapter-Voraussetzungen​

Node-Konfiguration​

Zu den Feldern path, targetPath, targetValueWriteMode und targetValueKind siehe Überblick.

transformations:
- type: AggregateConsumptionRecord@1
path: $.message.RawMessage # raw XML of the consumption record
meteringPointRtIdPath: $.meteringPoint.RtId # RtId of the metering point entity
targetPath: $.energyData
PropertyTypErforderlichStandardBeschreibung
pathstringNein$Pfad zum rohen XML der Verbrauchsdaten
meteringPointRtIdPathstringJa¹-Pfad zur RtId des Zählpunkts, zu dem die Mengen gehören
targetPathstringNein$Pfad, an den die Liste der aggregierten EnergyData-Objekte geschrieben wird

¹ Im Schema nicht als erforderlich gekennzeichnet, aber zur Laufzeit erzwungen: Ohne meteringPointRtIdPath schlägt der Node mit MeteringPointRtIdPath must be set in the configuration. fehl.

Verhalten​

  • Ist das rohe XML leer oder fehlt es, oder wird unter meteringPointRtIdPath keine RtId gefunden, schreibt der Node nichts und die Pipeline läuft weiter.
  • Enthält die Nachricht weder Verbrauchs- noch Erzeugungsmengen, wird nichts geschrieben.
  • Je Tag ist From der früheste Beginn, To das späteste Ende, Quantity die Summe und Quality der höchste Qualitätswert (L3 vor L2 vor L1) der Mengen dieses Tages.

Ausgabe​

Eine Liste von EnergyData-Objekten (siehe ParseConsumptionRecord@1) mit einer Energiemenge je Tag. CreationTime ist die DocumentCreationDateTime der Nachricht; MeterCode und QuantityUnit werden nicht gesetzt.

Die Konfigurations-Properties sind in der API-Referenz dokumentiert.

Vollständiges Beispiel einer Pipeline-Konfiguration​

triggers:
- type: FromPipelineDataEvent@1
transformations:
- type: AggregateConsumptionRecord@1
path: $.message.RawMessage
meteringPointRtIdPath: $.meteringPoint.RtId
targetPath: $.energyData
- type: FilterEnergyData@1
path: $.energyData
targetPath: $.energyData