🏆
Eliona
German
German
  • 💡Vorwort
    • Willkommen!
    • Über dieses Dokument
    • Typographische Konventionen
    • Das Interface
    • Bedienelemente
    • Glossar
    • FAQ
  • 🎉Neue Funktionen
    • Changelog – Aktuelle Version: v14.0.4
  • 🎓Academy
    • Eliona Marketplace - Apps installieren und konfigurieren
    • Eliona als Ticketing Plattform
      • Anleitung aus Sicht Admin
      • Anleitung aus Sicht Service
      • Anleitung aus Sicht Kunde
    • Einführung in Ontologien
      • Einführung in die Haystack Ontologie
      • Einführung in die Brick Ontologie
      • Einführung in die RealEstateCore Ontologie
      • Wie deckt Eliona Ontologien ab
    • Einen Zählerwechsel konfigurieren
    • Aggregationen in Eliona
    • White-Labeling
    • Ein Projekt erstellen
    • Einen Benutzer erstellen
    • Benutzer zu einem Projekt hinzufügen
    • Eine Rolle erstellen
    • Einem Benutzer eine Rolle zuordnen
    • Ein Asset erstellen und konfigurieren
    • Ein Dashboard erstellen
    • Eine Analytic erstellen und konfigurieren
    • Einen Alarm konfigurieren
    • Einen Digitalen Zwilling anlegen
    • Wie “Wayfinding” funktioniert
    • Werte-Mapping in Eliona
    • Twig-Templating in Eliona
    • Einführung und Tour durch die Benutzeroberfläche
  • 📚Dokumentation
    • 🗺️Wayfinding
      • Ein neues Wayfinding-Gebäude mit Stockwerken erstellen
      • Ein bestehendes Gebäude bearbeiten
      • Ein bestehendes Stockwerk öffnen
      • Ein Wayfinding Stockwerk konfigurieren
      • QR-Code generieren
      • Wayfinding in der Nuzung
    • 📊Dashboard
      • Ein neues Dashboard erstellen
      • Widgets zum Dashboard hinzufügen
      • Zwischen Dashboards wechseln
      • Layout von Dashboards anpassen
      • Dashboards organisieren
      • Dashboards an Benutzer kopieren
      • Globale Dashboards
      • Dashboard Templates
    • 🧊Widgets
      • Widgets bedienen
      • Vordefinierte Widgets
        • Alarm
        • Alarmübersicht
        • Analog Eingabe
        • Analoger Trend
        • Analyse
        • Asset Tracking
        • Behaglichkeit
        • Bereichsdiagramm
        • Bild
        • Buchung
        • Digitaler Trend
        • Donut
        • Einfache Anzeige
        • Eingabe Auswahl
        • Eingabe Schalter
        • Fahrplan
        • Fortschritt Radial
        • Fortschritt Vertikal
        • Heatmap
        • HLK KPI
        • iFrame
        • Kalender
        • Karte
        • Kombinierte Trends
        • Lichtsteuerung
        • Links
        • Radar-Diagramm
        • Reporttabelle
        • Sankey-Diagramm
        • Schalter
        • Slider
        • Stockwerk
        • Temperaturbereiche
        • Ticketübersicht
        • Tracking heatmap
        • Trend mit Balken
        • Trigger
        • Wetter
        • Zwei analoge Trends
        • Zwei digitale Trends
      • Benutzerdefinierte Widgets
        • Detaillierte Liste der Alarme
        • Liste der Alarme
        • Module
          • Alarm
          • Bereich
          • Bild
          • Custom Stockwerk
          • Donut
          • Eingaben & Schalter
          • Fortschritt
          • Heatmap
          • Icon
          • iFrame
          • Kalender
          • Karte
          • Komfort
          • Links
          • Radar
          • Sankey
          • Tabelle
          • Ticket
          • Tracking
          • Trend
          • Uhrzeit
          • Wert
          • Wetter
    • 🎈Assets
      • Assets erstellen
      • Asset-Details
      • Ein Asset konfigurieren
      • QR-Codes generieren
      • Bewertungen
      • Asset Daten
      • Dokumente an Assets anhängen
      • Einem Asset Links hinzufügen
      • Asset-Status: Aktive / Inaktive / Nicht Überwachte Assets
      • Assets auf einer Karte platzieren
      • Assets strukturieren
      • Assets archivieren
      • Asset-Modellierung: Templates erstellen
        • Ein neues Template erstellen
        • Ein neues Asset-Charakteristik-Template erstellen
      • ❤️Die Template-Bibliothek
        • Ein Template importieren
        • Ein Template Exportieren
    • 🎛️Smart Views
      • Eine neue Smart View erstellen
      • Eine bestehende Smart View öffnen
      • Eine Smart View konfigurieren
      • Eine Smart View bereitstellen
      • Slider Gruppen
      • Smart Assist
    • ⏰Alarme, Regeln und Eskalationen
      • 🚦Regeln
        • Eine Regel erstellen
      • 🚨Alarme
        • Quittierpflichtige und Gehende Alarme
        • Alarmstatistik
      • ↗️Eskalationen
        • Eine Neue Eskalationen erstellen
        • Eine Eskalation konfigurieren
        • Nutzer für Eskalationen konfigurieren
        • Notification Provider
          • Mail
          • Google Chat
          • SMS
          • Slack
          • eCall-Services
          • Job diagnostic
        • Allgemeinen Kalender erstellen
        • Eskalationen gruppieren
      • ⛓️Regelketten
        • Die Regelketten Seite öffnen
        • Eine neue Regelkette erstellen
        • Die Konfiguration einer bestehenden Regelkette öffnen
        • Regelkette konfigurieren
    • 🎟️Tickets
      • Tickets erstellen
      • Ticket Einstellungen
      • Ticket konfigurieren
      • Ticket-Details
      • Tasks erstellen
      • Task starten und abschliessen
      • Tickets schliessen
    • 📈Analytics & Reports
      • Analytics Nutzen
      • Reports Nutzen
    • 🌍Karte und Stockwerk
      • Karte
      • Stockwerk
        • Ein Stockwerk erstellen
        • Assets auf einem Stockwerk platzieren
        • Räume erstellen
        • Localino Anker konfigurieren
    • 🏛️BIM
      • Ein BIM öffnen
      • In einem BIM navigieren
      • Ein neues BIM erstellen
      • Assets in einem BIM platzieren
    • 📫Benachrichtigungen
      • Interne Benachrichtigungen
      • Benachrichtigungen Stumm Schalten
      • Push-Benachrichtigungen
      • Benachrichtigungen anpassen
    • 👥Digitaler Zwilling
    • ⚙️Engineering
      • Skript Engine
        • Skripte konfigurieren
        • Python Skripte schreiben
          • Output Logging und Fehlerbehandlung
          • Vorinstallierte Python-Bibliotheken im Eliona-System
          • Erstellen und Lesen von Dateien
        • PL/PgSQL-Skripte schreiben
      • Asset-Modellierung / Templates
        • Ein neues Template erstellen
        • Ein neues Asset-Charakteristik-Template erstellen
    • 🔧Einstellungen
      • Apps
        • Asset-Filter
      • Audit Trail
      • Lizenz
        • Lizenz läuft ab
      • System
      • API-Schlüssel
    • 🚩Tags
    • 🔮Systeme und Projekte
      • Ein neues Projekt erstellen
      • Benutzer zu einem Projekt hinzufügen
      • Aussehen eines Projekts anpassen
      • Startseite
      • Zwischen Projekten wechseln
    • 🧑‍💻Benutzer
      • Einen neuen Nutzer anlegen
      • Einen Nutzer einem Projekt zuweisen
      • Rolle eines Nutzers ändern
      • Zugriffsrechte von Nutzern verwalten
      • Benutzer archivieren und wiederherstellen
      • Benutzerdaten anpassen
    • 🎭Rollen
      • Warum sind Rollen so wichtig?
      • Das Rollen-Menü
      • Systemrollen
      • Projektrollen
    • 👾Weitere Funktionen
      • 📑Attribut Funktionen
        • ➗Werte berechnen: Der Calculator
        • 🕵️Filter
        • 📈Gerätesimulator
      • 🪃Lesezeichen
      • Tracking
      • 👀Monitoring
        • Monitoring mit Grafana
        • HDD Monitor
      • 🤳Augmented Reality
      • 🚢Bulk Import
  • 📶connectivity as a service
    • Geräte mit Eliona verbinden
      • Geräte per Modbus verbinden
        • Neue Modbus-Verbindung erstellen
        • Jobs lesen
      • Geräte per MQTT verbinden
        • Neuen Client erstellen
        • Client konfigurieren
        • Eine Subscription konfigurieren
        • Eine Publication konfigurieren
        • Eliona Broker
      • Geräte per RESTful verbinden
        • RESTful Verbindung konfigurieren
        • RESTful Request konfigurieren
      • Geräte per Webhook verbinden
      • ...mit Kafka
        • Eine neue Verbindung aufbauen
        • Verbindung konfigurieren
        • Abonnement konfigurieren
        • Publication konfigurieren
      • Geräte per OPC UA verbinden
        • Einen Endpunkt erstellen und konfigurieren
        • Endpunkt-Details
        • Verbindungs-Details
      • Ein Format konfigurieren
        • Format Konventionen und Beispiele
      • Funktionen
  • Edge Nodes
    • Was sind Edge Nodes?
    • EdgeNodes in Eliona
      • Control Edge einrichten
        • Eliona-Module für Niagara
  • 🍎Apps
    • Apps
      • ABB free@home
      • Akenza
      • Buchung
      • CoffeeCloud
      • Correlation App
      • Device simulator
      • Exchange-App
      • Forecast
        • Was ist Forecasting
        • Forecast App einfach nutzen
        • Parameter richtig Wählen
          • Alle Parameter auf einem Blick
        • Ablauf der Forecast App
        • Was sind Hyperparameter?
        • Parameter Konfiguration
        • Training Parameter einstellen
        • Binäre und Mehrklassen-Prognosen
        • Automatische Parameter
        • API-Dokumentation
        • Use Cases
      • Glutz
      • GP Joule
      • Hailo
      • Kentix
      • KentixONE
      • Kontakt.io
      • Localino
        • Geofencing-Funktion im Localino-System
      • Loriot.io
      • Microsoft 365
      • Microsoft ADFS
      • myStrom App
      • Niagara
      • OpenBOS
      • Renzbox
      • ROOMZ
      • SAML SSO
      • Signify
      • Spread Sheet
      • Stoppuhr
      • Thingdust
      • Xovis
      • Xovis People Counter
      • Zevvy
    • App SDK
  • 📢Feedback
    • 🐛Einen Bug melden
    • 💝Verbesserungsvorschlag senden / Feature wünschen
  • 👩‍💻Für Entwickler
    • REST API
    • Engineering
