wir arbeiten zur Zeit an der OpenEMS Integration einer neuen Komponente in die Edge, deren Messdaten per REST-API über eine HTTPS Verbindung bereitgestellt werden. Die Verschlüsselung basiert jedoch auf einem Self-Signed Certificate, die in Java die Integration in den TrustStore oder eine eigene Implementierung des Interfaces “X509TrustManager” erfordern.
Die eigene Implementierung des X509TrustManager haben wir erstmal verworfen, da hier die Gefahr besteht große Sicherheitslücken in gesamte Edge Installation zu reißen. Leider benutzt die HTTPBridge (Stand: develop) den Standard HTTP-Client von Java, der sich mit Self-Signed Certificates extrem schwer tut. Es gibt Clients, die den Umgang mit Self-Signed Certificates etwas leichter machen. Gibt es dazu schon Ideen? Ist da ggf. schon was in Arbeit, das man nutzen könnte?
Danke, das sieht hilfreich aus. Mir geht’s nur darum möglichst nicht die Zertifikatsprüfung für die gesamte laufende Edge Instanz abzuschalten. Der von der HttpBridge verwendete Aufruf der Java Url Klasse zum Verbindungsaufbau greift ja recht tief ins Java Öko-System, sodass man das nur schwer umgehen kann.
Wir haben jetzt erstmal auf ‘n Custom Trust-Store gesetzt. Die Variante aus dem Reader ist ‘ne gute Referenz für den weiteren Ausbau.
Dankeschön @Sn0w3y … Kommt später, grad darf ich noch nichts zum Projekt sagen, nur zu mir. Bin Senior Java Dev bei der “/y GmbH & Co. KG” und bin seit über 20 Jahren in der Software-Entwicklung vorrangig auf Basis von Java und später auch Node.JS unterwegs. Tech-Stacks recht unterschiedlich, meistens Enterprise-Java oder Spring basiert, auch mit OSGI hatte ich schon einige Berührungspunkte.
Sooo .. Jetzt etwas mehr zum Projekt. Wir arbeiten gerade an einem Projekt, dass die PLCnext Plattform von Phoenix Contact an OpenEMS anbindet.
Ziel des Projekts ist die Entwicklung einer modularen, skalierbaren und offenen Energiemanagementlösung durch die Kombination von OpenEMS (Open Source Energy Management System) mit der industriellen Steuerungsplattform PLCnext von Phoenix Contact.
Hybridsysteme aus PV, BESS und steuerbaren Verbrauchern (Ladeinfrastruktur) werden bei C&I Kunden immer häufiger eingesetzt. Der EZA-Regler sorgt für die Netz-Dienlichkeit; eine weitere Komponente steuert Erzeuger und Speicher nach seinen Vorgaben. Hierfür kommt OpenEMS zum Einsatz. Folgende Strategien sind denkbar:
Eigenverbrauchsoptimierung
Lastspitzenkappung
Gleichverteilung mit Priorisierung
BESS Lade- und Entlademanagement
Infrastrukturüberwachung
Phasengranulare Überwachung
Blindleistungsregelung.
PLCnext:
PLCnext Technology ist eine offene, Linux-basierte Steuerungsplattform, die klassische SPS-Funktionalität mit modernen IT-Technologien verbindet. Sie erlaubt die gemeinsame Verwendung von IEC 61131-3, Hochsprachen wie C++, Python und modellbasierter Entwicklung (z. B. MATLAB/Simulink) in einer Lösung auf einem Gerät.
OpenEMS:
OpenEMS ist ein Open Source Projekt, welches für die Umsetzung von verschiedenen Energy Management Anforderungen konfiguriert werden kann. Die flexible Softwarearchitektur ermöglichet es Anwendungen für eine Steuerung und Optimierung von Energiesystemen auf verschiedenen Plattformen zu portieren und je nach Anforderung zu skalieren. Die Software enthält eine umfangreiche Sammlung an Treibern, welche durch die Community gepflegt und erweitert wird.
Gibt es eigentlich eine Möglichkeit nur bestimmte Komponenten der Edge auf einem Device zu deployen? Ich meine, das sind ja alles OSGI Module.
Versuche gerade die Edge auf einem Controller mit knapp 500MB Arbeitsspeicher, davon 200MB benutzt und nur 80MB wirklich frei ans Laufen zu bekommen. Die Edge und das JRE ziehen jedoch so viel Speicher, dass das nicht lange läuft. Hab es schon mit GC Optimierung und Einschränken des Heap und Stack versucht, leider ohne Erfolg.