UI Historie für Simulationen nutzen

Guten Tag Stefan,
wir versuchen momentan die Historie für eine grafische Darstellung unserer Simulationen mit OpenEMS zu nutzen.
Dafür nutzen wir über Edge die Komponente Timedata-InfluxDB in Kombination mit der RRD4J.
Wir haben ein System simuliert mit einem Haushaltslastprofil als CSV, sowie einem PV-Erzeugungsprofil als CSV und einem ess0. Gesteuert wird dieses System mit dem ctrBalancing0.
Die Historie funktioniert gut, stellt leider aber nur 5-Minuten-Werte der Sekunden-Daten dar.
Hierzu haben wir 2 Fragen:

  1. Gibt es eine Möglichkeit, auch 10-Sekunden-Mittelwerte oder 1-Sekunden-Werte in der Historie der UI darzustellen? Oder sollten wir dafür ein anderes Programm nutzen?
  2. Kann man für Simulations-Zwecke auch die Simulation “vorspulen”, heißt innerhalb kurzer Zeit einen ganzen Tag simulieren?

Danke im Voraus und schöne Grüße von der TH Köln,

Andreas Kiwitz
Joshua Seeger

Hallo Andreas und Joshua,

so schnell hab ich es selten geschafft zu antworten… :slight_smile:

Ihr braucht eigentlich entweder die InfluxDB-Anbindung oder RRD4j. RRD4j ist einfacher zu konfigurieren, weil man sonst nichts installieren braucht, aber dann könnt ihr nur mit der UI-Historie arbeiten. Wenn ihr InfluxDB verwendet, könnt ihr auf die InfluxDB z. B. sehr gut über Grafana zugreifen und sehr flexible Auswertungen machen.

Zur 1. Frage:
Der QueryHistoricTimeseriesDataRequest nimmt einen optionalen Parameter “resolution” in Sekunden (siehe hier). Wenn dieser fehlt, wird er automatisch berechnet je nach angefragtem Zeitraum (siehe hier). Ihr könnt z. B. die Anfrage im UI so abändern, dass hier eine andere Auflösung mitgesendet wird (hier).

Zur 2. Frage:
Ich habe zum letzten Release genau an so einem Thema gearbeitet. Das sollte für euren Anwendungsfall schon funktionieren - siehe die Release-Notes und den Pull-Request. Damit kann eine Simulation per JSONRPC call ausgelöst werden. Ich verwende dafür diese Chrome-Extension:

Gruß,
Stefan

Vielen Dank für diese sehr schnelle Antwort.
Wir werden es mal versuchen und uns melden wenn wir noch Fragen haben.
Wünschen einen schönen Tag!

1 Like

Guten Tag Stefan,

zur 1. Frage:
das war ein sehr guter Hinweis und funktioniert wie beschrieben.
Die Historie zeigt jedoch keine feinere Auflösung als 1-Minuten-Werte an.
image
Ist die Anzeige von 1-Sekunden-Werte auf dem Graph möglich?

Zur 2. Frage:
Das scheint genau das Richtige für unsere Zwecke zu sein.
Aktuell wird mir jedoch eine Fehlermeldung angezeigt (siehe Bild).
Hast du eine Idee, woran es hier scheitert?


Vielen Dank und schöne Grüße,

Joshua

Hallo Joshua,

zu 1: werden die Daten in der Auflösung 1-Sekunde geschickt? Du kannst das z. B. in der Browser-Konsole mitlesen (Response zu queryHistoricTimeseriesData) oder mit einem Breakpoint in Eclipse.

zu 2: der Fehler sagt, dass ein Fehler im JSON vorliegt. Hast du genau das Beispiel aus https://github.com/OpenEMS/openems/blob/develop/io.openems.edge.simulator/readme.adoc übernommen?

Hallo Stefan,

danke nochmals für die hilfreichen Kommentare.
Zu 2.: Ich habe den Fehler auf meiner Seite beheben können und es funktioniert soweit.
Da ich noch unerfahren mit API Testing und JSON requests bin habe ich Probleme, die “Fast-Forward-Funktion” zu nutzen.
Das Ergebnis des Requests sieht so aus:

Da der Body keinen Inhalt zeigt, frage ich mich was hier fehlt.

Außerdem wäre es hilfreich zu verstehen, welches der nächste Schritt ist um vorgespulte Simulationen auswerten zu können, beispielsweise über Visualisierung oder Export in eine CSV.
Leider bin ich mithilfe der Dokumentation von euch und von Talend API Tester nicht viel weiter gekommen.

Hoffentlich kannst du hier noch einmal weiterhelfen. Ich stehe im Übrigen auch jederzeit für eine kurze Screen-Sharing-Session zur Verfügung, falls das den Prozess erleichtert.

Danke im Voraus und einen schönen Wochenstart,

Joshua