Skip to content

Commit 948602e

Browse files
committed
Update examples/battery_pool.py to use microgrid.battery_pool()
Signed-off-by: Sahas Subramanian <[email protected]>
1 parent 1e21e86 commit 948602e

File tree

1 file changed

+3
-56
lines changed

1 file changed

+3
-56
lines changed

examples/battery_pool.py

Lines changed: 3 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -7,71 +7,18 @@
77

88
import asyncio
99
import logging
10-
from datetime import timedelta
1110
from typing import Any, Dict
1211

13-
from frequenz.channels import Broadcast, Receiver
12+
from frequenz.channels import Receiver
1413
from frequenz.channels.util import MergeNamed
1514

1615
from frequenz.sdk import microgrid
17-
from frequenz.sdk.actor import (
18-
ChannelRegistry,
19-
ComponentMetricRequest,
20-
DataSourcingActor,
21-
ResamplerConfig,
22-
)
23-
from frequenz.sdk.actor.power_distributing import PowerDistributingActor
24-
from frequenz.sdk.actor.power_distributing._battery_pool_status import BatteryStatus
25-
from frequenz.sdk.microgrid import connection_manager
26-
from frequenz.sdk.microgrid.component import ComponentCategory
27-
from frequenz.sdk.timeseries.battery_pool import BatteryPool
16+
from frequenz.sdk.actor import ResamplerConfig
2817

2918
HOST = "microgrid.sandbox.api.frequenz.io" # it should be the host name.
3019
PORT = 61060
3120

3221

33-
def create_battery_pool() -> BatteryPool:
34-
"""Create battery pool.
35-
36-
It needs many instance to be created before.
37-
38-
Returns:
39-
BatteryPool instance ready to use.
40-
"""
41-
channel_registry = ChannelRegistry(name="data-registry")
42-
43-
# Create a channels for sending/receiving subscription requests
44-
data_source_request_channel = Broadcast[ComponentMetricRequest](
45-
"data-source", resend_latest=True
46-
)
47-
48-
# Instantiate a data sourcing actor
49-
_ = DataSourcingActor(
50-
request_receiver=data_source_request_channel.new_receiver(
51-
"data_sourcing_receiver"
52-
),
53-
registry=channel_registry,
54-
)
55-
56-
battery_status_channel = Broadcast[BatteryStatus]("batteries-status")
57-
_ = PowerDistributingActor(
58-
users_channels={},
59-
battery_status_sender=battery_status_channel.new_sender(),
60-
)
61-
62-
batteries = connection_manager.get().component_graph.components(
63-
component_category={ComponentCategory.BATTERY}
64-
)
65-
66-
return BatteryPool(
67-
batteries_id=set(battery.component_id for battery in batteries),
68-
batteries_status_receiver=battery_status_channel.new_receiver(
69-
name="battery_pool", maxsize=1
70-
),
71-
min_update_interval=timedelta(seconds=0.2),
72-
)
73-
74-
7522
async def main() -> None:
7623
"""Create the battery pool, activate all formulas and listen for any update."""
7724
logging.basicConfig(
@@ -81,7 +28,7 @@ async def main() -> None:
8128
host=HOST, port=PORT, resampler_config=ResamplerConfig(resampling_period_s=1.0)
8229
)
8330

84-
battery_pool = create_battery_pool()
31+
battery_pool = microgrid.battery_pool()
8532
receivers: Dict[str, Receiver[Any]] = {
8633
"soc": await battery_pool.soc(maxsize=1),
8734
"capacity": await battery_pool.capacity(maxsize=1),

0 commit comments

Comments
 (0)