Virtual Power Plants and Software

https://stephendeyoung.substack.com/p/virtual-power-plants-and-software

The electricity grid is constantly in flux. Demand rises and falls according to the rhythm of daily life. The grid must always be able to meet this demand otherwise blackouts can occur. Particularly troublesome are instances of very high demand such as a heatwave causing millions of air conditioning units to be switched on. Currently these peaks are often met through burning fossil fuels in a gas or oil-based power plant. 

Virtual Power Plants (VPPs) reduce the need for these “peaker” plants by aggregating distributed energy resources (DERs). DERs such as rooftop solar, home/office batteries, EVs and chargers, smart home devices and electric water heaters, are being installed at greater and greater rates. In the US the DER market is expected to double by 2027 with 262 gigawatts of additional capacity installed1 (enough to power 750,000 American homes). These DERs can help the grid by reducing or meeting demand through remote control. This avoids having to burn dirty fuels during peak loads.

DERs can also reduce the need for additional electricity grid transmission and distribution. We need to “electrify everything” to meet our climate goals. This will require the grid to bring on more and more sources of generation and increase the transmission and distribution infrastructure (pylons, overhead lines and substations). DERs require fewer infrastructure upgrades through greater efficiency - devices can be smart about when to consume electricity and when to provide it to the grid.

By aggregating DERs, VPPs provide a more predictable and easily managed way of helping the grid stay balanced. In the US around 60 gigawatts of VPPs could add $20 billion in societal benefits over a 10-year period. This includes carbon emission reductions, energy resilience, and transmission and distribution infrastructure deferral2.

Can Commercial Real Estate Seize the VPP Opportunity?
© Peter Varga| Dreamstime.com

Software is at the heart of a VPP. A distributed energy resource management system (DERMS) is needed to control the DERs (often in the cloud). Other systems calculate the capacity of the VPP and bid into electricity markets. Before getting into the software we need to understand the basic principles of a VPP.

VPPs aggregate DERs by enrolling customers in a program. There are currently three models3:

  1. Utilities directly enrol customers by using existing DERs or offering DER purchase enticements e.g. Green Mountain Power’s battery VPP and Duke Energy’s managed EV charging VPP.

  2. Manufacturer or retailers of DERs enrol customers in a VPP e.g. Tesla, Ford, GM, Sunrun, Sunnova

  3. VPP Platform company enrols customers from a variety of different DER products e.g. Voltus, AutoGrid, and Leap, for example, recruit participants, directly or via partnerships, with a variety of DERs in residential and non-residential settings.

By aggregating these DERs the VPP can offer services like a normal power plant such as delivering electricity to the grid, demand reduction and ancillary services (which help maintain grid health). These services are sold to the grid and customers enrolled in a VPP make money from having their devices controlled by it. The VPP will often bid into an electricity market to offer demand reduction at a particular price. It knows its available capacity by using historical data from its DERs and forecasting algorithms.

These are the main components of a VPP software platform:

  1. A system to enrol customers in the VPP

  2. A system that receives telemetry from the DERs and can control them (DERMS)

  3. A system that predicts the capacity of the VPP and bids into the grid operator’s electricity market

  4. A system that can receive requests to reduce load etc

This diagram gives an overview of a hypothetical microservices architecture for a VPP:

Tesla’s Powerwall batteries are wifi-connected devices that can power homes. In 2022 Tesla’s VPP had enrolled over 4500 of these devices and was able to contribute 33 MW of electricity during peak load events in California4 (enough to power hundreds of homes for a year). Tesla uses a software stack including Scala, Akka, Kafka and gRPC APIs to provide its VPP. In 2020 Tesla engineers gave a talk at QCon London that described their VPP architecture (all images are taken from the presentation)5:

Tesla’s Powerwall devices connect to a cloud platform via websockets. Customers voluntarily enrol their devices in the VPP program, and the system represents the state of each device using Akka actors. These actors are organised into parent actors that aggregate multiple devices. The data flow within the system is as follows:

  • Websocket message telemetry is sent to Kafka

  • Akka Streams services read these messages from Kafka. 

  • The Akka actors, which reside in Kubernetes pods, receive these messages. 

  • If a pod fails or scales, actor rebalancing occurs. 

  • The actors receive state refreshes from new messages sent by the devices. 

  • gRPC APIs enable querying the cluster to retrieve individual or aggregated telemetry data. 

