Erweiterung RevPi IO Implementierung und RevPi Modbus Anbindung

Hallo,
ein paar Freunde und ich überlegen ein Startup zu gründen um Landwirtschaftliche Betriebe beim Energiemanagement zu unterstützen. Wir haben schon erste Tests mit dem RevPi unternommen und es scheint für uns die geeignete Plattform für OpenEms zu sein (Wir müssen nicht unsere eigene Hardware entwickeln).

Als Nebeneffekt hab ich die bestehende Library von C. Lehne erweitert um alle Kunbus IO-Module nutzen zu können. Zusätzlich hab ich die OpenEMS RevPi DIO Implementierung refactored um sowohl digitale als auch analoge Ein- und Ausgange zu bedienen. Aktuell bin ich noch dabei einen Adapter für RevPi Modbus-Kommunikation zu schreiben. Das Ganze ist noch etwas hacky und braucht noch Tests. Aber ich wollte mich schon mal erkundigen, ob und wie ich das der Community über Github bereitstellen kann. Wie läuft Code Review ab, usw? Momentan habe ich auf Github geforked und benutze GerritHub für Codereview und das Zwischenparken.

Um die Analogwerte vernünftig verwenden zu können, bräuchte es vermutlich auch ein virtuelles Gerät um z.B. die Analogwert in Temperaturen oder Füllstandspegel zu konvertieren. Aber man kann sie schon direkt auslesen und z.B. als Thresholds verwenden.

Kann mir jemand Tipps geben wo ich Dokumentation (Guidelines) zur Mitarbeit bei OpenEMS auf Github finde und wie ich am Besten weiter vorgehe?

Danke & Gruß
Michael

Hallo Michael,

das klingt toll. Ich komme selbst aus der Landwirtschaft und sehe da sehr viel Potential für Energiemanagement. Auch unsere Speicher (insbesondere den Commercial 30) enwickeln wir speziell für den Einsatz in der Landwirtschaft und haben da auch regelmäßige Anfragen für weitergehendes Energiemanagement. Wenn das mit dem Startup spruchreif ist, dann meldet euch doch bitte im OpenEMS Marktplatz - und gerne auch mal bei mir persönlich um gemeinsame Projekte für Kunden umzusetzen. FENECON unterstützt auch gerne und regelmäßig Startups im OpenEMS-Umfeld.

Für die Hardware könnt ihr euch gerne auch mal das Consolinno Leaflet ansehen. Consolinno ist aktives Mitglied in der OpenEMS Association und entwickelt sozusagen die “OpenEMS Standard-Hardware”: OpenEMS in der Praxis: Das Consolinno Leaflet – OpenEMS. Hier kann ich auch gerne einen Kontakt herstellen.

Für Code-Beiträge nutzen wir die Standard Github-Prozesse, d.h. du erstellst einfach aus deinem Fork einen Pull-Request und wir, d.h. erfahrene OpenEMS-Entwickler, reviewen das dann. Häufig mache das ich; wenn es um RevPi geht, vermutlich auch @c.lehne. Je kleiner der erste Pull-Request ist umso einfacher geht es erfahrungsgemäß.

Ein eigenes virtuelles Gerät wäre sicher sinnvoll. Das könnte dann z. B. die “Thermometer”-Api implementieren.

Leider haben wir noch keine Contributor-Guidelines; wir sind aber echte Menschen und man kann einfach mal starten - alles Weitere ergibt sich dann. :slight_smile: (Wir haben vor Jahren mal angefangen Guidelines zu schreiben, haben das aber bis jetzt leider nicht fertig gemacht → [WIP] Documentation of OpenEMS Contribution Guidelines by fabianfnc · Pull Request #1006 · OpenEMS/openems · GitHub)

Gruß,
Stefan

Hallo Stefan,

danke für die Tipps. Das behalte ich auf jeden Fall mal im Hinterkopf. Ich habe Christian Lehne kontaktiert und gefragt ob er Interesse hat seine Library zu erweitern. Ich melde mich, wenn ich anfange Änderung in OpenEms zu machen. Könnte ich dafür schon mal einen Branch haben? Musst du mir den anlegen, oder läuft das auch über ein Pull Request? Ich hab mit Github noch nicht viel gemacht. Bin aber die Arbeit mit Git und Gerrit gewohnt.

Gruß,
Michael

Hallo Michael,

alles klar - jederzeit. Der erste Schritt ist der Fork auf Github (Fork a repo - GitHub Docs). Sobald du dann etwas zum Review einreichen möchtest, kannst du direkt aus dem Fork einen Pull-Request starten (Creating a pull request from a fork - GitHub Docs). Beim Erstellen des Pull-Requests kannst du uns dann auch Schreibrechte auf den Branch geben, so dass wir aktiv zusammenarbeiten können.

Gruß,
Stefan