Spread Sheet
Grundkonzept
Konfiguration
In der Konfiguration wird festgelegt, auf welche Eliona Instanz die Verbindung hergestellt werden soll und welche Reports mit welchem Template erstellt werden.
Eliona Instanz
Konfiguration | Beschreibung | Beispiel | Bemerkung |
---|---|---|---|
| Adresse der Eliona Instanz ohne HTTPS. | develop.eliona.cloud | Optional. Idealerweise als .env Variable |
| 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 |
| Projektnummer auf der verwendeten Eliona Instanz. (Diese erhaltet ihr, wenn ihr in den Einstellungen das Projekt bearbeitet und in die Adresszeile schaut.) | Notwendig | |
| Schlüssel der API für die Verbindung zur Eliona Instanz | ... | Optional. Idealerweise als .env Variable |
| TimeZone der Datenbank. | Europe/Zurich | Optional. Idealerweise als .env Variable |
Reports
Die Konfiguration der Reports befindet sich innerhalb einer Liste. Diese kann also einen oder mehrere Reports enthalten. Jeder Report benötigt mindestens diese Konfigurationen.
Konfiguration | Beschreibung | Beispiel |
---|---|---|
| Name der Report Definition | "Report Ebene 1 Monatlich" |
| Aufruf Häufigkeit | = yearly (Jährlicher Report wird im Januar versendet) = monthly (Monatlicher Report wird jeden Monat versendet) |
| 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) |
| Pfadangabe für das Template file | ./templates/syn_001.xlsx |
| Tabellenname bei Verwendung von Excel Tabellen | Tabelle1, Sheet1 |
| Setzen des zu verwendenden Dateiformates für das Speichern und Einlesen der Daten | csv, xls, xlsx |
| Separator, der bei dem Einlesen und Speichern von CSV Dateien verwendet werden soll. | ";" // "," // " " |
| Erste Zeile, die zu verwenden ist bei dem Auslesen der Template-Konfiguration und des Speicherns der Daten bei aktivem 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 |
| Speicherpfad inklusive Name des Reports | ./report_XY_001.xlsx |
Templates
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.
Key | Value Beispiel | Bemerkung |
---|---|---|
| GAI des verwendeten Assets. | |
| Hier werden die Attribute des Asset-Typen eingetragen, das ausgelesen werden soll | |
| 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. |
| 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
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.
DataListSequential (Liste untereinander)
Wurde bislang nicht verwendet. Ist nur für ein Projekt in der Angebotsphase vorgesehen gewesen
DataListParallel (Liste parallel)
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"} |
DataEntry (Einzelne Einträge in der Zelle)
Beispiel Tabelle:
Beispiel Template:
von Datum | bis Datum | Verbrauch |
---|---|---|
{"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 |
Manuelle Erstellung eines Reports
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.
Argument | Beschreibung | Beispiel |
---|---|---|
-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/" |
Last updated