The control service, implemented using Akka Streams, resolves all devices through the assets service, reads relevant battery telemetry, and plans the discharge of batteries to meet the required capacity. This planning ensures efficient battery usage by avoiding discharging batteries that are already low, and it communicates these discharge requirements and timeframes to each battery.

Tesla's Autobidder is a workflow orchestration system integrated into the VPP that uses market data to forecast VPP energy capacity and make bids into electricity markets based on price predictions. The forecasting and optimization services are primarily written in Python, while the rest of the system is implemented in Scala. The Autobidder system employs co-optimization strategies to meet both global and local objectives. For example, the grid may require battery discharge due to a peak event, while customers may want their batteries fully charged due to an incoming storm. Using the same Akka architecture as the DERMS, Autobidder pushes price forecasts to devices through the control service. The devices then develop a plan for battery balancing that considers both local and global objectives. This plan is pushed back up the telemetry architecture, with aggregations at each node. Autobidder utilizes this aggregate information to determine its bidding strategy. If a device loses connectivity, it continues to make plans based on the best estimate of the global objective. After a certain period offline, the device switches to local optimization only to maintain efficient operation.

Lunar Gridshare provides a VPP by connecting third party devices to its platform. It is “connected to 77,000 residential devices across Europe, Japan, and the United States, representing 290 megawatts of power and 725 megawatt-hours of energy capacity. This is enough to power 578,000 average US homes for one hour.”6

The platform is built using a number of AWS services including:

  • AWS IoT - manages the third party devices enrolled in the VPP and sends data to the cloud via MQTT (a lightweight messaging protocol)

  • AWS Kinesis - device telemetry is pushed onto Kinesis message queues to be consumed downstream

  • AWS Step Functions - coordinates AWS Lambdas to make forecasts and control the device fleet

AWS have a more detailed write-up of the Gridshare platform and architecture.

Virtual Peaker has partnered with various utilities in the US to provide a VPP. Their platform aggregates third party smart thermostats, smart water heaters, EV chargers and batteries. In a partnership with the Pacific Gas & Electric Company in California, they aggregated 525 batteries into a VPP from various providers including Tesla and Sonnen7

The capacity of VPPs is still very small compared with the rest of the electricity grid. To reduce our reliance on fossil fuel peaker plants and help the grid cope with an increase in electricity demand, we need to unblock the development of VPPs in the following ways:

Communication protocols across DERs and VPP platforms are fragmented. This makes it complex and costly to manage DERs for utilities and platform providers. Regulators could mandate that DER manufacturers use open source APIs or standards that make it easier to integrate them into third-party platforms. The underlying technologies of VPPs also lack consistent standards. Providers all implement telemetry collection and DER interconnection in different ways. 

A number of working groups have been established to solve this fragmentation. OpenADR8 standardises the message format used when the grid needs to reduce demand automatically and for managing DERs. This simplifies data exchange between grid entities (utilities, grid operators and energy control systems). The Open Vehicle Grid Interface Protocol (OVGIP)9 provides a common communication protocol between EVs and the grid. Matter10 is an open source connectivity standard for smart home devices.

There is also a lack of standardisation around DER and VPP modelling and forecasting tools. Utilities often perceive VPPs as less reliable than traditional assets because of wide variation in these methods. Open source tooling would help increase VPP adoption. 

As we electrify everything and grid infrastructure is upgraded, increasing generation, transmission and substation capacity is only one way of achieving these upgrades. An alternative is to allow the market to bid on these enhancements which could involve virtual upgrades. In a conversation between Duncan Campbell and David Roberts on the Volts podcast11, an example is given of insulating houses rather than upgrading a transformer:

If I go to houses connected to that particular transformer and install insulation on all of them, thereby reducing their demand for all the houses in that particular area, I have obviated the need for that transformer upgrade. I have basically provided a virtual transformer upgrade. - private providers could bid on this virtual stuff when new need arises.

