Gridshare's industry leading Virtual Power Plant (VPP) engine lets you maximize revenue for your customers and yourself while decarbonizing the grid.
Introduction
Gridshare's API makes VPP participation easy. With all of your devices on one platform, you can easily take part in VPP events by creating and sending commands to groups of devices, referred to as flex groups in Gridshare.
In Gridshare, VPP events are referred to as flex events — where a group of assets are controlled in aggregate to deliver flexible power to the grid.
VPP engine
Gridshare's VPP engine estimates the behavior of a flex group (a group of devices chosen to participate in a VPP) at a given time in the future. Referred to in Gridshare as a prognosis, this estimation is created by predicting power at the settlement point for every participating device or site individually, then adding these together to provide an aggregate power forecast.
After receiving a utility signal for a VPP event, referred to as a flex request in Gridshare, Gridshare creates the optimal offer from the group. Because Gridshare is a home energy management platform as well as a VPP platform, Gridshare considers in detail the energy available from, and the cost of participation for, each site when producing an offer.
You can accept and submit the offer in two ways, with the flex cycle or the flex event section. Both allow you to send commands to the group to modify its behavior in accordance with utility needs.
The flex cycle section provides a detailed step-by-step method for users who want granular control and insight over Gridshare's VPP operation. The flex event section provides a means of automating VPP participation.
Importantly, Gridshare can co-optimize customer devices to achieve a target, such as minimizing end-customer costs, reducing carbon emissions, or minimizing wholesale procurement costs. In addition, Gridshare always considers device and site constraints that may affect VPP delivery, thereby improving customer value and satisfaction.
Create a flex group
To set up a flex group to participate in a VPP, use the Create Flex Group endpoint. This is a POST request to specify the group name, currency (for estimating cost impact), and operating timezone.
Add participants to the group
After creating the group, add participants with the Create Bulk Actions on Flex Participants endpoint. This is a POST request to add all participants into a single request. Participants can be sites, locations of DERs, inverters, or aggregates.
To add participants, enter their settlement point — that is, the location in a participant's infrastructure where power data for measurement and verification are taken. The settlement point will determine how the power generated or consumed by a flex participant is accounted for in the VPP, after any baseline calculations have been made, and the type of participant they are. The baseline calculation will be generated by considering the site’s past behavior in flex deliveries for a particular program.
Participants in a flex group are distinguished based on their settlement points. There are three primary types of participants:
- Site participants: These participants have their settlement point at their connection to the grid.
- Inverter participants: These participants have their settlement point at the AC output of the inverter.
- Aggregate participants: An aggregate is perceived as a singular unit on Gridshare, even though it encompasses multiple devices or sites. The settlement point for these participants is the aggregate's output, which is calculated by measuring the aggregated device data.
Participate in flex events with flex cycle
View estimated behavior for the group
To view the latest prognosis (the expected aggregated behavior of the flex group at a given time range) in a list of historically generated prognoses, use the List Prognosis endpoint. This is a GET request. To view a specific prognosis including the power profile, use the Get Prognosis endpoint by entering the relevant prognosis ID. This is also a GET request.
Create a flex request
In Gridshare, creating a request to participate in a flex event is referred to as requesting differentials (diffs) compared to the prognosis. By requesting a diff, you are requesting alterations to the flex group's expected power output and instructing the flex group to interact with the grid by modifying its behavior. To send a flex request to the group, request a diff on top of the prognosis by using the Create Diff Request endpoint. This is a POST request.
View the offer for the event
After you've created the flex request, Gridshare will produce the optimal group behavior for the event, taking into account the constraints of each site and the VPP's target.
If Gridshare is co-optimizing for VPP revenue and customer end costs, the request will return the opportunity cost for the event. The cost of the event represents the cost for all participants if the offer is accepted, considering the savings that would have otherwise resulted from their behind-the-meter optimization.
To monitor the status of your request and view the offer, use the Get Diff Request endpoint. This is a GET request which returns the status.
The status of the request will be ‘pending’ until the offer is ready, at which time the status will change to ‘success.' You can then view the offer, including the opportunity cost.
Submit flex event response
If you are satisfied with the flex offer produced, finalize it by calling the Create Diff Order endpoint. This is a POST request that will dispatch commands to specific participants, ensuring the desired energy behavior is achieved.
Automate VPP participation with flex events
To automate VPP participation, use the flex events section of the API. This is a high-level, automated method to skip the functional steps described above.
To create a flex event using this method, use the Create Flex Event endpoint to request a differential on top of the prognosis. This is a POST request.
Once submitted, the system will then adopt a "best effort" approach and fulfill the requested diff as closely as possible with the energy the participants have available.
This endpoint supports the creation of flat dispatch events for a given target power, which Gridshare will aim to achieve with a flat profile within the specified time frame. Or, if the goal is to discharge as much power as possible, the system will maximize the discharge based on the power available in the flex group.