Skip to content

Commit 1de37a7

Browse files
committed
Rename BatteryStatusComponentStatus
Also update its documentation and methods to not say "batteries", and update all uses of the class to match the new names. Signed-off-by: Sahas Subramanian <[email protected]>
1 parent 87b37b1 commit 1de37a7

File tree

10 files changed

+63
-63
lines changed

10 files changed

+63
-63
lines changed

benchmarks/power_distribution/power_distributor.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from frequenz.sdk import microgrid
1717
from frequenz.sdk.actor import ResamplerConfig
1818
from frequenz.sdk.actor.power_distributing import (
19-
BatteryStatus,
19+
ComponentStatus,
2020
Error,
2121
OutOfBounds,
2222
PartialFailure,
@@ -112,7 +112,7 @@ async def run_test( # pylint: disable=too-many-locals
112112
start = timeit.default_timer()
113113

114114
power_request_channel = Broadcast[Request]("power-request")
115-
battery_status_channel = Broadcast[BatteryStatus]("battery-status")
115+
battery_status_channel = Broadcast[ComponentStatus]("battery-status")
116116
power_result_channel = Broadcast[Result]("power-result")
117117
async with PowerDistributingActor(
118118
requests_receiver=power_request_channel.new_receiver(),

src/frequenz/sdk/actor/power_distributing/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
PowerDistributingActor and send requests for charging or discharging power.
1111
"""
1212

13-
from ._battery_pool_status import BatteryStatus
13+
from ._battery_pool_status import ComponentStatus
1414
from .power_distributing import PowerDistributingActor
1515
from .request import Request
1616
from .result import Error, OutOfBounds, PartialFailure, Result, Success
@@ -23,5 +23,5 @@
2323
"Success",
2424
"OutOfBounds",
2525
"PartialFailure",
26-
"BatteryStatus",
26+
"ComponentStatus",
2727
]

src/frequenz/sdk/actor/power_distributing/_battery_pool_status.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,28 +18,28 @@
1818

1919

2020
@dataclass
21-
class BatteryStatus:
22-
"""Status of the batteries."""
21+
class ComponentStatus:
22+
"""Status of all components of a certain category in the microgrid."""
2323

2424
working: set[int]
25-
"""Set of working battery ids."""
25+
"""Set of working component ids."""
2626

2727
uncertain: set[int]
28-
"""Set of batteries that should be used only if there are no working batteries."""
28+
"""Set of components to be used only when there are none known to be working."""
2929

30-
def get_working_batteries(self, batteries: abc.Set[int]) -> set[int]:
31-
"""From the given set of batteries return working batteries.
30+
def get_working_components(self, components: abc.Set[int]) -> set[int]:
31+
"""From the given set of components return the working ones.
3232
3333
Args:
34-
batteries: Set of batteries
34+
components: Set of components.
3535
3636
Returns:
37-
Subset with working batteries.
37+
Subset with working components.
3838
"""
39-
working = self.working.intersection(batteries)
39+
working = self.working.intersection(components)
4040
if len(working) > 0:
4141
return working
42-
return self.uncertain.intersection(batteries)
42+
return self.uncertain.intersection(components)
4343

4444

4545
@dataclass
@@ -71,7 +71,7 @@ class BatteryPoolStatus:
7171
def __init__( # noqa: DOC502 (RuntimeError is raised indirectly by BatteryStatus)
7272
self,
7373
battery_ids: set[int],
74-
battery_status_sender: Sender[BatteryStatus],
74+
battery_status_sender: Sender[ComponentStatus],
7575
max_data_age_sec: float,
7676
max_blocking_duration_sec: float,
7777
) -> None:
@@ -93,7 +93,7 @@ def __init__( # noqa: DOC502 (RuntimeError is raised indirectly by BatteryStatu
9393
"""
9494
# At first no battery is working, we will get notification when they start
9595
# working.
96-
self._current_status = BatteryStatus(working=set(), uncertain=set())
96+
self._current_status = ComponentStatus(working=set(), uncertain=set())
9797

9898
# Channel for sending results of requests to the batteries
9999
set_power_result_channel = Broadcast[SetPowerResult]("battery_request_status")
@@ -148,7 +148,7 @@ async def stop(self) -> None:
148148
)
149149
await self._battery_status_channel.stop()
150150

151-
async def _run(self, battery_status_sender: Sender[BatteryStatus]) -> None:
151+
async def _run(self, battery_status_sender: Sender[ComponentStatus]) -> None:
152152
"""Start tracking batteries status.
153153
154154
Args:
@@ -164,7 +164,7 @@ async def _run(self, battery_status_sender: Sender[BatteryStatus]) -> None:
164164
)
165165

166166
async def _update_status(
167-
self, battery_status_sender: Sender[BatteryStatus]
167+
self, battery_status_sender: Sender[ComponentStatus]
168168
) -> None:
169169
"""Wait for any battery to change status and update status.
170170
@@ -211,4 +211,4 @@ def get_working_batteries(self, batteries: abc.Set[int]) -> set[int]:
211211
Returns:
212212
Subset with working batteries.
213213
"""
214-
return self._current_status.get_working_batteries(batteries)
214+
return self._current_status.get_working_components(batteries)

src/frequenz/sdk/actor/power_distributing/power_distributing.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
ComponentCategory,
3737
InverterData,
3838
)
39-
from ._battery_pool_status import BatteryPoolStatus, BatteryStatus
39+
from ._battery_pool_status import BatteryPoolStatus, ComponentStatus
4040
from ._distribution_algorithm import (
4141
AggregatedBatteryData,
4242
DistributionAlgorithm,
@@ -164,7 +164,7 @@ def __init__(
164164
self,
165165
requests_receiver: Receiver[Request],
166166
results_sender: Sender[Result],
167-
battery_status_sender: Sender[BatteryStatus],
167+
battery_status_sender: Sender[ComponentStatus],
168168
wait_for_data_sec: float = 2,
169169
*,
170170
name: str | None = None,

src/frequenz/sdk/microgrid/_data_pipeline.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
if typing.TYPE_CHECKING:
3737
from ..actor import ComponentMetricRequest, ResamplerConfig, _power_managing
3838
from ..actor.power_distributing import ( # noqa: F401 (imports used by string type hints)
39-
BatteryStatus,
39+
ComponentStatus,
4040
PowerDistributingActor,
4141
Request,
4242
Result,
@@ -94,7 +94,7 @@ def __init__(
9494
self._data_sourcing_actor: _ActorInfo | None = None
9595
self._resampling_actor: _ActorInfo | None = None
9696

97-
self._battery_status_channel = Broadcast["BatteryStatus"](
97+
self._battery_status_channel = Broadcast["ComponentStatus"](
9898
"battery-status", resend_latest=True
9999
)
100100
self._power_distribution_requests_channel = Broadcast["Request"](

src/frequenz/sdk/timeseries/battery_pool/_battery_pool_reference_store.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
from ..._internal._asyncio import cancel_and_await
1616
from ...actor import ComponentMetricRequest, _channel_registry, _power_managing
17-
from ...actor.power_distributing._battery_pool_status import BatteryStatus
17+
from ...actor.power_distributing._battery_pool_status import ComponentStatus
1818
from ...microgrid import connection_manager
1919
from ...microgrid.component import ComponentCategory
2020
from ..formula_engine._formula_engine_pool import FormulaEnginePool
@@ -38,7 +38,7 @@ def __init__( # pylint: disable=too-many-arguments
3838
self,
3939
channel_registry: _channel_registry.ChannelRegistry,
4040
resampler_subscription_sender: Sender[ComponentMetricRequest],
41-
batteries_status_receiver: Receiver[BatteryStatus],
41+
batteries_status_receiver: Receiver[ComponentStatus],
4242
power_manager_requests_sender: Sender[_power_managing.Proposal],
4343
power_manager_bounds_subscription_sender: Sender[_power_managing.ReportRequest],
4444
min_update_interval: timedelta,
@@ -131,8 +131,8 @@ def _get_all_batteries(self) -> frozenset[int]:
131131
}
132132
)
133133

134-
async def _update_battery_status(self, receiver: Receiver[BatteryStatus]) -> None:
134+
async def _update_battery_status(self, receiver: Receiver[ComponentStatus]) -> None:
135135
async for status in receiver:
136-
self._working_batteries = status.get_working_batteries(self._batteries)
136+
self._working_batteries = status.get_working_components(self._batteries)
137137
for item in self._active_methods.values():
138138
item.update_working_batteries(self._working_batteries)

tests/actor/power_distributing/test_power_distributing.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
from frequenz.sdk import microgrid
1818
from frequenz.sdk.actor.power_distributing import (
19-
BatteryStatus,
19+
ComponentStatus,
2020
PowerDistributingActor,
2121
Request,
2222
)
@@ -56,7 +56,7 @@ async def test_constructor(self, mocker: MockerFixture) -> None:
5656

5757
requests_channel = Broadcast[Request]("power_distributor requests")
5858
results_channel = Broadcast[Result]("power_distributor results")
59-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
59+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
6060
async with PowerDistributingActor(
6161
requests_receiver=requests_channel.new_receiver(),
6262
results_sender=results_channel.new_sender(),
@@ -128,7 +128,7 @@ async def test_power_distributor_one_user(self, mocker: MockerFixture) -> None:
128128
)
129129

130130
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
131-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
131+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
132132
async with PowerDistributingActor(
133133
requests_receiver=requests_channel.new_receiver(),
134134
results_sender=results_channel.new_sender(),
@@ -191,7 +191,7 @@ async def test_power_distributor_exclusion_bounds(
191191
)
192192

193193
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
194-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
194+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
195195
async with PowerDistributingActor(
196196
requests_receiver=requests_channel.new_receiver(),
197197
results_sender=results_channel.new_sender(),
@@ -292,7 +292,7 @@ async def test_two_batteries_one_inverters(self, mocker: MockerFixture) -> None:
292292
)
293293

294294
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
295-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
295+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
296296

297297
async with PowerDistributingActor(
298298
requests_receiver=requests_channel.new_receiver(),
@@ -374,7 +374,7 @@ async def test_two_batteries_one_broken_one_inverters(
374374
)
375375

376376
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
377-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
377+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
378378

379379
async with PowerDistributingActor(
380380
requests_receiver=requests_channel.new_receiver(),
@@ -448,7 +448,7 @@ async def test_battery_two_inverters(self, mocker: MockerFixture) -> None:
448448
)
449449

450450
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
451-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
451+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
452452

453453
async with PowerDistributingActor(
454454
requests_receiver=requests_channel.new_receiver(),
@@ -526,7 +526,7 @@ async def test_two_batteries_three_inverters(self, mocker: MockerFixture) -> Non
526526
)
527527

528528
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
529-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
529+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
530530

531531
async with PowerDistributingActor(
532532
requests_receiver=requests_channel.new_receiver(),
@@ -615,7 +615,7 @@ async def test_two_batteries_one_inverter_different_exclusion_bounds_2(
615615
)
616616

617617
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
618-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
618+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
619619

620620
async with PowerDistributingActor(
621621
requests_receiver=requests_channel.new_receiver(),
@@ -703,7 +703,7 @@ async def test_two_batteries_one_inverter_different_exclusion_bounds(
703703
)
704704

705705
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
706-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
706+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
707707

708708
async with PowerDistributingActor(
709709
requests_receiver=requests_channel.new_receiver(),
@@ -774,7 +774,7 @@ async def test_connected_but_not_requested_batteries(
774774
)
775775

776776
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
777-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
777+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
778778

779779
async with PowerDistributingActor(
780780
requests_receiver=requests_channel.new_receiver(),
@@ -836,7 +836,7 @@ async def test_battery_soc_nan(self, mocker: MockerFixture) -> None:
836836
)
837837

838838
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
839-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
839+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
840840
async with PowerDistributingActor(
841841
requests_receiver=requests_channel.new_receiver(),
842842
results_sender=results_channel.new_sender(),
@@ -899,7 +899,7 @@ async def test_battery_capacity_nan(self, mocker: MockerFixture) -> None:
899899
)
900900

901901
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
902-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
902+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
903903
async with PowerDistributingActor(
904904
requests_receiver=requests_channel.new_receiver(),
905905
results_sender=results_channel.new_sender(),
@@ -971,7 +971,7 @@ async def test_battery_power_bounds_nan(self, mocker: MockerFixture) -> None:
971971
)
972972

973973
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
974-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
974+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
975975
async with PowerDistributingActor(
976976
requests_receiver=requests_channel.new_receiver(),
977977
results_sender=results_channel.new_sender(),
@@ -1021,7 +1021,7 @@ async def test_power_distributor_invalid_battery_id(
10211021
)
10221022
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
10231023

1024-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
1024+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
10251025
async with PowerDistributingActor(
10261026
requests_receiver=requests_channel.new_receiver(),
10271027
results_sender=results_channel.new_sender(),
@@ -1071,7 +1071,7 @@ async def test_power_distributor_one_user_adjust_power_consume(
10711071

10721072
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
10731073

1074-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
1074+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
10751075
async with PowerDistributingActor(
10761076
requests_receiver=requests_channel.new_receiver(),
10771077
results_sender=results_channel.new_sender(),
@@ -1123,7 +1123,7 @@ async def test_power_distributor_one_user_adjust_power_supply(
11231123

11241124
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
11251125

1126-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
1126+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
11271127
async with PowerDistributingActor(
11281128
requests_receiver=requests_channel.new_receiver(),
11291129
results_sender=results_channel.new_sender(),
@@ -1175,7 +1175,7 @@ async def test_power_distributor_one_user_adjust_power_success(
11751175

11761176
mocker.patch("asyncio.sleep", new_callable=AsyncMock)
11771177

1178-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
1178+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
11791179
async with PowerDistributingActor(
11801180
requests_receiver=requests_channel.new_receiver(),
11811181
results_sender=results_channel.new_sender(),
@@ -1220,7 +1220,7 @@ async def test_not_all_batteries_are_working(self, mocker: MockerFixture) -> Non
12201220
requests_channel = Broadcast[Request]("power_distributor requests")
12211221
results_channel = Broadcast[Result]("power_distributor results")
12221222

1223-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
1223+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
12241224
async with PowerDistributingActor(
12251225
requests_receiver=requests_channel.new_receiver(),
12261226
results_sender=results_channel.new_sender(),
@@ -1281,7 +1281,7 @@ async def test_partial_failure_result(self, mocker: MockerFixture) -> None:
12811281
requests_channel = Broadcast[Request]("power_distributor requests")
12821282
results_channel = Broadcast[Result]("power_distributor results")
12831283

1284-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
1284+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
12851285
async with PowerDistributingActor(
12861286
requests_receiver=requests_channel.new_receiver(),
12871287
results_sender=results_channel.new_sender(),

tests/actor/test_battery_pool_status.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from frequenz.sdk.actor.power_distributing._battery_pool_status import (
1111
BatteryPoolStatus,
12-
BatteryStatus,
12+
ComponentStatus,
1313
)
1414
from frequenz.sdk.microgrid.component import ComponentCategory
1515
from tests.timeseries.mock_microgrid import MockMicrogrid
@@ -39,7 +39,7 @@ async def test_batteries_status(self, mocker: MockerFixture) -> None:
3939
component_category={ComponentCategory.BATTERY}
4040
)
4141
}
42-
battery_status_channel = Broadcast[BatteryStatus]("battery_status")
42+
battery_status_channel = Broadcast[ComponentStatus]("battery_status")
4343
battery_status_recv = battery_status_channel.new_receiver(maxsize=1)
4444
batteries_status = BatteryPoolStatus(
4545
battery_ids=batteries,

0 commit comments

Comments
 (0)