Skip to content

Add RPC to specify an additional payload to stream alonwith component data #223

@tiyash-basu-frequenz

Description

@tiyash-basu-frequenz

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

Metadata

Metadata

Labels

part:❓We need to figure out which part is affectedpriority:❓We need to figure out how soon this should be addressedtype:enhancementNew feature or enhancement visitble to users

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions