Skip to content

Commit 266e0bc

Browse files
authored
Bugfix: Meters record all energy types for each component instead of only one (#90) (#91)
* Bugfix meters Energy types now considered in the file creation already * String fix keys to key again * Quickfix
1 parent 6a633fd commit 266e0bc

2 files changed

Lines changed: 9 additions & 5 deletions

File tree

hamlet/creator/agents/agents.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -483,10 +483,13 @@ def _create_plants_for_agent(self, account: dict, agent_type: str) -> Tuple:
483483
plants_ids += [plant_id]
484484

485485
# Add meter data
486-
meters[plant_id] = self.__init_vals(df=meters) # TODO: Ponder if rows need to be added here
486+
energy_types = c.COMP_MAP[plant].keys()
487+
for key in energy_types:
488+
col_id = f'{plant_id}_{plant}_{key}'
489+
meters[col_id] = self.__init_vals(df=meters)
487490

488491
# Add setpoints
489-
setpoints[plant_id] = self.__init_vals(df=setpoints) # TODO: Ponder if rows need to be added here
492+
setpoints[plant_id] = self.__init_vals(df=setpoints)
490493

491494
# Add and process additional plant information
492495
plant_dict.update(info)

hamlet/executor/utilities/controller/rtc/rtc.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -476,12 +476,13 @@ def update_meters(self, solution: dict) -> pl.DataFrame:
476476
row_now = self.meters.filter(self.meters[c.TC_TIMESTAMP] == self.timestamp)
477477
row_new = self.meters.filter(self.meters[c.TC_TIMESTAMP] == self.timestamp + self.dt)
478478

479+
# Create strings for energy types
480+
energy_endings = tuple(f'_{et}' for et in self.energy_types)
481+
479482
# Update meters
480483
for col in self.meters.columns[1:]:
481484
# Extract power from variable values
482-
key = next((key for key in solution
483-
if key.startswith(col) and (key.endswith('_power') or key.endswith('_heat'))),
484-
None)
485+
key = next((key for key in solution if key.startswith(col) and key.endswith(energy_endings)), None)
485486

486487
if key: # Check for matching key
487488
# Calculate energy from power

0 commit comments

Comments
 (0)