Skip to content

PG&E VTN Connection Guide

This section will describe the process to connect to the PG&E VTN, which is the technical point of contact for PG&E's Automated Demand Response (ADR) program. Buildings that are enrolled in any of the following PG&E programs may apply for the ADR incentive:

  • Peak Day Pricing
  • Capacity Bidding program
  • Demand Response Auction Mechanism
  • Supply Side Pilot
  • Excess Supply Pilot

The incentive to participate in ADR is $200 per shifted KW per year. So, a participant that can shift 100 kW will receive $20,000 / year.

You can email or view the PGE ADR website for more information on these programs.

This connection guide will be for the test server. Since GridFabric does not qualify for the program, we were not able to connect to the production server, but we were assured that the process for connecting to the production server is effectively the same. You will likely be required to go through this step if you plan to participate in any of the above programs.


The test VTN does not require production certificates to connect, so you should follow the instructions for generating and preparing test certificates.

However, while the Canvas Cloud VTN uses the test CA certificate, PG&E test VTN uses the production one. You must make sure that you update the ca certificates path accordingly. Both certificates are in the cacerts folder. You need to change the capath field in the config file with the path to the ven_cacerts_prod.pem cert instead of the ven_cacerts_test.pem.

Make sure that your keypath and certpath in the config file have the correct paths to the certificates that you got from kyrio and prepared according to the guide.

Connecting Plaid

PG&E's VTN assigns a VEN ID upon registration, so your VEN should register with a blank VEN ID.

In the config file, update the following fields in the oadr > tls section:

  • "vtnUrl": ""
  • "vtnId": "HONEYWELL.PGE2.VTN"
  • "cipherList": "AES128-SHA"
  • "tlsVersion": "TLSv1_0"

Note you need to update the TLS version and Cipher number to prior versions as this VTN does not support v1.2.

You may put a venName if you like for your records, but keep the venId and registrationId blank.

Also, in the market contexts Array, add "Client Test", as that is the market context used for the PG&E VTN Test Events. Your field may now look like the following: "marketContexts": ["http://marketContext1", "http://marketContext2", "Client Test"],. The order and other Market Contexts are not important, it just needs to be an array of strings and Client Test should be one of them.

You should also make persistIds: true - when the VTN registers the VEN, it will assign a venId and registrationId, and if persistIds is true then Plaid will automatically update the config file.

Now, run Plaid. It will automatically register with the VTN. If you have any issues at this step, you should look at the troubleshooting guide, or if that doesn't help feel free to reach out to us at with as much information as you can gather.

Now you have a connected VEN and you will have persisted the assigned VEN ID through to the config file (it will also be available in the logs, but that can be harder to parse).

Before you go further, you need to reach out to the team that manages the program and the server. The best way is to email them at Send a brief message explaining who you are representing, what you are trying to accomplish, and the venId that was assigned.

Getting a login to the DRAS Customer Interface and running test events

Once Energy Solutions has processed your request, they should give you a login to the system. You do not need to leave Plaid running while you wait for a response from them, but if you shut it down make sure you review the restarting Plaid before restarting it.

Once you have your credentials, log in at You should see your VEN show up and connected (assuming it is running), similar to what is shown here.


Now you can run test events, and see the events get parsed in Plaid.

Restarting Plaid

Plaid is meant to be constantly running and maintain state, but often will be restarted during testing, system or device restarts.

When Plaid restarts, it automatically registers with the information present in the config file. The VTN will use the venId in the config file, since you persisted that. However, we have noticed that when restarting and trying to connect to the PG&E VTN we get an error: Incorrect registration ID for VEN ID.

Therefore, we recommend after you have successfully registered, delete the registration ID (leave it blank - ""), and turn persistIds to false. This will re-register without a problem and you can continue using the VEN.

These should help you sidestep issues we had when connecting PG&E's VTN and we hope your integration is seamless. Please let us know at if you come across any others.

Test Events

The PG&E VTN will send event information on every poll, even if there is no new information from the prior poll. Therefore, if you are using the default plugin, as you run test events you will see the /event callbacks called by the plugin each time Plaid polls the VTN.

PG&E has 5 test event categories. All of them use SIMPLE / level event types and are 2 hours long. Some of them have one event interval, some have two. For the ones that have 2 intervals, the first interval is 2 minutes long with a payload of 1 and the second interval is 1 hour, 58 minutes long with a payload of 2.