Implementing OpenADR with Plaid

How Plaid simplifies OpenADR implementation

3 minute read ∙ Dec 9th, 2019

Plaid hides all of the complexity of OpenADR, so our customers can implement only the parts required to become OpenADR compliant and integrate into a load shifting program. Yet, it maintains all of OpenADR's power, so as load shifting requirements grow and they integrate into more complex programs, they can quickly implement additional functionality.

Plaid provides a way to implement a compliant OpenADR 2.0b VEN and run it as though it was built in house, without any of the risk, time or cost associated with doing so. Dozens of companies have implemented Plaid, including manufactures or managers of thermostats, car chargers, lights and lighting controllers, energy management gateways and energy management/building management solutions. It has been run in docker containers, in Azure/AWS instances and on hardware devices. This wide customer base shows both the broad applicability of OpenADR, and also the flexibility of our software to integrate with various customer systems.

How is this flexibility achieved? Through a microservice architecture.

Integrating with a Microservice

Plaid is a microservice which runs as a standalone executable in either a Windows or Linux environment. It exposes an API for sending messages to Plaid, and uses a customer written communication plugin for communicating to the external system.


Here are two benefits of a microservice approach:

  1. Microservice integration is language agnostic. The external system can be written in any language using any tools with the only requirement being that it expose an API.
  2. With the OpenADR driver running separate from the external system, there’s a clean separation of concerns. Microservices promote loose coupling, allowing the two systems to be tested and developed independently.

Companies that have demand response capabilities are able to implement Plaid very quickly. We’ve helped companies from inception to implementation to compliance in as little as 2 weeks.

Implementing an OpenADR VEN 2.0b w/Plaid

Plaid provides a complete implementation of OpenADR and it’s certified by the OpenADR alliance. ALL of the OpenADR logic resides within Plaid. The customer system integrates with Plaid by implementing business logic: namely determining what devices to control and what type of control to perform during an event, and collecting telemetry data for reports. This functionality touches on two OpenADR services: EiEvent and EiReport.

There are many conformance rules that govern the interaction between a VEN and VTN regarding events and reports required to get OpenADR certified. Our customers don’t have to worry about any of them. Instead, requirements for implementing OpenADR are slimmed down to the following:

  1. Start control when an event starts
  2. End control when an event ends
  3. Query report data
  4. Asynchronous opt in/out of an event

That’s it! To implement OpenADR, the customer creates a simple communication plugin using simple APIs while the complex OpenADR logic, XML message formatting, and communication to the VTN is completely hidden and handled within Plaid.

Try before you buy

As we describe in build vs buy, our customers are generally weighing whether to implement OpenADR through a product like Plaid or build it themselves. We try to minimize the cost and risk, and maximize the value of buying a stack, so our customers don't have to worry about the complexity of implementing the protocol and can focus on innovating their products. We offer trial versions of Plaid with full documentation so customers can see what it is like to integrate with a default implementation and better inform their decision.

Looking for More?

For information about OpenADR, see our overview of OpenADR or visit the OpenADR Alliance website.

To find out more about Plaid or try it out, contact us!

Interested in learning more?

Sign up for our quarterly(ish) newsletter with industry & protocol news, commentary and product updates.

Or if you'd like to discuss, contact us