Skip to content

Commit 70933b5

Browse files
committed
Remove boiler-plate code from LogicalMeter example
Signed-off-by: Sahas Subramanian <[email protected]>
1 parent 745689c commit 70933b5

File tree

1 file changed

+21
-49
lines changed

1 file changed

+21
-49
lines changed

src/frequenz/sdk/timeseries/logical_meter/_logical_meter.py

Lines changed: 21 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -33,63 +33,35 @@ class LogicalMeter:
3333
3434
Example:
3535
```python
36-
from frequenz.channels import Sender, Broadcast
37-
from frequenz.sdk.actor import DataSourcingActor, ComponentMetricsResamplingActor
38-
from frequenz.sdk.timeseries import ResamplerConfig
39-
from frequenz.sdk.microgrid import initialize
4036
from datetime import timedelta
4137
42-
channel_registry = ChannelRegistry(name="data-registry")
43-
44-
# Create a channels for sending/receiving subscription requests
45-
data_source_request_channel = Broadcast[ComponentMetricRequest]("data-source")
46-
data_source_request_sender = data_source_request_channel.new_sender()
47-
data_source_request_receiver = data_source_request_channel.new_receiver()
48-
49-
resampling_request_channel = Broadcast[ComponentMetricRequest]("resample")
50-
resampling_request_sender = resampling_request_channel.new_sender()
51-
resampling_request_receiver = resampling_request_channel.new_receiver()
38+
from frequenz.sdk import microgrid
39+
from frequenz.sdk.timeseries import ResamplerConfig
5240
53-
# Instantiate a data sourcing actor
54-
_data_sourcing_actor = DataSourcingActor(
55-
request_receiver=data_source_request_receiver, registry=channel_registry
41+
await microgrid.initialize(
42+
"127.0.0.1",
43+
50051,
44+
ResamplerConfig(resampling_period=timedelta(seconds=1))
5645
)
5746
58-
# Instantiate a resampling actor
59-
async with ComponentMetricsResamplingActor(
60-
channel_registry=channel_registry,
61-
data_sourcing_request_sender=data_source_request_sender,
62-
resampling_request_receiver=resampling_request_receiver,
63-
config=ResamplerConfig(resampling_period=timedelta(seconds=1)),
64-
):
65-
await initialize(
66-
"127.0.0.1",
67-
50051,
68-
ResamplerConfig(resampling_period=timedelta(seconds=1))
69-
)
47+
logical_meter = microgrid.logical_meter()
7048
71-
# Create a logical meter instance
72-
logical_meter = LogicalMeter(
73-
channel_registry,
74-
resampling_request_sender,
75-
)
49+
# Get a receiver for a builtin formula
50+
grid_power_recv = logical_meter.grid_power.new_receiver()
51+
async for grid_power_sample in grid_power_recv:
52+
print(grid_power_sample)
7653
77-
# Get a receiver for a builtin formula
78-
grid_power_recv = logical_meter.grid_power.new_receiver()
79-
for grid_power_sample in grid_power_recv:
80-
print(grid_power_sample)
81-
82-
# or compose formula receivers to create a new formula
83-
net_power_recv = (
84-
(
85-
logical_meter.grid_power
86-
- logical_meter.pv_power
87-
)
88-
.build("net_power")
89-
.new_receiver()
54+
# or compose formulas to create a new formula
55+
net_power_recv = (
56+
(
57+
logical_meter.grid_power
58+
- logical_meter.pv_power
9059
)
91-
for net_power_sample in net_power_recv:
92-
print(net_power_sample)
60+
.build("net_power")
61+
.new_receiver()
62+
)
63+
async for net_power_sample in net_power_recv:
64+
print(net_power_sample)
9365
```
9466
"""
9567

0 commit comments

Comments
 (0)