Skip to content

Commit 29d73a8

Browse files
committed
Fix frequency() sending Quantities instead of Frequency
Signed-off-by: Mathias L. Baumann <[email protected]>
1 parent 3b78660 commit 29d73a8

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

RELEASE_NOTES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,4 @@
5757
## Bug Fixes
5858

5959
- 0W power requests are now not adjusted to exclusion bounds by the `PowerManager` and `PowerDistributor`, and are sent over to the microgrid API directly.
60+
- Fixed that `microgrid.frequency()` was sending `Quantity` objects instead of `Frequency`.

src/frequenz/sdk/timeseries/_grid_frequency.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,11 @@ def new_receiver(self) -> Receiver[Sample[Frequency]]:
9393
"Grid frequency request already sent: %s", self._source_component
9494
)
9595

96-
return receiver
96+
return receiver.map(
97+
lambda sample: Sample(
98+
sample.timestamp, Frequency.from_hertz(sample.value.base_value)
99+
)
100+
)
97101

98102
async def _send_request(self) -> None:
99103
"""Send the request for grid frequency."""

tests/timeseries/test_frequency_streaming.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ async def test_grid_frequency_1(mocker: MockerFixture) -> None:
4848
grid_meter_data.append(Frequency.from_hertz(freq))
4949
val = await grid_freq_recv.receive()
5050
assert val is not None and val.value is not None
51+
assert val.value.as_hertz() == freq
5152
results.append(val.value)
5253
await mockgrid.cleanup()
5354
assert equal_float_lists(results, grid_meter_data)
@@ -84,6 +85,7 @@ async def test_grid_frequency_no_grid_meter_no_consumer_meter(
8485

8586
val = await grid_freq_recv.receive()
8687
assert val is not None and val.value is not None
88+
assert val.value.as_hertz() == freq
8789
results.append(val.value)
8890
await mockgrid.cleanup()
8991
assert equal_float_lists(results, meter_data)
@@ -119,6 +121,7 @@ async def test_grid_frequency_no_grid_meter(
119121

120122
val = await grid_freq_recv.receive()
121123
assert val is not None and val.value is not None
124+
assert val.value.as_hertz() == freq
122125
results.append(val.value)
123126
await mockgrid.cleanup()
124127
assert equal_float_lists(results, meter_data)
@@ -156,6 +159,7 @@ async def test_grid_frequency_only_inverter(
156159
meter_data.append(Frequency.from_hertz(freq))
157160
val = await grid_freq_recv.receive()
158161
assert val is not None and val.value is not None
162+
assert val.value.as_hertz() == freq
159163
results.append(val.value)
160164
await mockgrid.cleanup()
161165
assert equal_float_lists(results, meter_data)

0 commit comments

Comments
 (0)