Skip to content

Commit ffa7589

Browse files
committed
Add battery soc stream in MockMicrogrid for testing soc formula
Signed-off-by: Sahas Subramanian <[email protected]>
1 parent b972541 commit ffa7589

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

tests/timeseries/mock_microgrid.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
from typing import Iterator, Tuple
1010

1111
from frequenz.api.microgrid import microgrid_pb2
12-
from frequenz.api.microgrid.common_pb2 import AC, Metric
12+
from frequenz.api.microgrid.battery_pb2 import Battery
13+
from frequenz.api.microgrid.battery_pb2 import Data as BatteryData
14+
from frequenz.api.microgrid.common_pb2 import AC, Metric, MetricAggregation
1315
from frequenz.api.microgrid.inverter_pb2 import Data as InverterData
1416
from frequenz.api.microgrid.inverter_pb2 import Inverter
1517
from frequenz.api.microgrid.inverter_pb2 import Type as InverterType
@@ -120,13 +122,24 @@ def inverter_msg(value: float) -> ComponentData:
120122
),
121123
)
122124

125+
def battery_msg(value: float) -> ComponentData:
126+
timestamp = Timestamp()
127+
timestamp.GetCurrentTime()
128+
return ComponentData(
129+
id=request.id,
130+
ts=timestamp,
131+
battery=Battery(data=BatteryData(soc=MetricAggregation(avg=value))),
132+
)
133+
123134
if request.id % 10 == cls.inverter_id_suffix:
124135
next_msg = inverter_msg
125136
elif (
126137
request.id % 10 == cls.meter_id_suffix
127138
or request.id == cls.main_meter_id
128139
):
129140
next_msg = meter_msg
141+
elif request.id % 10 == cls.battery_id_suffix:
142+
next_msg = battery_msg
130143
else:
131144
raise RuntimeError(
132145
f"Component id {request.id} unsupported by MockMicrogrid"

0 commit comments

Comments
 (0)