Powered by GitBook
On this page
  • Grundkonzept
  • Konfiguration
  • Eliona Instanz
  • Reports
  • Templates
  • Berechnungen
  • DataListSequential (Liste untereinander)
  • DataListParallel (Liste parallel)
  • DataEntry (Einzelne Einträge in der Zelle)
  • Manuelle Erstellung eines Reports

Was this helpful?

  1. Apps
  2. Apps

Spread Sheet

PreviousSignifyNextStoppuhr

Last updated 1 year ago

Was this helpful?

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

{"eliona_handler": {
"host": "experimental.eliona.io",
"api": "https://experimental.eliona.io/api/v2", "project_id": 1,
"api_key": "slidfglsadbföabg$$äasfnasilbg"}
}
Konfiguration
Beschreibung
Beispiel
Bemerkung

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

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.

"reportConfig": [
{
"name": "Report Monatlich Ebene 1", "schedule": "monthly",
"type": "DataEntry",
"templateFile": "./storage/reports/templates/Template_Report_Ebene_1.xlsx", "sheet": "Sheet1",
"separator":";",
"firstRow": "0", "fromTemplate": true,
"reportPath": "Report_Ebene1.xlsx", "tempPath": ""
},
{
"name": "Report Monatlich Ebene 2", "schedule": "monthly",
"type": "DataEntry",
"templateFile": "./storage/reports/templates/Template_Report_Ebene_2.xlsx", "sheet": "Sheet1",
"separator":";",
"firstRow": "0", "fromTemplate": true,
"reportPath": "Report_Ebene2.xlsx",
"tempPath": ""
}
]

Konfiguration
Beschreibung
Beispiel

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

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

"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

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.

(env311) spreadsheet-report-app % python ./src/spreadsheet-reportapp/
spreadsheet_report_app.py -h
usage: spreadsheet_report_app.py [-h] [-d DATE] [-c CONFIG] [-u USER] [-r REPORT] [-o OUTPUT]
options:
-h, --help show this help message and exit
-d DATE, --date DATE Date in the format: dd.mm.yyyy
-c CONFIG, --config CONFIG
Path to the used configuration file. For Example:
"./config/config.json"
-u USER, --user USER User name that's requested. Name can be read from config.json file.
-r REPORT, --report REPORT
Report name that's requested. Name can be read from config.json file.
-o OUTPUT, --output OUTPUT
Export file path. If empty will be stored under "./temp/file_name"
(env311) spreadsheet-report-app %
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/"

🍎