Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 58 additions & 4 deletions gridappsd-field-bus-lib/gridappsd/field_interface/agents/agents.py
Original file line number Diff line number Diff line change
Expand Up @@ -262,15 +262,33 @@ def __init__(self,
if self.agent_area_dict is not None:
self.switch_area = SwitchArea(self.downstream_message_bus_def.id,
self.connection)
self.switch_area.initialize_switch_area(self.agent_area_dict)
if "secondary_areas" in self.agent_area_dict.keys():
self.switch_area.initialize_switch_area(self.agent_area_dict)
else:
_log.warn(
f"{type(self).__name__}:{self.downstream_message_bus_def.id} recieved erroneously the feeder level context dictionary from the switch area context manager instance."
)
for area in self.agent_area_dict.get("switch_areas",[]):
if self.downstream_message_bus_def.id == area.get("message_bus_id"):
self.switch_area.initialize_switch_area(area)
break


def connect(self):
super().connect()
if self.switch_area is None:
self.switch_area = SwitchArea(self.downstream_message_bus_def.id,
self.connection)
self.switch_area.initialize_switch_area(self.agent_area_dict)
if "secondary_areas" in self.agent_area_dict.keys():
self.switch_area.initialize_switch_area(self.agent_area_dict)
else:
_log.warn(
f"{type(self).__name__}:{self.downstream_message_bus_def.id} recieved erroneously the feeder level context dictionary from the switch area context manager instance."
)
for area in self.agent_area_dict.get("switch_areas",[]):
if self.downstream_message_bus_def.id == area.get("message_bus_id"):
self.switch_area.initialize_switch_area(area)
break


class SecondaryAreaAgent(DistributedAgent):
Expand All @@ -288,15 +306,51 @@ def __init__(self,
if self.agent_area_dict is not None:
self.secondary_area = SecondaryArea(self.downstream_message_bus_def.id,
self.connection)
self.secondary_area.initialize_secondary_area(self.agent_area_dict)
if "switch_areas" in self.agent_area_dict.keys():
_log.warn(
f"{type(self).__name__}:{self.downstream_message_bus_def.id} recieved erroneously the feeder level context dictionary from the secondary area context manager instance."
)
for switchArea in self.agent_area_dict.get("switch_areas",[]):
for secondaryArea in switchArea.get("secondary_areas",[]):
if self.downstream_message_bus_def.id == secondaryArea.get("message_bus_id"):
self.secondary_area.initialize_secondary_area(secondaryArea)
break
elif "secondary_areas" in self.agent_area_dict.keys():
_log.warn(
f"{type(self).__name__}:{self.downstream_message_bus_def.id} recieved erroneously the feeder level context dictionary from the secondary area context manager instance."
)
for secondaryArea in switchArea.get("secondary_areas",[]):
if self.downstream_message_bus_def.id == secondaryArea.get("message_bus_id"):
self.secondary_area.initialize_secondary_area(secondaryArea)
break
else:
self.secondary_area.initialize_secondary_area(self.agent_area_dict)


def connect(self):
super().connect()
if self.secondary_area is None:
self.secondary_area = SecondaryArea(self.downstream_message_bus_def.id,
self.connection)
self.secondary_area.initialize_secondary_area(self.agent_area_dict)
if "switch_areas" in self.agent_area_dict.keys():
_log.warn(
f"{type(self).__name__}:{self.downstream_message_bus_def.id} recieved erroneously the feeder level context dictionary from the secondary area context manager instance."
)
for switchArea in self.agent_area_dict.get("switch_areas",[]):
for secondaryArea in switchArea.get("secondary_areas",[]):
if self.downstream_message_bus_def.id == secondaryArea.get("message_bus_id"):
self.secondary_area.initialize_secondary_area(secondaryArea)
break
elif "secondary_areas" in self.agent_area_dict.keys():
_log.warn(
f"{type(self).__name__}:{self.downstream_message_bus_def.id} recieved erroneously the feeder level context dictionary from the secondary area context manager instance."
)
for secondaryArea in switchArea.get("secondary_areas",[]):
if self.downstream_message_bus_def.id == secondaryArea.get("message_bus_id"):
self.secondary_area.initialize_secondary_area(secondaryArea)
break
else:
self.secondary_area.initialize_secondary_area(self.agent_area_dict)


class CoordinatingAgent:
Expand Down
1 change: 1 addition & 0 deletions gridappsd-field-bus-lib/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ python = ">=3.7.9,<4.0"
gridappsd-python = {path="../gridappsd-python-lib", develop=true}
cim-graph = "^2023.5.1a3"


[tool.poetry.group.dev.dependencies]
pytest = "^6.2.2"
pytest-html = "^3.1.1"
Expand Down