Skip to content

Commit

Permalink
Pre Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
drbacke committed Oct 6, 2024
1 parent 9d3db8e commit 106e1b5
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 12 deletions.
2 changes: 1 addition & 1 deletion modules/class_ems.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ def simuliere(self, start_stunde: int) -> dict:

# Accumulate loads and PV generation
verbrauch = self.gesamtlast[stunde]

if self.haushaltsgeraet:
ha_load = self.haushaltsgeraet.get_last_fuer_stunde(stunde)
verbrauch += ha_load
Expand Down
4 changes: 3 additions & 1 deletion single_test_optimization.py
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,9 @@
}

# Initialize the optimization problem
opt_class = optimization_problem(prediction_hours=48, strafe=10, optimization_hours=24, verbose=True)
opt_class = optimization_problem(
prediction_hours=48, strafe=10, optimization_hours=24, verbose=True
)

# Perform the optimisation based on the provided parameters and start hour
ergebnis = opt_class.optimierung_ems(parameter=parameter, start_hour=start_hour)
Expand Down
21 changes: 11 additions & 10 deletions tests/test_class_ems.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@

from modules.class_akku import PVAkku
from modules.class_ems import EnergieManagementSystem
from modules.class_inverter import Wechselrichter # Example import
from modules.class_haushaltsgeraet import Haushaltsgeraet
from modules.class_inverter import Wechselrichter # Example import

prediction_hours = 48
optimization_hours = 24
start_hour = 1


# Example initialization of necessary components
@pytest.fixture
def create_ems_instance():
Expand All @@ -21,12 +23,12 @@ def create_ems_instance():

# Household device (currently not used, set to None)
home_appliance = Haushaltsgeraet(
hours=prediction_hours,
verbrauch_wh=2000,
dauer_h=2,
)
hours=prediction_hours,
verbrauch_wh=2000,
dauer_h=2,
)
home_appliance.set_startzeitpunkt(2)

# Example initialization of electric car battery
eauto = PVAkku(kapazitaet_wh=26400, start_soc_prozent=10, hours=48)

Expand Down Expand Up @@ -206,9 +208,9 @@ def test_simulation(create_ems_instance):
ems = create_ems_instance

# Simulate starting from hour 1 (this value can be adjusted)

result = ems.simuliere(start_stunde=start_hour)

# Assertions to validate results
assert result is not None, "Result should not be None"
assert isinstance(result, dict), "Result should be a dictionary"
Expand Down Expand Up @@ -297,7 +299,7 @@ def test_simulation(create_ems_instance):
abs(result["Gesamteinnahmen_Euro"] - 1.237432954545454) < 1e-5
), "Total revenue should be 1.237432954545454."
assert (
abs(result["Gesamtkosten_Euro"] - 10.329075084000001 ) < 1e-5
abs(result["Gesamtkosten_Euro"] - 10.329075084000001) < 1e-5
), "Total costs should be 10.329075084000001 ."

# Check the losses
Expand All @@ -321,6 +323,5 @@ def test_simulation(create_ems_instance):
assert (
sum(result["Haushaltsgeraet_wh_pro_stunde"]) == 2000
), "The sum of 'Haushaltsgeraet_wh_pro_stunde' should be 2000."


print("All tests passed successfully.")

0 comments on commit 106e1b5

Please sign in to comment.