Bill payers could also “pay private companies to do what amounts to infrastructure upgrades”:

I'm talking about ratepayers paying the private company that gives them the best price. Right? Versus just paying one private company offering one solution. Right. Let's make all of them offer various solutions at various prices with various costs of capital and see what happens. And you don't have to go with the DERs, by the way. Like, if the system operator doesn't think they're going to be reliable, doesn't think they're cost-effective, don't do it. Right. But that is the only way for us to actually develop the knowledge of what do these things cost, who will finance them, what are their capabilities? Is to start holding the auctions.

This framework would likely increase the adoption of VPPs by enabling these platforms to offer demand reduction and electricity generation as an alternative to building fossil fuel power plants or upgrading the grid infrastructure.

By addressing these areas and fostering collaboration among policymakers, industry, and technology providers, we can pave the way for the broader adoption and successful integration of VPPs into the future energy landscape.

{
"by": "stephendeyoung",
"descendants": 17,
"id": 40216323,
"kids": [
40222159,
40222255,
40223568,
40223624
],
"score": 30,
"time": 1714511073,
"title": "Virtual Power Plants and Software",
"type": "story",
"url": "https://stephendeyoung.substack.com/p/virtual-power-plants-and-software"
}
{
"author": "Stephen Young",
"date": "2024-04-29T08:35:10.000Z",
"description": "The electricity grid is constantly in flux.",
"image": "https://substackcdn.com/image/fetch/w_1200,h_600,c_fill,f_jpg,q_auto:good,fl_progressive:steep,g_auto/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg",
"logo": "https://logo.clearbit.com/substack.com",
"publisher": "Substack",
"title": "Virtual Power Plants and software",
"url": "https://www.software.energy/p/virtual-power-plants-and-software"
}
{
"url": "https://www.software.energy/p/virtual-power-plants-and-software",
"title": "Virtual Power Plants and software",
"description": "The electricity grid is constantly in flux. Demand rises and falls according to the rhythm of daily life. The grid must always be able to meet this demand otherwise blackouts can occur. Particularly...",
"links": [
"https://www.software.energy/p/virtual-power-plants-and-software",
"https://stephendeyoung.substack.com/p/virtual-power-plants-and-software"
],
"image": "https://substackcdn.com/image/fetch/f_auto,q_auto:best,fl_progressive:steep/https%3A%2F%2Fstephendeyoung.substack.com%2Fapi%2Fv1%2Fpost_preview%2F143935361%2Ftwitter.jpg%3Fversion%3D4",
"content": "<div><p>The electricity grid is constantly in flux. Demand rises and falls according to the rhythm of daily life. The grid must always be able to meet this demand otherwise blackouts can occur. Particularly troublesome are instances of very high demand such as a heatwave causing millions of air conditioning units to be switched on. Currently these peaks are often met through burning fossil fuels in a gas or oil-based power plant. </p><p><span>Virtual Power Plants (VPPs) reduce the need for these “peaker” plants by aggregating distributed energy resources (DERs). DERs such as rooftop solar, home/office batteries, EVs and chargers, smart home devices and electric water heaters, are being installed at greater and greater rates. In the US the DER market is expected to double by 2027 with 262 gigawatts of additional capacity installed</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-1-143935361\" target=\"_blank\">1</a></span><span> (enough to power 750,000 American homes). These DERs can help the grid by reducing or meeting demand through remote control. This avoids having to burn dirty fuels during peak loads.</span></p><p>DERs can also reduce the need for additional electricity grid transmission and distribution. We need to “electrify everything” to meet our climate goals. This will require the grid to bring on more and more sources of generation and increase the transmission and distribution infrastructure (pylons, overhead lines and substations). DERs require fewer infrastructure upgrades through greater efficiency - devices can be smart about when to consume electricity and when to provide it to the grid.</p><p><span>By aggregating DERs, VPPs provide a more predictable and easily managed way of helping the grid stay balanced. In the US around 60 gigawatts of VPPs could add $20 billion in societal benefits over a 10-year period. This includes carbon emission reductions, energy resilience, and transmission and distribution infrastructure deferral</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-2-143935361\" target=\"_blank\">2</a></span><span>.</span></p><div><figure><a target=\"_blank\" href=\"https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg\"><div><picture><source type=\"image/webp\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg 1456w\" sizes=\"100vw\"></source><img src=\"https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg\" alt=\"Can Commercial Real Estate Seize the VPP Opportunity?\" title=\"Can Commercial Real Estate Seize the VPP Opportunity?\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf58c6f9-5c7d-4389-9412-1d71023569c8_2000x1422.jpeg 1456w\" /></picture></div></a><figcaption>© Peter Varga| Dreamstime.com</figcaption></figure></div><p>Software is at the heart of a VPP. A distributed energy resource management system (DERMS) is needed to control the DERs (often in the cloud). Other systems calculate the capacity of the VPP and bid into electricity markets. Before getting into the software we need to understand the basic principles of a VPP.</p><p><span>VPPs aggregate DERs by enrolling customers in a program. There are currently three models</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-3-143935361\" target=\"_blank\">3</a></span><span>:</span></p><blockquote><ol><li><p>Utilities directly enrol customers by using existing DERs or offering DER purchase enticements e.g. Green Mountain Power’s battery VPP and Duke Energy’s managed EV charging VPP.</p></li><li><p>Manufacturer or retailers of DERs enrol customers in a VPP e.g. Tesla, Ford, GM, Sunrun, Sunnova</p></li><li><p>VPP Platform company enrols customers from a variety of different DER products e.g. Voltus, AutoGrid, and Leap, for example, recruit participants, directly or via partnerships, with a variety of DERs in residential and non-residential settings.</p></li></ol></blockquote><p>By aggregating these DERs the VPP can offer services like a normal power plant such as delivering electricity to the grid, demand reduction and ancillary services (which help maintain grid health). These services are sold to the grid and customers enrolled in a VPP make money from having their devices controlled by it. The VPP will often bid into an electricity market to offer demand reduction at a particular price. It knows its available capacity by using historical data from its DERs and forecasting algorithms.</p><p>These are the main components of a VPP software platform:</p><ol><li><p>A system to enrol customers in the VPP</p></li><li><p>A system that receives telemetry from the DERs and can control them (DERMS)</p></li><li><p>A system that predicts the capacity of the VPP and bids into the grid operator’s electricity market</p></li><li><p>A system that can receive requests to reduce load etc</p></li></ol><p>This diagram gives an overview of a hypothetical microservices architecture for a VPP:</p><div><figure><a target=\"_blank\" href=\"https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879c87f-38df-4ddb-8294-254711fc4139_2997x2694.png\"><div><picture><source type=\"image/webp\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879c87f-38df-4ddb-8294-254711fc4139_2997x2694.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879c87f-38df-4ddb-8294-254711fc4139_2997x2694.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879c87f-38df-4ddb-8294-254711fc4139_2997x2694.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879c87f-38df-4ddb-8294-254711fc4139_2997x2694.png 1456w\" sizes=\"100vw\"></source><img src=\"https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879c87f-38df-4ddb-8294-254711fc4139_2997x2694.png\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879c87f-38df-4ddb-8294-254711fc4139_2997x2694.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879c87f-38df-4ddb-8294-254711fc4139_2997x2694.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879c87f-38df-4ddb-8294-254711fc4139_2997x2694.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0879c87f-38df-4ddb-8294-254711fc4139_2997x2694.png 1456w\" /></picture></div></a></figure></div><p><span>Tesla’s Powerwall batteries are wifi-connected devices that can power homes. In 2022 Tesla’s VPP had enrolled over 4500 of these devices and was able to contribute 33 MW of electricity during peak load events in California</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-4-143935361\" target=\"_blank\">4</a></span><span> (enough to power hundreds of homes for a year). Tesla uses a software stack including Scala, Akka, Kafka and gRPC APIs to provide its VPP. In 2020 Tesla engineers gave a talk at QCon London that described their VPP architecture (all images are taken from the presentation)</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-5-143935361\" target=\"_blank\">5</a></span><span>:</span></p><div><figure><a target=\"_blank\" href=\"https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F709229da-0b42-46ee-989f-eb22c202f781_1304x664.png\"><div><picture><source type=\"image/webp\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F709229da-0b42-46ee-989f-eb22c202f781_1304x664.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F709229da-0b42-46ee-989f-eb22c202f781_1304x664.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F709229da-0b42-46ee-989f-eb22c202f781_1304x664.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F709229da-0b42-46ee-989f-eb22c202f781_1304x664.png 1456w\" sizes=\"100vw\"></source><img src=\"https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F709229da-0b42-46ee-989f-eb22c202f781_1304x664.png\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F709229da-0b42-46ee-989f-eb22c202f781_1304x664.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F709229da-0b42-46ee-989f-eb22c202f781_1304x664.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F709229da-0b42-46ee-989f-eb22c202f781_1304x664.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F709229da-0b42-46ee-989f-eb22c202f781_1304x664.png 1456w\" /></picture></div></a></figure></div><p>Tesla’s Powerwall devices connect to a cloud platform via websockets. Customers voluntarily enrol their devices in the VPP program, and the system represents the state of each device using Akka actors. These actors are organised into parent actors that aggregate multiple devices. The data flow within the system is as follows:</p><ul><li><p>Websocket message telemetry is sent to Kafka</p></li><li><p>Akka Streams services read these messages from Kafka. </p></li><li><p>The Akka actors, which reside in Kubernetes pods, receive these messages. </p></li><li><p>If a pod fails or scales, actor rebalancing occurs. </p></li><li><p>The actors receive state refreshes from new messages sent by the devices. </p></li><li><p>gRPC APIs enable querying the cluster to retrieve individual or aggregated telemetry data. </p></li></ul><div><figure><a target=\"_blank\" href=\"https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b4fe71-0bb4-4c4a-badc-c747875c0dbb_1300x726.png\"><div><picture><source type=\"image/webp\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b4fe71-0bb4-4c4a-badc-c747875c0dbb_1300x726.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b4fe71-0bb4-4c4a-badc-c747875c0dbb_1300x726.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b4fe71-0bb4-4c4a-badc-c747875c0dbb_1300x726.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b4fe71-0bb4-4c4a-badc-c747875c0dbb_1300x726.png 1456w\" sizes=\"100vw\"></source><img src=\"https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b4fe71-0bb4-4c4a-badc-c747875c0dbb_1300x726.png\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b4fe71-0bb4-4c4a-badc-c747875c0dbb_1300x726.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b4fe71-0bb4-4c4a-badc-c747875c0dbb_1300x726.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b4fe71-0bb4-4c4a-badc-c747875c0dbb_1300x726.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82b4fe71-0bb4-4c4a-badc-c747875c0dbb_1300x726.png 1456w\" /></picture></div></a></figure></div><p>The control service, implemented using Akka Streams, resolves all devices through the assets service, reads relevant battery telemetry, and plans the discharge of batteries to meet the required capacity. This planning ensures efficient battery usage by avoiding discharging batteries that are already low, and it communicates these discharge requirements and timeframes to each battery.</p><div><figure><a target=\"_blank\" href=\"https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57d1250-6787-4cc6-9381-d10588cc6b48_1306x287.png\"><div><picture><source type=\"image/webp\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57d1250-6787-4cc6-9381-d10588cc6b48_1306x287.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57d1250-6787-4cc6-9381-d10588cc6b48_1306x287.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57d1250-6787-4cc6-9381-d10588cc6b48_1306x287.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57d1250-6787-4cc6-9381-d10588cc6b48_1306x287.png 1456w\" sizes=\"100vw\"></source><img src=\"https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57d1250-6787-4cc6-9381-d10588cc6b48_1306x287.png\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57d1250-6787-4cc6-9381-d10588cc6b48_1306x287.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57d1250-6787-4cc6-9381-d10588cc6b48_1306x287.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57d1250-6787-4cc6-9381-d10588cc6b48_1306x287.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57d1250-6787-4cc6-9381-d10588cc6b48_1306x287.png 1456w\" /></picture></div></a></figure></div><p>Tesla's Autobidder is a workflow orchestration system integrated into the VPP that uses market data to forecast VPP energy capacity and make bids into electricity markets based on price predictions. The forecasting and optimization services are primarily written in Python, while the rest of the system is implemented in Scala. The Autobidder system employs co-optimization strategies to meet both global and local objectives. For example, the grid may require battery discharge due to a peak event, while customers may want their batteries fully charged due to an incoming storm. Using the same Akka architecture as the DERMS, Autobidder pushes price forecasts to devices through the control service. The devices then develop a plan for battery balancing that considers both local and global objectives. This plan is pushed back up the telemetry architecture, with aggregations at each node. Autobidder utilizes this aggregate information to determine its bidding strategy. If a device loses connectivity, it continues to make plans based on the best estimate of the global objective. After a certain period offline, the device switches to local optimization only to maintain efficient operation.</p><div><figure><a target=\"_blank\" href=\"https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85db2746-9d1f-4f53-a968-b7f9fd99d0ca_1300x726.png\"><div><picture><source type=\"image/webp\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85db2746-9d1f-4f53-a968-b7f9fd99d0ca_1300x726.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85db2746-9d1f-4f53-a968-b7f9fd99d0ca_1300x726.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85db2746-9d1f-4f53-a968-b7f9fd99d0ca_1300x726.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85db2746-9d1f-4f53-a968-b7f9fd99d0ca_1300x726.png 1456w\" sizes=\"100vw\"></source><img src=\"https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85db2746-9d1f-4f53-a968-b7f9fd99d0ca_1300x726.png\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85db2746-9d1f-4f53-a968-b7f9fd99d0ca_1300x726.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85db2746-9d1f-4f53-a968-b7f9fd99d0ca_1300x726.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85db2746-9d1f-4f53-a968-b7f9fd99d0ca_1300x726.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85db2746-9d1f-4f53-a968-b7f9fd99d0ca_1300x726.png 1456w\" /></picture></div></a></figure></div><p><span>Lunar Gridshare provides a VPP by connecting third party devices to its platform. It is “connected to 77,000 residential devices across Europe, Japan, and the United States, representing 290 megawatts of power and 725 megawatt-hours of energy capacity. This is enough to power 578,000 average US homes for one hour.”</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-6-143935361\" target=\"_blank\">6</a></span></p><p>The platform is built using a number of AWS services including:</p><ul><li><p>AWS IoT - manages the third party devices enrolled in the VPP and sends data to the cloud via MQTT (a lightweight messaging protocol)</p></li><li><p>AWS Kinesis - device telemetry is pushed onto Kinesis message queues to be consumed downstream</p></li><li><p>AWS Step Functions - coordinates AWS Lambdas to make forecasts and control the device fleet</p></li></ul><p><span>AWS have a more detailed </span><a target=\"_blank\" href=\"https://aws.amazon.com/blogs/industries/how-lunar-energy-is-using-aws-to-create-a-customer-led-energy-system/\">write-up of the Gridshare platform and architecture</a><span>.</span></p><p><span>Virtual Peaker has partnered with various utilities in the US to provide a VPP. Their platform aggregates third party smart thermostats, smart water heaters, EV chargers and batteries. In a partnership with the Pacific Gas &amp; Electric Company in California, they aggregated 525 batteries into a VPP from various providers including Tesla and Sonnen</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-7-143935361\" target=\"_blank\">7</a></span><span>: </span></p><div><figure><a target=\"_blank\" href=\"https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d1ea49-b740-4235-bc27-065f8cdf3c6b_1600x853.png\"><div><picture><source type=\"image/webp\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d1ea49-b740-4235-bc27-065f8cdf3c6b_1600x853.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d1ea49-b740-4235-bc27-065f8cdf3c6b_1600x853.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d1ea49-b740-4235-bc27-065f8cdf3c6b_1600x853.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d1ea49-b740-4235-bc27-065f8cdf3c6b_1600x853.png 1456w\" sizes=\"100vw\"></source><img src=\"https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d1ea49-b740-4235-bc27-065f8cdf3c6b_1600x853.png\" srcset=\"https://substackcdn.com/image/fetch/w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d1ea49-b740-4235-bc27-065f8cdf3c6b_1600x853.png 424w, https://substackcdn.com/image/fetch/w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d1ea49-b740-4235-bc27-065f8cdf3c6b_1600x853.png 848w, https://substackcdn.com/image/fetch/w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d1ea49-b740-4235-bc27-065f8cdf3c6b_1600x853.png 1272w, https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d1ea49-b740-4235-bc27-065f8cdf3c6b_1600x853.png 1456w\" /></picture></div></a></figure></div><p>The capacity of VPPs is still very small compared with the rest of the electricity grid. To reduce our reliance on fossil fuel peaker plants and help the grid cope with an increase in electricity demand, we need to unblock the development of VPPs in the following ways:</p><p>Communication protocols across DERs and VPP platforms are fragmented. This makes it complex and costly to manage DERs for utilities and platform providers. Regulators could mandate that DER manufacturers use open source APIs or standards that make it easier to integrate them into third-party platforms. The underlying technologies of VPPs also lack consistent standards. Providers all implement telemetry collection and DER interconnection in different ways. </p><p><span>A number of working groups have been established to solve this fragmentation. OpenADR</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-8-143935361\" target=\"_blank\">8</a></span><span> standardises the message format used when the grid needs to reduce demand automatically and for managing DERs. This simplifies data exchange between grid entities (utilities, grid operators and energy control systems). The Open Vehicle Grid Interface Protocol (OVGIP)</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-9-143935361\" target=\"_blank\">9</a></span><span> provides a common communication protocol between EVs and the grid. Matter</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-10-143935361\" target=\"_blank\">10</a></span><span> is an open source connectivity standard for smart home devices.</span></p><p>There is also a lack of standardisation around DER and VPP modelling and forecasting tools. Utilities often perceive VPPs as less reliable than traditional assets because of wide variation in these methods. Open source tooling would help increase VPP adoption. </p><p><span>As we electrify everything and grid infrastructure is upgraded, increasing generation, transmission and substation capacity is only one way of achieving these upgrades. An alternative is to allow the market to bid on these enhancements which could involve virtual upgrades. In a conversation between Duncan Campbell and David Roberts on the Volts podcast</span><span><a href=\"https://www.software.energy/p/virtual-power-plants-and-software#footnote-11-143935361\" target=\"_blank\">11</a></span><span>, an example is given of insulating houses rather than upgrading a transformer:</span></p><blockquote><p>If I go to houses connected to that particular transformer and install insulation on all of them, thereby reducing their demand for all the houses in that particular area, I have obviated the need for that transformer upgrade. I have basically provided a virtual transformer upgrade. - private providers could bid on this virtual stuff when new need arises.</p></blockquote><p>Bill payers could also “pay private companies to do what amounts to infrastructure upgrades”:</p><blockquote><p>I'm talking about ratepayers paying the private company that gives them the best price. Right? Versus just paying one private company offering one solution. Right. Let's make all of them offer various solutions at various prices with various costs of capital and see what happens. And you don't have to go with the DERs, by the way. Like, if the system operator doesn't think they're going to be reliable, doesn't think they're cost-effective, don't do it. Right. But that is the only way for us to actually develop the knowledge of what do these things cost, who will finance them, what are their capabilities? Is to start holding the auctions.</p></blockquote><p>This framework would likely increase the adoption of VPPs by enabling these platforms to offer demand reduction and electricity generation as an alternative to building fossil fuel power plants or upgrading the grid infrastructure.</p><p>By addressing these areas and fostering collaboration among policymakers, industry, and technology providers, we can pave the way for the broader adoption and successful integration of VPPs into the future energy landscape.</p></div>",
"author": "Stephen Young",
"favicon": "https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80cab555-f68a-4b6c-b4da-4ebd39d05da5%2Ffavicon-48x48.png",
"source": "software.energy",
"published": "2024-04-29t08:35:10+00:00",
"ttr": 342,
"type": "article"
}