CSV Export
Für den CSV Export von Energiedaten stehen grundsätzlich folgende drei Workflows zur Verfügung:
CSV Export | Export der Daten von einer OBIS Messgröße eines Zählpunktes als CSV Datei. | |
CSV Export (Kostenstelle/Energienutzen) | Export der Daten von einer OBIS Messgröße einer Kostenstelle (mit untergeordneten Kostenstellen) als CSV Datei. | |
CSV Datenexport (XML) | Export der Daten von mehreren OBIS Messgrößen und/oder mehreren Zählpunkten in eine oder mehrere CSV Dateien. | Workflowbeschreibung |
CSV Datenexport (XML)
Die Workflows ‚CSV Export‘ und ‚CSV Export (Kostenstellen/Energienutzen)‘ sind ohne größere Konfiguration schnell anwendbar. Damit können die Daten jeweils einer Messgröße ausgeben werden. Wenn jedoch in einer CSV Ausgabe die Daten von mehreren Zählpunkten und/oder Messgrößen exportiert werden sollen, dann muss mittels nachfolgender Beschreibung eine XML Datei zur Konfiguration verwendet werden. Die XML-Datei wirkt als Konfigurationsvorlage und wird einfach im Dokumantenarchiv abgelegt. Anschließend wird dem XML-Dokument der CSV Datenexport (XML) Workflow zugeordnet.
Code-Beispiel
<?xml version="1.0" encoding="utf-8"?>
<configuration version="3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="configuration.xsd">
<readings id="Strom">
<reading id="P+" obis-code="001-001:001.029.000*255" function="SUM" />
<reading id="Q+" obis-code="001-001:003.029.000*255" function="SUM" />
</readings>
<columns id="Standard">
<column id="MPID" header="ZP-ID" ref="MP.ID" />
<column id="MPNAME" header="ZP-Name" ref="MP.Name" />
<column id="MPIP" header="Installationsort" ref="MP.InstallationPoint" />
<column id="LOCALEND" header="Enddatum" ref="LOCALEND" index="0" format="dd.MM.yyyy HH:mm" />
<column id="VALUE1" header="P+" ref="VALUE" index="0" format="N3" />
<column id ="UNIT1" header="Einheit" ref="UNIT" index="0"/>
<column id="STATUS1" header="Status (P+)" ref="STATUS" index="0" />
<column id="VALUE2" header="Q+" ref="VALUE" index="1" format="N3" />
<column id ="UNIT2" header="Einheit" ref="UNIT" index="1"/>
<column id="STATUS2" header="Status (Q+)" ref="STATUS" index="1" />
</columns>
<files delimiter=";" column-headers="true" force-export="true" export-start="C" export-offset="0M" export-duration="2D" export-interval="D" header="Header Example" footer="Footer Example" min-status="1">
<file filename-pattern="E:\_CSVEport(XML)\TagesWerteExport-${YYYY}${MM}${DD}-${HH}${mm}${ss}.csv" readings-id="Strom" columns-id="Standard">
<export tag="9 - EVU Bezug" mpid="DE0005819112600009054000000000001" last-export="18.05.2019 00:00:00"/>
<export tag="KBR Buchenbach gesamt" mpid="DE99999979256KBRBB000000000000001" last-export="18.05.2019 00:00:00"/>
</file>
</files>
</configuration>
Erläuterung
Element | Attribute | Beschreibung |
---|---|---|
<configuration> |
- | Basiselement |
<readings> |
Basiselement für Messungen. Muss mindestens ein Element
|
|
id | Eindeutige ID auf der Element-Ebene <readings> |
|
<reading> |
Element für eine Messung | |
id | Eindeutige ID auf der Element-Ebene <reading> |
|
obis-code | Gültiges OBIS Kennzeichen | |
function | Legt fest, welche Aggregatsfunktion für die Messwerte verwendet werden soll.
Gültige Intervalle:
|
|
<columns> |
Basiselement für Spalten. Muss mindestens ein Element
<column> enthalten. Darin werden die zu exportierenden Spalten
für alle OBIS-Kennzeichen einer readings-id festgelegt. |
|
id | Eindeutige id auf der Ebene <columns> |
|
<column> |
Element für eine Spalte | |
id | Eindeutige ID auf der Element-Ebene <column> |
|
header | Spaltenüberschrift | |
ref (option) | ||
index (option) | ||
format (option) | ||
const (option) | ||
<files> |
Basiselement für die Dateiausgabe. Definiert die Export-Zeiträume und das
Grundgerüst der CSV-Datei. Muss mindestens ein Element <file>
enthalten. Darin wird definiert welcher Zählpunkt mit welchen OBIS (readings-Id´s) und
welchen Spalten (columns-Id´s) in welche Excel-Datei (filename-pattern) exportiert
wird. |
|
delimiter | Trennzeichen z.B. „,“ | |
column-headers | Angabe ob Spaltenüberschriften ausgegeben werden sollen,
„true “ oder „false “. |
|
force-export | „true “ oder „false “ |
|
export-start | Beispiele für aktuellen Zeitpunkt 18.05.2018 14:25:
|
|
export-offset | Legt fest, um welchen Zeitraum (Anzahl Zeitintervalle) das tatsächliche
Startdatum des Exports vom initialen Startzeitpunkt (export-start) verschoben werden
soll. Dieser Zeitraum kann positiv und negativ sein (- Zeichen vor dem Wert). Diese
Einstellung wird ignoriert, wenn für den initialen Startzeitpunkt (export-start) der
Wert „C“ festgelegt wurde! Gültige Intervalle:
|
|
export-duration | Legt fest, für welchen Zeitraum (Anzahl Zeitintervalle) der Export ausgeführt
werden soll. Der Export erfolgt dann beginnend vom tatsächliche Startdatum für die
angegebene Dauer. Dieser Zeitraum darf nicht negativ sein. Gültige Intervalle:
|
|
export-interval | Legt fest, in welchem Intervall die Daten erfolgen soll. Für jedes Intervall
wird eine Zeile in der CSV-Datei erzeugt. Gültige Intervalle:P: Periodically – Das
Startdatum wird auf den Start der aktuellen Stunde festgelegt.
|
|
header | Text-Konstante vor der Tabelle | |
footer | Text-Konstante nach der Tabelle | |
min-status |
|
|
custom-status-chars (optional) | ||
culture (optional) | ||
<file> |
Element für eine Datei | |
filename-pattern | Dateiname. Es sind Platzhalter erlaubt. Beispiel: „C:\csvexport\00302-UV2-${YYYY}${MM}${DD}-${HH}${mm}${ss}.csv“ Der Speicherort muss von dem (visual energy) Server gesehen erreichbar sein. Der Benutzer „Netzwerkdienst“ muss ausreichende Berechtigung besitzen. | |
delimiter (optional) | Trennzeichen z.B. „,“ | |
column-headers (optional) | Angabe ob Spaltenüberschriften ausgegeben werden sollen,
„true “ oder „false “. |
|
force-export (optional) | Bei „true “ werden Dateien auch dann exportiert, wenn der
Status dies eigentlich nicht zulässt. Obwohl die Dateien exportiert werden, wird das
Datum des letzten Exports nicht verändert, so dass die Daten bei der nächsten
Ausführung erneut exportiert werden. So kann man die Dateien prüfen und ggf. nach
Fehlern suchen. |