Zum Hauptinhalt springen

ExportMeasurementsToCsv@1

Der Node ExportMeasurementsToCsv@1 exportiert die Messwerte einer Menge von Zählpunkten als CSV-Text. Jeder Zählpunkt erzeugt eine Spalte je unterschiedlichem OBIS-Code (Zeitreihe); die Zeilen sind die Zeitstempel aller Zeitreihen. Der CSV-String wird nach targetPath geschrieben und kann z. B. an eine E-Mail angehängt werden.

Adapter-Voraussetzungen​

Node-Konfiguration​

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

transformations:
- type: ExportMeasurementsToCsv@1
meteringPointsPath: $.MeteringPoints[*] # metering points
measurementsPath: $.Measurements[*] # measurements within one metering point
obisCodePath: $.Values[1] # OBIS code within one measurement
timestampPath: $.Values[3] # timestamp within one measurement
valuePath: $.Values[4] # value within one measurement
headerMappings: # one header row per entry
- label: Zählpunkt
valuePath: $.Values[0]
- label: Objekt
valuePath: $.Values[1]
separator: ";"
dateTimeFormat: dd.MM.yyyy HH:mm
timeZoneId: Europe/Vienna
cultureName: de-DE
targetPath: $.csv
PropertyTypErforderlichStandardBeschreibung
meteringPointsPathstringJa-JSON-Pfad, der die Zählpunkte im Datenkontext auswählt, z. B. $.MeteringPoints[*]
measurementsPathstringJa-JSON-Pfad der Messwerte innerhalb eines Zählpunkts, z. B. $.Measurements[*]
headerMappingsarrayJa-Kopfzeilen; jeder Eintrag hat ein label (erste Spalte) und einen valuePath (Wert innerhalb des Zählpunkts)
obisCodePathstringJa-Pfad des OBIS-Codes innerhalb eines Messwerts; gruppiert die Messwerte zu Zeitreihen
timestampPathstringJa-Pfad des Zeitstempels innerhalb eines Messwerts (ohne Offset als UTC interpretiert)
valuePathstringJa-Pfad des Werts innerhalb eines Messwerts
separatorstringNein;Spaltentrennzeichen
dateTimeFormatstringNeindd.MM.yyyy HH:mm.NET-Format der Zeitstempelspalte
timeZoneIdstringNeinEurope/ViennaZeitzone (IANA-Id), in die die Zeitstempel umgerechnet werden
cultureNamestringNeinde-DEKultur für die Formatierung von Zahlen und Datum (z. B. Komma als Dezimaltrennzeichen)
emptyRowsBetweenHeaderAndDataintNein2Anzahl leerer Zeilen zwischen Kopfblock und Datenblock
dateTimeColumnLabelstringNeinDatum / UhrzeitBeschriftung der ersten Spalte in der Datenkopfzeile
valueColumnLabelstringNeinWertBeschriftung jeder Wertspalte in der Datenkopfzeile
obisCodeLabelstringNeinOBIS CodeBeschriftung der OBIS-Code-Kopfzeile
targetPathstringNein$Pfad, an den der CSV-String geschrieben wird

CSV-Aufbau​

  1. Eine Zeile je Eintrag von headerMappings: das Label, gefolgt vom Wert unter valuePath des Zählpunkts jeder Spalte.
  2. Die OBIS-Code-Zeile: obisCodeLabel, gefolgt vom OBIS-Code jeder Spalte.
  3. emptyRowsBetweenHeaderAndData leere Zeilen.
  4. Die Datenkopfzeile: dateTimeColumnLabel, gefolgt von valueColumnLabel für jede Spalte.
  5. Eine Datenzeile je unterschiedlichem Zeitstempel (aufsteigend), umgerechnet nach timeZoneId und formatiert mit dateTimeFormat. Zellen ohne Messwert für diesen Zeitstempel bleiben leer; Zahlen werden mit cultureName formatiert.

Verhalten​

  • Ist der Datenkontext leer, werden keine Zählpunkte gefunden oder hat kein Zählpunkt Messwerte, protokolliert der Node eine Meldung und schreibt nichts.
  • Haben mehrere Messwerte einer Zeitreihe denselben Zeitstempel, wird nur der erste verwendet.

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