@@ -89,35 +89,17 @@ async def propose_power(
8989 Power values need to follow the Passive Sign Convention (PSC). That is, positive
9090 values indicate charge power and negative values indicate discharge power.
9191
92- If the same batteries are shared by multiple actors, the power manager will
93- consider the priority of the actors, the bounds they set, and their preferred
94- power, when calculating the target power for the batteries.
95-
96- The preferred power of lower priority actors will take precedence as long as
97- they respect the bounds set by higher priority actors. If lower priority actors
98- request power values outside of the bounds set by higher priority actors, the
99- target power will be the closest value to the preferred power that is within the
100- bounds.
101-
102- When there are no other actors trying to use the same batteries, the actor's
103- preferred power would be set as the target power, as long as it falls within the
104- system power bounds for the batteries.
105-
106- The result of the request can be accessed using the receiver returned from the
107- [`power_status`][frequenz.sdk.timeseries.battery_pool.BatteryPool.power_status]
108- method, which also streams the bounds that an actor should comply with, based on
109- its priority.
92+ Details on how the power manager handles proposals can be found in the
93+ [Microgrid][frequenz.sdk.microgrid--setting-power] documentation.
11094
11195 Args:
11296 power: The power to propose for the batteries in the pool. If `None`, this
11397 proposal will not have any effect on the target power, unless bounds are
114- specified. If both are `None`, it is equivalent to not having a
115- proposal or withdrawing a previous one.
116- bounds: The power bounds for the proposal. These bounds will apply to
117- actors with a lower priority, and can be overridden by bounds from
118- actors with a higher priority. If None, the power bounds will be set
119- to the maximum power of the batteries in the pool. This is currently
120- and experimental feature.
98+ specified. When specified without bounds, bounds for lower priority
99+ actors will be shifted by this power. If both are `None`, it is
100+ equivalent to not having a proposal or withdrawing a previous one.
101+ bounds: The power bounds for the proposal. When specified, this will limit
102+ the bounds for lower priority actors.
121103 """
122104 await self ._pool_ref_store ._power_manager_requests_sender .send (
123105 _power_managing .Proposal (
@@ -140,13 +122,9 @@ async def propose_charge(self, power: Power | None) -> None:
140122 method might be more convenient.
141123
142124 If the same batteries are shared by multiple actors, the behaviour is the same
143- as that of the `propose_power` method. The bounds for lower priority actors
144- can't be specified with this method. If that's required, use the
145- `propose_power` method instead.
146-
147- The result of the request can be accessed using the receiver returned from the
148- [`power_status`][frequenz.sdk.timeseries.battery_pool.BatteryPool.power_status]
149- method.
125+ as that of the `propose_power` method, when calling it with `None` bounds. The
126+ bounds for lower priority actors can't be specified with this method. If that's
127+ required, use the `propose_power` method instead.
150128
151129 Args:
152130 power: The unsigned charge power to propose for the batteries in the pool.
@@ -179,13 +157,9 @@ async def propose_discharge(self, power: Power | None) -> None:
179157 method might be more convenient.
180158
181159 If the same batteries are shared by multiple actors, the behaviour is the same
182- as that of the `propose_power` method. The bounds for lower priority actors
183- can't be specified with this method. If that's required, use the
184- `propose_power` method instead.
185-
186- The result of the request can be accessed using the receiver returned from the
187- [`power_status`][frequenz.sdk.timeseries.battery_pool.BatteryPool.power_status]
188- method.
160+ as that of the `propose_power` method, when calling it with `None` bounds. The
161+ bounds for lower priority actors can't be specified with this method. If that's
162+ required, use the `propose_power` method instead.
189163
190164 Args:
191165 power: The unsigned discharge power to propose for the batteries in the
0 commit comments