Skip to content

Plaid Web Demo

About

The Plaid web demo lets you get a feel for using the OpenADR protocol and how Plaid implements it without any requirement to host or run software yourself. You also have access to a VTN where you can create events that will propagate through Plaid.

For demo purposes, only events are available as they are the most commonly used part of the OpenADR protocol. Events are created in the VTN and sent to Plaid, which parses the event information and fires the callback functions. For more information on how Events are implemented in OpenADR and Plaid, and what the different callback functions do, see the implementing events page.

The web demo also includes a running log of all of the communications between the VEN and VTN by showing Plaid's log files in the UI, so you can inspect the messages in raw OpenADR format.

Web Demo UI

Accessing the web demo

Go to plaid.gridfabric.io to sign up for a free account and use the demo.

The VTN is hosted at canvas.gridfabric.io. Your login information for the VTN will be the same as your username and password you created for the Plaid demo.

Setting up a server to receive Plaid messages

Plaid uses http to POST JSON messages, so it requires an http server to receive them.

Fastest option: set up a web based endpoint

Rather than spinning up a server yourself you can use a service to get going quickly.

Webhook.site is an example of a free service that will create an http endpoint you can POST messages to and inspect them as they come in. This is the fastest way to get started. Simply to go the Webhook and copy the url that they create for you to use in the next step.

More accurate option: run a server locally

Of course, if all you could do is see and inspect the messages this would not be a very useful tool or protocol! You will need to parse messages with events, report requests and more in your platform and respond accordingly. To use the demo as a way to pilot or test this, you can run a server locally.

We maintain a sample middleware that implements a server (in nodejs), receiving messages from Plaid and responding accordingly. For events, it is by default set up to only receive OnEventIntervalStart and OnEventComplete, but can be extended to handle other messages as well. You may directly run this locally, or use it as inspiration to implement in the language of your choice.

Once you have a server running, you can use ngrok to expose it and create an http endpoint. Copy the endpoint that ngrok creates for you to use in the next step.

Configure Plaid in the web demo

Once you have your server ready, you plug the url into the Plaid web demo and run it. Plaid provides a host of endpoints that will trigger over the lifecycle of an event (full documentation for these is here). When endpoints are left blank, Plaid will ignore that lifecycle event.

To get started, you may just want to inspect the event data in JSON format and see what is in there, and what is available. To do that, just put your url in the event endpoint.

It won't hurt to enter in urls into the other endpoints - do as many as you'd like, and you can inspect the messages as they come through. Once the endpoints are set up, start Plaid by clicking the gear in the top right and click "start". In the following example, Plaid will ignore the startDistributeEvent, completeDistributeEvent and startEvent endpoints because they were left blank.

web-demo-ui

Create an event in the VTN

Now create the event in the VTN. Go to the Events section and click on the "Create Event" button. In the modal that shows up, click "Standard".

create event screenshot

On the next screen, you'll see a number of fields. You only need to update:

  • start time: set to near in the future (e.g. a few minutes out). By default, start time is set to the current time, so you just need to add a few minutes.
  • duration: set to less than 10 minutes - we will do a quick event so you can see it start and end.
  • event signal type & payload: set to LEVEL and 2, respectively.

Now click "Create Event".

add event details screenshot

The Event is still a draft and not yet published. Before publishing, you need to add a target. Click on the "Target" tab. In the box, find the VEN that you added, and include it in "targets".

add event target screenshot

Now, go back to the "Publish" tab and click "Publish Event".

Next time Plaid polls, it will receive the event, parse it and start POSTing to the endpoints you specified accordingly. In this case, you will see the event information sent to the event endpoint that you enabled.

Next Steps

  • Read more about OpenADR in our conceptual overview or blog
  • Read specifically about how Events and Reports are implemented in OpenADR, and how Plaid implements them (events and reporting)
  • Experiment with different event types, intervals and signal types in the VTN
  • Get in touch with us and we can help you understand if OpenADR and/or Plaid can help your organization