Python Skripte schreiben
Mit der Einführung von Eliona Version 12.2 wurden wichtige Änderungen vorgenommen, die es erforderlich machen, Skripte anzupassen, um das neue API-Design zu nutzen.
Skript-Definition
Wenn ein neues Skript im Eliona-System erstellt wird, wird automatisch ein Funktionsheader generiert. Dieser Header enthält zwei Parameter:
id
: Die eindeutige ID des Skripts.eliona
: Ein Objekt, über das der Benutzer mit dem Eliona-System interagieren kann.
Der Funktionsheader sieht wie folgt aus:
Importieren von Modulen
Alle notwendigen Module müssen innerhalb der Funktion importiert werden. Es ist wichtig, dass Module nur innerhalb der Funktion importiert und keine globalen Importe verwendet werden.
Beispiel:
Methoden des Eliona-Objekts
Das eliona
-Objekt stellt eine Reihe von Methoden zur Verfügung, die es Benutzern ermöglichen, mit dem Eliona-System zu interagieren. Hier sind die wichtigsten Methoden zusammen mit ihren Parametern und Beschreibungen:
Beispielskripte
Einfaches Skript zur Manipulation von Daten
Dieses Beispiel zeigt, wie ein Skript einen zufälligen Wert generiert und diesen in den Heap eines Assets schreibt:
Beschreibung:
Das Skript importiert das Modul
random
.Es wird ein Wörterbuch
data
erstellt, das einen Schlüsselpower_val
enthält, dem ein zufälliger Wert zwischen 10 und 100 zugewiesen wird.Der generierte Wert wird mit der Methode
SetHeap
in den Heap des AssetsTestInactIn
geschrieben.
Daten abrufen und modifizieren
In diesem Beispiel wird der Wert eines Attributs von einem Asset abgerufen, modifiziert und in einem anderen Asset gespeichert:
Beschreibung:
Das Skript importiert das Modul
datetime
.Der aktuelle Wert des Attributs
power_val
wird aus dem Heap des AssetsTestInactIn
abgerufen.Dieser Wert wird verdreifacht und als
energy_val
in dasselbe Asset geschrieben.
Erweiterte Funktionen und SQL-Abfragen
Mit der Methode SQLQuery
können beliebige SQL-Abfragen direkt aus dem Skript heraus ausgeführt werden:
Beschreibung:
Die SQL-Abfrage ruft alle Informationen zu dem Asset mit der GAI
TestInactIn
ab.Das Ergebnis kann anschließend weiterverarbeitet werden.
Last updated