Veröffentlichung Controller

Hallo zusammen,

Ich würde gerne einige von mir programmierte Controller veröffentlichen. ( Wettervorhersage, Berechnung Sonnenauf/untergangszeiten, Ladestation Go-E)

Können sie mir hierzu Instruktionen geben, was es dafür zu tun gibt?

Beste Grüße,

Dominik Bauer

Hallo Dominik,

vielen Dank für deine Anfrage. Die Entwicklungen klingen sehr spannend.

Generell arbeiten wir nach dem “GitHub flow”-Prinzip: https://guides.github.com/introduction/flow/ - d.h.

  1. Jeder Entwickler arbeitet in seinem eigenen Branch und entwickelt dort seine Funktion. Üblicherweise heißt so ein Branch dann “feature/funktionXY”
  2. Der Entwickler erstellt in Github einen Pull-Request
  3. Andere Entwickler “reviewen” den Code. Dabei schauen wir auf…
    3.1 die Umsetzung der Funktion an sich und wie sich diese in die Architektur von OpenEMS einfügt
    3.2 Dokumentation (insb. readme.adoc und bnd.bnd)
    3.3 Code-Qualität (Best Practices, Einhaltung der Java Coding Conventions, unnötige system.out.println, Fehler/Warnungen in Eclipse, Checkstyle - wir haben geplant das mal zu dokumentieren, aktueller Stand ist hier: https://github.com/OpenEMS/openems/pull/1006/files)

Je nach Größe des Pull-Requests kann dieser Vorgang mehr oder weniger lang dauern. Empfehlenswert ist in jedem Fall, einzelne Funktionen in einzelne Pull-Requests zu trennen - also einen Pull-Request für Wettervorhersage, einen für Sonnenauf/untergang, einen für Ladestation, usw.

Am besten starten wir mal mit der einfachsten Entwicklung und exerzieren daran mal den Prozess durch, ok?

Wenn eine Funktion nocht nicht fertig ist, kann ein Pull-Request auch als “Draft” (Entwurf) gestartet werden. Dann wissen zumindest die anderen Mitglieder in der Community schon einmal, dass eine bestimmte Funktion entwickelt wird und können vielleicht auch schon einen ersten Blick auf den Code werfen und Rückmeldungen geben.

Gruß,
Stefan

Hallo Dominik,

das ist sehr interessant, ich arbeite ebenfalls an ähnlichen Controllern.
Vorallem würde mich interessieren, mit welchen Anbieter du die Wettervorhersage holst und wie du mit den Daten auf die Anlagenleistung umrechnest.

Mein Ansatz bisher ist über den australischen Anbieter Solcast (https://docs.solcast.com.au/#introduction), der kostenlos 10 API-Abfragen pro Tag zulässt.

Teilweise Implementiert habe ich es im Energiemonitor


und in der Erzeugung

Leider kann ich noch keine Aussage zur Genauigkeit, da meine Anlage erst in den nächsten Wochen in Betrieb geht.
Konntest du bei dir schon Erfahrungen damit sammeln?

Viele Grüße
Christian

@stefan.feilmeier Ich habe gesehen, dass im Pullrequest https://github.com/OpenEMS/openems/pull/1327 eine neue Prediction-Architektur erstellt wird.
Ist auch eine Implementierung in die UI vorgesehen? Das wäre perfekt für meine Bedürfnisse, die oben dargestellten Verläufe waren sehr spezifisch und nicht allgemein Verwendbar. Schade, dass ich hier zu langsam war.
Mein Trost ist, dass ich in der Zeit doch tiefer in die OpenEMS-Struktur einsteigen konnte.

Gruß
Christian

Genau, daran arbeite ich im Rahmen des Forschungsprojekts EMSIG. Hier eine kurze Präsentation, mit der ich das vor kurzem erst im Konsortium vorgestellt habe (und daraufhin noch ein paar Anpassungen gemacht habe)

2020-12-10 OpenEMS Prediction Architecture.pdf (196.2 KB)

Meine Idee für eine Zweitverwendung der Vorhersage wäre auch - genau wie in deinem Screenshot oben - die “weiße Fläche” in der historischen Ansicht zu befüllen. Ein bisschen Quellcode dazu gibt es auch bereits im Pull-Request. Bisher allerdings nur einen console.log und keine Charts.

Gruß,
Stefan

1 Like

Hallo Stefan,

danke für die Präsentation. Hört sich sehr interessant an und werde ich mir definitiv genauer anschauen.

Gruß
Christian