Hallo Stefan,
erstmal vielen Dank für die Unterstüzung und entschuldigung wegen der späten Antwort. Ich studiere Informatik und die BA ist an der TU München bei Professor Pretschner angemeldet. Meine beiden Betreuer arbeiten bei fortiss und ich soll schöne Grüße von meinem Betreuer Markus Duchon ausrichten.
Ich habe das Projekt jetzt mithilfe der Tipps soweit entwickelt, dass ich zwischen der UI und Edge gut kommunizieren kann. Und es in der Praxis bereits funktioniert. Jetzt muss nur noch ich die Logik der Ladeprozesse in der Edge programmieren.
Dafür wollte ich die timeofuse.api verwenden und dann einige Methoden ähnlich zu denen in controller.ess.timeofusetariff.discharge in meiner Komponente nachbauen. Ich habe dafür in meinem bundle zuerst im bnd-file beim build das bundle importiert und dann einfach wie in controller.ess.timeofusetariff.discharge versucht es zu verwenden, also:
@Reference
private TimeOfUseTariff timeOfUseTariff;
…
TimeOfUsePrices prices = this.timeOfUseTariff.getPrices();
(Das war zum ausprobieren erstmal alles)
Dann habe ich in der EdgeApp resolved. Das lief auch durch und eclipse hat auch keine Fehler angezeigt.
Allerdings wenn ich die Edge starte, bekomme ich neue Fehlermeldungen, die jetzt auch bundles betreffen die nutze. Ich bekomme schon länger beim Start immer 4 BundleExeption Fehler, aber das hatte die Funktion bisher nicht eingeschränkt.
(Die Fehler kommen auch wenn ich einen neuen Workspace mit neuem geklontem Projekt starte)
Da die Fehlermeldungen sehr lang und daher hier schlecht zu lesen sind, habe ich sie jetzt bis auf die Neue erstmal gekürzt. Im Prizip sind sie gleich aufgebaut nur andere missing requirements.
Die alten Fehler sind:
ERROR: Bundle io.openems.edge.evcs.ocpp.abl [91]
ERROR: Bundle io.openems.edge.evcs.ocpp.common [92]
ERROR: Bundle io.openems.edge.evcs.ocpp.ies.keywatt.singleccs [93]
ERROR: Bundle io.openems.edge.evcs.ocpp.server [94]
jetzt neu ist:
ERROR: Bundle io.openems.wrapper.eu.chargetime.ocpp [148] Error starting projectfolder/io.openems.wrapper/generated/io.openems.wrapper.eu.chargetime.ocpp.jar (org.osgi.framework.BundleException: Unable to resolve io.openems.wrapper.eu.chargetime.ocpp [148](R 148.0): missing requirement [io.openems.wrapper.eu.chargetime.ocpp [148](R 148.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.soap) Unresolved requirements: [[io.openems.wrapper.eu.chargetime.ocpp [148](R 148.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.soap)])
org.osgi.framework.BundleException: Unable to resolve io.openems.wrapper.eu.chargetime.ocpp [148](R 148.0): missing requirement [io.openems.wrapper.eu.chargetime.ocpp [148](R 148.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.soap) Unresolved requirements: [[io.openems.wrapper.eu.chargetime.ocpp [148](R 148.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.soap)]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2308)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1566)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:832)
Darunter wurde dann noch folgendes geloggt:
2021-11-16 13:53:24,434 [artLevel] INFO [org.apache.felix.http.jetty ] Started Jetty 9.4.43.v20210629 at port(s) HTTP:8080 on context path / [minThreads=8,maxThreads=200,acceptors=2,selectors=8]
2021-11-16 13:53:24,566 [artLevel] WARN [ntmanager.ComponentManagerImpl] bundle io.openems.edge.core:1.0.0.202111161146 (75)[io.openems.edge.core.componentmanager.ComponentManagerImpl(1)] :
Could not get service from ref [io.openems.edge.common.component.ComponentManager, io.openems.edge.common.component.OpenemsComponent, io.openems.edge.common.jsonapi.JsonApi, org.osgi.service.cm.ConfigurationListener]
2021-11-16 13:53:24,567 [artLevel] WARN [ntmanager.ComponentManagerImpl] bundle io.openems.edge.core:1.0.0.202111161146 (75)[io.openems.edge.core.componentmanager.ComponentManagerImpl(1)] :
Could not get service from ref [io.openems.edge.predictor.api.manager.PredictorManager, io.openems.edge.common.component.OpenemsComponent, io.openems.edge.common.jsonapi.JsonApi]
Die Warnings kamen jeweils 2 mal.
Als ich es jetzt nochmal ausgeführt habe (ohne etwas zu ändern), kam etwas neues, wobei es auch nur ca. jedes zweite mal passiert wenn ich es neu starte:
Und jetzt, auch nachdem ich die Änderungen in meiner Komponente rückgängig gemacht habe funktioniert es nicht mehr. Auch in den Runs welche keine Warnings anzeigen. Dadurch, dass die Fehlermeldungen auch beim neuen Aufsetzen noch da sind, weiß ich nicht wirklich was ich an der Stelle machen soll?
Gibt es sowas wie einen Reset für alle generated Sachen, vor Allem die die außerhalb des Projektordners gespeichert werden?
Und war ich mit dem TimeOfUseTariff auf der richtigen Spur? Muss nicht an irgendeiner Stelle die konkrete Awattar oder Corrently Component-Id übergeben werden?
Beste Grüße
Jonas