Skripte schreiben

Eliona Bibliotheken

Folgende Bibliotheken und Funktionen sind in Eliona verfügbar:

Heap

Der Heap speichert den letzten Wert.

Folgende Funktionen sind verfügbar:

heap.get()

Über heap.get können entweder der aktuelle Wert aller Datenpunkte eines Assets abgerufen werden, oder es kann der aktuelle Wert eines bestimmten Datenpunktes abgerufen werden.

Werte des Subytps «Input» abrufen: Wenn aktuellen Daten des Subtyps „Input“ eines Assets abgerufen werden sollen, reicht es der Funktion nur die GAI des gewünschten Assets zu übermitteln. ‌result = heap.get(plpy, "Ein Asset")

Wert eines bestimmten Subtyps abrufen: Um den Wert eines bestimmten Subtyps aufzurufen, wird die GAI durch die Angabe des gewünschten Subtyps ergänzt. Verfügbare Subtypen sind Input, Output, Status, Info

‌result = heap.get(plpy, "test_asset", "status")

heap.set()

Über diese Funktion wird ein Wert in den Heap eines Assets geschrieben.

Pipeline

In der Pipeline werden aggregierte Werte gespeichert.

pipeline.get()

Wenn diese Funktion aufgerufen wird, können bzw. müssen folgende Parameter angegeben werden:

  • gai: Der Identifikator für ein Asset. Kann als Asset-ID oder als GAI angegeben werden.

  • input/output: Gibt an, ob der Eingang oder Ausgang des ausgewählten Assets angesteuert wird

  • Raster: In diesem Beispiel M15, also ein Intervall von 15 Minuten. Gibt an, aus welchem Zeitintervall aggregierte Daten bezogen werden. Mehr Informationen zum Raster gibt es ↗ hier

  • last/first/avg: Gibt an, ob jeweils der letzte Wert, der erste Wert oder der durchschnittliche Wert ausgewählt werden.

Beispiel ‌result = pipeline.get(plpy, gai, "input", "temperature", "M15", "avg", ["asset_id","first","last","avg"])

Bibliotheken importieren

Um Bibliotheken und deren Funktionen in einem Skript verwenden zu können, müssen die Bibliotheken erst importiert werden. Dazu werden im ↗ Code-Editor folgende Befehle verwendet:

Bibliothek Heap aufrufen

from eliona import heap

Bibliothek Pipeline aufrufen

from eliona import pipeline

Bibliothek Asset aufrufen

from eliona import pipeline

Mehrere Bibliotheken importieren

Mehrere Bibliotheken können in einem einzigen Befehl aufgerufen werden. Der folgende Befehl importiert gleichzeitig die Bibliotheken Heap und Pipeline:

‌from eliona import heap, pipeline

Beispiel

Das folgende Code-Beispiel zeigt die Struktur eines Skripts.

#Importiert die Bibliotheken "Heap" und "Pipeline"
from eliona import heap, pipeline

#Importiert die Bibliotheken "Heap" und "Pipeline"
from json import dumps

# Erstellt eine Variable namens "wind3" und holt Daten aus dem Heap des Assets "Wind Forecast", Subtyp "Input", Attribut "Windgeschwindigkeit in 3h"
wind3 = heap.get(plpy,"Wind Forecast","input","Windgeschwindigkeit in 3h")

# Erstellt eine Variable namens "wind6" und holt Daten aus dem Heap des Assets "Wind Forecast", Subtyp "Input", Attribut "Windgeschwindigkeit in 6h"
wind6 = heap.get(plpy,"Wind Forecast","input","Windgeschwindigkeit in 6 h")

# Erstellt eine Variable namens "wind9" und holt Daten aus dem Heap des Assets "Wind Forecast", Subtyp "Input", Attribut "Windgeschwindigkeit in 9h"
wind9 = heap.get(plpy,"Wind Forecast","input","Windgeschwindigkeit in 9h")

# Erstellt eine Variable namens "wind12" und holt Daten aus dem Heap des Assets "Wind Forecast", Subtyp "Input", Attribut "Windgeschwindigkeit in 12h"
wind12 = heap.get(plpy,"Wind Forecast","input","Windgeschwindigkeit in 12 h")

# Ermittelt den höchsten Wert der Variablen die oben erstellt wurden 
data = {}
data["Windgeschwindigkeit 12h-max"] = max(wind3,wind6,wind9,wind12)

# Schreibt den ermittelten Höchstwert in das Asset "Wind Forecast"
result = heap.set(plpy,"Wind Forecast","input",dumps(data))

return

Last updated