@@ -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