Spread Sheet
Last updated
Last updated
In der Konfiguration wird festgelegt, auf welche Eliona Instanz die Verbindung hergestellt werden soll und welche Reports mit welchem Template erstellt werden.
host
Adresse der Eliona Instanz ohne HTTPS.
develop.eliona.cloud
Optional. Idealerweise als
.env Variable
api
Adresse der verwendeten API. In diesem Fall ist das immer die /api/v2. Hier mit HTTPS.
https://develop.eliona.cloud
/api/v2
Optional. Idealerweise als
.env Variable
project_id
Projektnummer auf der verwendeten Eliona Instanz. (Diese erhaltet ihr, wenn ihr in den Einstellungen das Projekt bearbeitet und in die Adresszeile schaut.)
Notwendig
api_key
Schlüssel der API für die Verbindung zur Eliona Instanz
...
Optional. Idealerweise als
.env Variable
dbTimeZone
TimeZone der Datenbank.
Europe/Zurich
Optional. Idealerweise als
.env Variable
Die Konfiguration der Reports befindet sich innerhalb einer Liste. Diese kann also einen oder mehrere Reports enthalten. Jeder Report benötigt mindestens diese Konfigurationen.
name
Name der Report Definition
"Report Ebene 1 Monatlich"
schedule
Aufruf Häufigkeit
= yearly (Jährlicher Report wird im Januar versendet)
= monthly (Monatlicher Report wird jeden Monat versendet)
type
Report Typ Definition. Damit wird festgelegt, welcher Typ für das Reporting verwendet wird.
= "DataListSequential" (Liste untereinander)
= "DataListParallel" (Liste parallel)
= "DataEntry" (Einzelne Einträge in der Zelle)
templateFile
Pfadangabe für das Template file
./templates/syn_001.xlsx
sheet
Tabellenname bei Verwendung von Excel Tabellen
Tabelle1, Sheet1
fileType
Setzen des zu verwendenden Dateiformates für das Speichern und Einlesen der Daten
csv, xls, xlsx
separator
Separator, der bei dem Einlesen und Speichern von CSV Dateien verwendet werden soll.
";" // "," // " "
firstRow
Erste Zeile, die zu verwenden ist bei dem Auslesen der Template-Konfiguration und des Speicherns der Daten bei aktivem fromTemplate.
fromTemplate
Gibt an, ob die Datei neu oder aus dem Template übernommen werden soll. Eine .csv Datei sollte nicht verwendet werden, um die Daten anzuhängen. Bei einer XLSX Datei kann die Formatierung mit dieser Option übernommen werden. (Formeln, Zellenformatierung usw. werden beibehalten)
true / false
Bitte auf die Schreibweise achten
reportPath
Speicherpfad inklusive Name des Reports
./report_XY_001.xlsx
Die Templates sollten im Excel Format abgelegt sein und müssen die Konfiguration der Assets beinhalten. Die Verknüpfung zu den Assets / Attributen in Eliona sieht so aus:
{"assetGai":"H01 Fernwärme Energiezähler IWB", "attribute":"Energie", "raster":"MONTH", "mode":"sum"}
Hier wird im JSON-Format die benötigte Information eingetragen.
"assetGai"
GAI des verwendeten Assets.
"attribute"
Hier werden die Attribute des Asset-Typen eingetragen, das ausgelesen werden soll
"raster"
M1 , M5, M10, M15 H1, H2, H4, H8, H12 DAY
WEEK MONTH YEAR
In Abhängigkeit des zu erstellenden Reports muss hier das Raster eingetragen werden. Für einen monatlichen Report muss das Raster MONTH verwendet werden.
"mode"
last first sum
average
Der Mode, der aus dem Raster ausgelesen werden soll.
Für Attribute, die eine Mittelwertbildung besitzen, muss "average" verwendet werden.
Attribute mit einem Summen oder kumulativ Summierung müssen "sum" verwenden.
Berechnungen werden in Excel ausgeführt. Hier können alle Excel Funktionen verwendet werden. Das Referenzieren von Werten aus der eigenen Tabelle wie das Verwenden von Werten aus Eliona ist möglich. Bei dem Verwenden von Werten aus Eliona muss einfach der JSON-Teil für die Referenzierung verwendet werden.
Beispiel: Hier wird ein Zelleninhalt von einem Eliona Asset Attribut subtrahiert.
= ({"assetGai":"K01 Netz Energiezähler 1005", "attribute":"Energie", "raster":"MONTH", "mode":"sum"} - J6)
ACHTUNG: Das Eintragen einer solchen Formel wird durch Excel unterbunden. Hierzu muss das Format der Zelle angepasst werden. Nach dem Eintragen der Formel kann der Zellentyp wieder zurückgestellt. Empfohlen wird, das Zahlenformat zu wählen.
Wurde bislang nicht verwendet. Ist nur für ein Projekt in der Angebotsphase vorgesehen gewesen
Beispiel Tabell
Beispiel Template
Beispiel Template
Timestamp
[m³] Volumen IWB Brauchwasser Kälteanlage 1004
[°C] Kälteanlage 1004 Wassertemperatur Rückführung WAR
[] IWB Brauchwasser Kälteanlage 1004 Verbindung OK
{"timeStamp":"%Y-%m-
%d %H:%M:%S",
"raster":"H1"}
{"assetGai":"IWB Kälteanlage 1004", "attribute":"Volumen", "mode":"sum"}
{"assetGai":"IWB Kälteanlage 1004", "attribute":"Temperatur", "mode":"average"}
{"assetGai":"IWB Kälteanlage 1004", "attribute":"Status", "mode":"last"}
Beispiel Tabelle:
Beispiel Template:
{"timeStampStart":"%Y-%m-%d"}
{"timeStampEnd":"%Y-%m-%d"}
{"assetGai":"Trinkwasser Kalt WRO 1007P UG-8.OG
Frischwasserstation", "attribute":"Volumen", "raster":"MONTH", "mode":"sum"}
{"timeStampStart":"%Y-%m-%d"}
{"timeStampEnd":"%Y-%m-%d"}
{"assetGai":"Enthärtetes Wasser Gastro Zuleitung Frischwasser", "attribute":"Volumen", "raster":"MONTH", "mode":"sum"}
{"timeStampStart":"%Y-%m-%d"}
{"timeStampEnd":"%Y-%m-%d"}
= {"assetGai":"H02 Energiezähler BWW 1005", "attribute":"Energie", "raster":"MONTH", "mode":"sum"} * 1000
{"timeStampStart":"%Y-%m-%d"}
{"timeStampEnd":"%Y-%m-%d"}
= (1 - ((J4) / ((J2+J3)*64 + 68000)))*100
Für die manuelle Erstellung eines Reports kann der Docker Container geöffnet werden und die App.py mit Argumenten aufgerufen werden. Es existiert eine Hilfe, die mit -h aufgerufen werden kann.
-h, --help
Hilfe Text Ausgabe
python sp...app.py -h
-d, --date
Eingabe des gewünschten Report-Datums im Format "dd.mm.yyyy". Für Monatsreports ist Monat und Jahr wichtig.
Für Jahresreports ist das Jahr wichtig.
python sp...app.py -d "01.01.2021"
-c, --config
Pfad für die Settings Datei. Dies wird benötigt, um die Reportings und User Settings zu laden. Wenn dies leer bleibt, wird das für Standard Verzeichnis verwendet.
python sp...app.py -c "./config/config.json"
-u, --user
Entweder Benutzer oder Report Konfiguration auswählen. Hängt von der vorhandenen Konfiguration ab, welche verfügbar sind. Im Fall des Users werden alle Reports des Users erstellt. Im Fall eines Reports wird der einzelne Report erstellt.
Einer muss jedoch gesetzt sein.
python sp...app.py -u
-r, --report
python sp...app.py -r
-o, --output
Ausgabepfad für die erstellten Reports. Falls dieser Parameter leer bleibt, wird das Verzeichnis "
./tmp_reports/manual_created/" verwendet.
python sp...app.py -h "./tmp_files/export/"