Für den CSV Export von Energiedaten stehen grundsätzlich folgende drei Workflows zur Verfügung:
Workflow | Aufgabenstellung |
---|---|
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. |
Die Workflows ‚CSV Export‘ und ‚CSV Export (Kostenstellen/Energienutzen)‘ sind ohne größere Konfiguration schnell anwendbar, um die Daten jeweils einer Messgröße auszugeben. 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.
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>
Ergebnis
Header Example | |||||||||
ZP-ID; | ZP-Name; | Installationsort; | Enddatum; | P+; | Einheit; | Status (P+); | Q+; | Einheit; | Status (Q+) |
DE0005819112600009054000000000001 | 9 – EVU Bezug;Hauptverteilung | Hauptverteilung | 19.05.2019 00:00 | 390,878 | kWh | 0 | 85,949 | kvarh | 0 |
DE0005819112600009054000000000001 | 9 – EVU Bezug | Hauptverteilung | 20.05.2019 00:00 | 430,864 | kWh | 0 | 72,638 | kvarh | 0 |
DE99999979256KBRBB000000000000001 | KBR Buchenbach gesamt | Technikraum | 19.05.2019 00:00 | 35,395 | kWh | 0 | 0,000 | kvarh | 0 |
DE99999979256KBRBB000000000000001 | KBR Buchenbach gesamt | Technikraum | 20.05.2019 00:00 | 31,042 | kWh | 0 | 0,000 | kvarh | 0 |
Footer Example |
Beschreibung der Elemente
<configuration> | Basiselement | ||
<readings> | Basiselement für Messungen | Muss mindestens ein Element <reading< enthalten. In einer readings-Id werden alle OBIS-Kennzeichen und deren Aggregationsfunktion angegeben, die in einem Zählpunkt vorhanden sind, die gleichen Export-Spalten haben und in einer Datei exportiert werden sollen. | |
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: SUM: Summe MIN: Minimalwert MAX: Maximalwert AVG: Mittelwert |
||
<columns> | Basiselement für Spaltendefinition | 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 Element-Ebene <columns> | ||
<column> | Element für eine Spalte | ||
id | Eindeutige ID auf der Element-Ebene <column> | ||
header | Spaltenüberschrift | ||
ref (optional) | |||
index (optional) | |||
format (optional) | |||
const (optional) | |||
<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: C Fortlaufender Export H Start der aktuellen Stunde: 18.05.2018 14:00 D Start des aktuellen Tags: 18.05.2018 00:00 M Start des aktuellen Monats: 01.05.2018 00:00 Y Start des aktuellen Jahrs: 01.01.2018 00:00 |
||
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: H: Hour – Das Startdatum wird auf den Start der aktuellen Stunde festgelegt. D: Day – Das Startdatum wird auf den Start des aktuellen Tags festgelegt. M: Month – Das Startdatum wird auf den Start des aktuellen Monats festgelegt. Y: Year – Das Startdatum wird auf den Start des aktuellen Jahrs festgelegt. Beispiele: -1M = Versatz um 1 Monat in die Vergangenheit -10D = Versatz um 10 Tage in die Vergangenheit 4H = Versatz um 4 Stunde in die Zukunft |
||
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: C: Continual (fortlaufend) – Es wird bis zum aktuellen Zeitpunkt exportiert. H: Hour – Das Startdatum wird auf den Start der aktuellen Stunde festgelegt. D: Day – Das Startdatum wird auf den Start des aktuellen Tags festgelegt. M: Month -Das Startdatum wird auf den Start des aktuellen Monats festgelegt. Beispiele: C = Fortlaufender Export (bis zu aktuellem Zeitpunkt) 1M = Export von einem Monat 10D = Export von 10 Tagen 4H = Export von 4 Stunden |
||
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. H: Hourly – Das Startdatum wird auf den Start der aktuellen Stunde festgelegt. D: Daily – Das Startdatum wird auf den Start des aktuellen Tags festgelegt. M: Monthly – Das Startdatum wird auf den Start des aktuellen Monats festgelegt. Beispiele: P = Export von Periodenwerten D = Export von Tageswerten M = Export von Monatswerten |
||
header | Text-Konstante vor der Tabelle | ||
footer | Text-Konstante nach der Tabelle | ||
min-status | Legt fest, bis zu welchem Status (einschließlich) der Export als erfolgreich betrachtet werden soll.
Gültige Intervalle: 0: Orinalwerte |
||
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. |
||
export-start (optional) | Beispiele für aktuellen Zeitpunkt 18.05.2018 14:25: C Fortlaufender Export H Start der aktuellen Stunde: 18.05.2018 14:00 D Start des aktuellen Tags: 18.05.2018 00:00 M Start des aktuellen Monats: 01.05.2018 00:00 Y Start des aktuellen Jahrs: 01.01.2018 00:00 |
||
export-offset (optional) | 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: H: Hour – Das Startdatum wird auf den Start der aktuellen Stunde festgelegt. D: Day – Das Startdatum wird auf den Start des aktuellen Tags festgelegt. M: Month – Das Startdatum wird auf den Start des aktuellen Monats festgelegt. Y: Year – Das Startdatum wird auf den Start des aktuellen Jahrs festgelegt. Beispiele: -1M = Versatz um 1 Monat in die Vergangenheit -10D = Versatz um 10 Tage in die Vergangenheit 4H = Versatz um 4 Stunde in die Zukunft |
||
export-duration (optional) | 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: C: Continual (fortlaufend) – Es wird bis zum aktuellen Zeitpunkt exportiert. H: Hour – Das Startdatum wird auf den Start der aktuellen Stunde festgelegt. D: Day – Das Startdatum wird auf den Start des aktuellen Tags festgelegt. M: Month -Das Startdatum wird auf den Start des aktuellen Monats festgelegt. Beispiele: C = Fortlaufender Export (bis zu aktuellem Zeitpunkt) 1M = Export von einem Monat 10D = Export von 10 Tagen 4H = Export von 4 Stunden |
||
export-interval (optional) | 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. H: Hourly – Das Startdatum wird auf den Start der aktuellen Stunde festgelegt. D: Daily – Das Startdatum wird auf den Start des aktuellen Tags festgelegt. M: Monthly – Das Startdatum wird auf den Start des aktuellen Monats festgelegt. Beispiele: P = Export von Periodenwerten D = Export von Tageswerten M = Export von Monatswerten |
||
header (optional) | Text-Konstante vor der Tabelle | ||
footer (optional) | Text-Konstante nach der Tabelle | ||
min-status (optional) | Legt fest, bis zu welchem Status (einschließlich) der Export als erfolgreich betrachtet werden soll.
Gültige Intervalle: 0: Orinalwerte |
||
readings-id | |||
columns-id |