Skip to content

Location-based limitation of power consumption

When the need arises in the grid for limitation of power consumption, the Energy Coordination API will create a LocationLPC-event.

How it works

The LocationLPC-event is only sent to specific partners on an invite-only basis, and the structure of this event is subject to change. Do not try to use this event in your implementation without first contacting Spark, it is not guaranteed to work and may change without notice.

Step 1: Contact Spark to participate

To participate in the limitaton of power consumption program, you must contact Spark to express your interest. Spark will then provide you with the necessary information to participate. This is an invite-only program, and not all partners will be able to participate at the moment.

Step 2: Add your locations

Only certain locations will be eligible to participate in the limitaton of power consumption program. You must add these locations to the Energy Coordination API. We will handle these locations as “behind the meter” locations, and as such do not require distributed energy resources to be added to them.

The most important parameter for these locations is the meterPointIds, which is used to identify the location in the grid. This is the same id that is used in the LocationLPC-event. For other types of events, like PriceCurve we have some leeway in how we identify the location which can depend on coordinates instead, but for LocationLPC we must use the meterPointIds.

Step 3: Receive events

When the grid needs to cap the power consumption of a location, the Energy Coordination API will send a LocationLPC-event to the partner that is responsible for the location. This event will contain the locationId and the specific meterPointId of the location that is affected, and the maximum power consumption that is allowed for the that meter. You can register several meterPointIds for the same location, but the event will contain one target per meterPointId.

Event format

The event is available as a JSON object with the following properties:

  • id: The id of the event that the report corresponds to.
  • createdAt: The UTC-timestamp for when the event happened
  • payload: The payload of the event

LocationLPC payload format

The LocationLPC-payload has the following properties:

  • targets: An array of targeted locations for this event. Each of the targets have the following properties:
    • locationId: The id of the location that is targeted.
    • meterPointId: The targeted meter point id.
    • resolution: The resolution of the each data point. Currently only hourly (01:00:00) is supported.
    • points: An array of maximum power datapoints. Each point has the following properties:
      • maxPowerInKiloWatts: The maximum power in kW. This is maximum amount of power that the location is allowed to consume at any point in time during the hour.
      • timestamp: The start time of the maximum power datapoint. The timestamp is in UTC, and we use the format yyyy-MM-ddTHH:mm:ss.fffZ. The length can be surmised from the resolution property. At the moment it is always an hour.
  • payloadType: The type of the payload. For this payload it is always set to LocationLPC to identify that this is a LocationLPC-event.

Example event

This is an example payload of a typical LocationLPC-event:

location-limitation-of-power-consumption-event.json
{
"id": "ed7a8a7a-010f-4fad-a2e0-33dab82dccf2",
"createdAt": "2024-09-10T07:17:07.9100677+00:00",
"payload": {
"targets": [
{
"locationId": "7751a1c1-e318-4f71-b4f4-5b6e93efb149",
"meterPointId": "70705750009393993",
"resolution": "01:00:00",
"points": [
{
"maxPowerInKiloWatts": 80,
"timestamp": "2024-09-12T11:00:00+00:00"
},
{
"maxPowerInKiloWatts": 80,
"timestamp": "2024-09-12T12:00:00+00:00"
}
]
}
],
"payloadType": "LocationLPC"
}
}

Reacting to the event

These events are mandatory to react to, and you must cap the energy usage of the location to the specified value in the event.

When you receive a LocationLPC-event, you must first send a report which acknowledges the event at the earliest convenience. And later after the event has ended, you must send an energy usage report to the Energy Coordination API. These reports must be posted to the /reports endpoint. See the follow guide for more information: