Zum Hauptinhalt springen

ParseConsumptionRecord@1

Der Node ParseConsumptionRecord@1 wertet EDA-Verbrauchsdaten (DATEN_CRMSG, Schema ConsumptionRecord 01.41) zu einer Liste von EnergyData-Objekten mit den einzelnen Energiemengen aus. Anders als bei AggregateConsumptionRecord@1 werden die Mengen nicht aggregiert und alle Zählwerke (Meter Codes) der Nachricht bleiben erhalten.

Adapter-Voraussetzungen​

Node-Konfiguration​

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

transformations:
- type: ParseConsumptionRecord@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 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.
  • Für jeden Energy-Block und jedes EnergyData (Zählwerk) der Nachricht wird ein EnergyData-Objekt geschrieben.
  • Eine andere Einheit als kWh oder MWh lässt den Node fehlschlagen.

Ausgabe​

Eine Liste von EnergyData-Objekten (Property-Namen im Datenkontext in PascalCase):

PropertyBeschreibung
MeteringPointRtIdAus meteringPointRtIdPath gelesene RtId
MeteringPointNumberZählpunkt der Nachricht
CreationTimeDocumentCreationDateTime der Nachricht; eine Korrektur hat einen späteren Wert als die korrigierte Nachricht
PeriodStartBeginn des Messzeitraums
PeriodEndEnde des Messzeitraums
MeterCodeZählwerk (OBIS-Code), z. B. 1-1:2.9.0 G.03
QuantityUnitkWh oder MWh
EnergyQuantitiesEnergiemengen mit MeteringPointRtId, MeteringPointNumber, From, To, Quantity und Quality (0 unbekannt, 1 L1, 2 L2, 3 L3)

Die Konfigurations-Properties sind in der API-Referenz dokumentiert, die Ausgabe unter EnergyData.

Vollständiges Beispiel einer Pipeline-Konfiguration​

Dieses Beispiel wertet Verbrauchsdaten aus, die zusammen mit der RtId ihres Zählpunkts an die Pipeline übergeben werden, und behält je Zeitraum die neuesten Daten.

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