EMS-Simulation durch Daten aus DB statt CSV-Dateien

Hallo liebe OpenEMS-Community,
Mit der “Getting started” Anleitung und weiterer verfügbarer Dokumentation habe ich ein Beispielszenario ausgearbeitet. Es ist klar, dass wir derzeit Daten aus CSV-Dateien lesen können, die ich bin sicher, mit neuen Daten geändert werden können. Ich denke, wir können auch eine neue JAVA Class erstellen, die im Grunde die gleichen Daten aus einer Datenbank anstatt aus einer CSV-Datei lesen kann. Bitte korrigieren Sie mich, wenn ich falsch liege.

Falls eine solche Option bereits verfügbar ist oder jemand bereits daran gearbeitet hat, würde ich definitiv gerne wissen, wie es gemacht wurde.

Viele Grüße
Laksh

1 Like

Hallo Laksh,

die simulierten Zähler - z. B. der Simulator.ProductionMeter.Acting - holen sich ihre Daten von einer Komponente, die SimulatorDatasource implementiert. Siehe:

Hier ist das Java-Interface, das implementiert werden muss: openems/SimulatorDatasource.java at develop · OpenEMS/openems · GitHub. Am wichtigsten ist dabei die Methode getValue(), die bei jeweils einmal im Zyklus (z. B. einmal je Sekunde) aufgerufen wird und dann den nächsten Wert zurückliefern muss.

Die Logik dafür für die CSV-Komponenten befindet sich in der AbstractCsvDatasource:

Eine (generische) Implementierung, die diese Daten direkt aus einer Datenbank zieht ist mir leider nicht bekannt.

Gruß,
Stefan