-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Voor specifiek project is dit nodig. Lijkt me mooi om dit op te pakken en eindelijk te maken, zonder engine te hoeven overriden.
Mijn voorstel zou zijn:
Creer een nieuwe type Management interface genaamd: I_EnergyManagement. Met de standaard methode manageFlexAssets(timeVariables) ofzo.
Deze klasse vervangt f_operateFlexAssets in de GridConnection.
De f_operateFlexAssets wordt vervangen door een parameter genaamd p_energyManagement. Die net als f_operateFlexAssets elke tijdstap wordt aangeroepen (als de parameter niet null is).
de methode 'manageFlexAssets(timeVariables)' van de J_EnergyManagementDefault (die I_EnergyManagement implementeerd) ziet er dan uit als:
gc.f_manageHeating(timeVariables);
gc.f_manageEVCharging(timeVariables);
gc.f_manageBattery(timeVariables);
Zonnevelden hoeven de EMS niet, parameter kan gewoon leeg zijn want die hebben alleen fixed, net als windarms.
Laadpalen hoeven alleen een EnergyManagementCharging (of zelfs default is gewoon mogelijk, want de andere managements zijn toch leeg).
-> Dit geeft je de mogelijkheid om heel makkelijk een andere (custom) EMS te implementeren in je GC. Dit lijkt mij erg fijn.
Bovendien haalt dit 1 van de laatste grote verschillen weg voor child GridConnections. -> Weer een reden om GC childs weg te halen. Fijn denk ik.