|
10 | 10 |
|
11 | 11 | import grpc |
12 | 12 | from frequenz.channels import Broadcast, Sender, merge, select, selected_from |
13 | | -from frequenz.channels.timer import SkipMissedAndDrift, Timer |
14 | 13 | from frequenz.client.microgrid import ApiClient, ComponentCategory, EVChargerData |
15 | 14 | from typing_extensions import override |
16 | 15 |
|
|
30 | 29 | _logger = logging.getLogger(__name__) |
31 | 30 |
|
32 | 31 | _DEFAULT_API_REQUEST_TIMEOUT = timedelta(seconds=5.0) |
33 | | -_TGT_POWER_RESEND_INTERVAL = timedelta(seconds=5.0) |
34 | 32 |
|
35 | 33 |
|
36 | 34 | class EVChargerManager(ComponentManager): |
@@ -223,10 +221,8 @@ async def _run(self) -> None: # pylint: disable=too-many-locals |
223 | 221 | ) |
224 | 222 | target_power_rx = self._target_power_channel.new_receiver() |
225 | 223 | api_request_timeout = _DEFAULT_API_REQUEST_TIMEOUT |
226 | | - resend_timer = Timer(_TGT_POWER_RESEND_INTERVAL, SkipMissedAndDrift()) |
227 | 224 | latest_target_powers: dict[int, Power] = {} |
228 | | - async for selected in select(ev_charger_data_rx, target_power_rx, resend_timer): |
229 | | - resending = False |
| 225 | + async for selected in select(ev_charger_data_rx, target_power_rx): |
230 | 226 | target_power_changes = {} |
231 | 227 | now = datetime.now(tz=timezone.utc) |
232 | 228 |
|
@@ -277,21 +273,14 @@ async def _run(self) -> None: # pylint: disable=too-many-locals |
277 | 273 | diff_power = allocated_power - self._target_power |
278 | 274 | target_power_changes = self._deallocate_unused_power(diff_power) |
279 | 275 |
|
280 | | - elif selected_from(selected, resend_timer): |
281 | | - target_power_changes = latest_target_powers |
282 | | - resending = True |
283 | | - |
284 | 276 | if target_power_changes: |
285 | 277 | _logger.debug("Setting power to EV chargers: %s", target_power_changes) |
286 | 278 | else: |
287 | 279 | continue |
288 | | - if not resending: |
289 | | - for component_id, power in target_power_changes.items(): |
290 | | - self._evc_states.get(component_id).update_last_allocation( |
291 | | - power, now |
292 | | - ) |
| 280 | + for component_id, power in target_power_changes.items(): |
| 281 | + self._evc_states.get(component_id).update_last_allocation(power, now) |
293 | 282 |
|
294 | | - latest_target_powers.update(target_power_changes) |
| 283 | + latest_target_powers.update(target_power_changes) |
295 | 284 | result = await self._set_api_power( |
296 | 285 | api, target_power_changes, api_request_timeout |
297 | 286 | ) |
|
0 commit comments