What's needed?
We need an RPC to specify an additional payload to stream along with component data. This payload would be overwritten by the next call to this RPC.
Proposed solution
One solution would be to add the following RPC with the specified request message:
service Microgrid {
...
rpc AddAdditionalPayload(AddAdditionalPayloadRequest) returns (google.protobuf.Empty)
}
message AddAdditionalPayloadRequest {
google.protobuf.Struct payload = 1;
}
The service would attach this payload to the outgoing data message according to the specs defined in frequenz-api-common.
Use cases
- Copy-pasted from the issue linked below:
"This could be used to indicate the last activity or last command that was issued to an API, e.g., a charge command to the Dispatch API or Microgrid API. (such tags could be set on these APIs through their own RPCs)."
- There are some cases where the AC electricity data is not enough to identify what's going on. E.g., in case of the FCR app, this could help determine operating-point-offset (assuming the app uses it properly). In this example, obtaining the operating-point-offset just from AC data would be difficult, if not impossible.
- More broadly, this could also be used to stream arbitrary data through the Microgrid API/Reporting API. E.g., ATM, there is no metric that captures the FCR operating point. This feature would open up the API to send arbitrary information, so the FCR app can stream the operating point.
Alternatives and workarounds
No response
Additional context
frequenz-floss/frequenz-api-common#207
What's needed?
We need an RPC to specify an additional payload to stream along with component data. This payload would be overwritten by the next call to this RPC.
Proposed solution
One solution would be to add the following RPC with the specified request message:
The service would attach this payload to the outgoing data message according to the specs defined in frequenz-api-common.
Use cases
"This could be used to indicate the last activity or last command that was issued to an API, e.g., a charge command to the Dispatch API or Microgrid API. (such tags could be set on these APIs through their own RPCs)."
Alternatives and workarounds
No response
Additional context
frequenz-floss/frequenz-api-common#207