openadr 2.0 demand response program …...annex b - example reports from utility pilots

87
OpenADR 2.0 Demand Response Program Implementation Guide Revision Number: 1.0 Document Status: Released Document Number: 20140701 Copyright © OpenADR Alliance (2014/15/16). All rights Reserved. The information within this document is the property of the OpenADR Alliance and its use and disclosure are restricted.

Upload: others

Post on 28-Jan-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0

Demand Response Program Implementation Guide

Revision Number: 1.0 Document Status: Released

Document Number: 20140701

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved. The information within this document is the property of the OpenADR Alliance and its use and disclosure are restricted.

Page 2: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 2 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

CONTENTS

1 Introduction ...................................................................................................................... 5

2 References ....................................................................................................................... 5

3 Terms and Definitions ....................................................................................................... 5

4 Abbreviations ................................................................................................................... 8

5 Demand Response Program Types .................................................................................. 8

6 Deployment Scenarios ...................................................................................................... 9

6.1 Direct 1 ................................................................................................................. 10

6.2 Direct 2 ................................................................................................................. 11

6.3 Direct 3 ................................................................................................................. 12

6.4 Direct 4 ................................................................................................................. 13

6.5 Facilitator 1 ........................................................................................................... 14

6.6 Aggregator 1 ......................................................................................................... 15

7 Deployment Scenario and DR Program Mapping ............................................................ 16

8 Selecting a DR Program Template .................................................................................. 17

9 Demand Response Program Templates .......................................................................... 20

9.1 Critical Peak Pricing Program (CPP) ..................................................................... 20

9.1.1 CPP DR Program Characteristics .............................................................. 20

9.1.2 OpenADR Characteristics for CPP Programs ............................................. 21

9.2 Capacity Bidding Program ..................................................................................... 23

9.2.1 Capacity Bidding DR Program Characteristics ........................................... 23

9.2.2 OpenADR Characteristics for Capacity Bidding Programs .......................... 24

9.3 Thermostat Program .............................................................................................. 26

9.3.1 Thermostat DR Program Characteristics .................................................... 26

9.3.2 OpenADR Characteristics for Thermostat Programs ................................. 27

9.4 Fast DR Dispatch .................................................................................................. 29

9.4.1 Fast DR Dispatch Program Characteristics ................................................ 29

9.4.2 OpenADR Characteristics for Fast DR Dispatch Programs ......................... 30

9.5 Residential Electric Vehicle (EV) Time of Use (TOU) Program ............................... 33

9.5.1 Residential EV TOU Program Characteristics ............................................ 33

9.5.2 OpenADR Characteristics for Residential EV TOU Programs ..................... 33

9.6 Public Station Electric Vehicle (EV) Real-Time Pricing Program ............................ 34

9.6.1 Public Station EV RTP Program Characteristics ........................................ 34

9.6.2 OpenADR Characteristics for Public Station EV RTP Programs ................. 34

9.7 Distributed Energy Resources (DER) DR Program ................................................ 35

9.7.1 Distributed Energy Resources (DER) Program Characteristics .................. 35

9.7.2 OpenADR Characteristics for Distributed Energy Resources (DER) ........... 36

Annex A - Sample Data and Payload Templates ................................................................... 37

A.1 Critical Peak Pricing Program (CPP) ..................................................................... 37

A.1.1 CPP Scenario 1 - Simple Use case, A or B Profile ..................................... 37

A.1.2 CPP Scenario 2 - Typical Use Case, B profile ............................................ 37

A.1.3 CPP Scenario 3 - Complex Use Case ........................................................ 38

A.1.4 CPP OadrDistributeEvent Payload - Typical B Profile Use Case ................ 38

A.2 Capacity Bidding Program (CBP) ........................................................................... 40

A.2.1 CBP Scenario 1 - Simple Use case, A or B Profile ..................................... 40

Page 3: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 3 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

A.2.2 CBP Scenario 2 - Typical Use Case, B profile ............................................ 40

A.2.3 CBP Scenario 3 - Complex Use Case ........................................................ 41

A.2.4 CBP OadrDistributeEvent Payload - Typical B Profile Use Case ................ 41

A.3 Thermostat Program .............................................................................................. 43

A.3.1 Thermostat Scenario 1 - Simple Use case, A or B Profile .......................... 43

A.3.2 Thermostat Scenario 2 - Typical Use Case, B profile ................................. 43

A.3.3 Thermostat Scenario 3 - Complex Use Case.............................................. 44

A.3.4 Thermostat OadrDistributeEvent Payload - Typical B Profile Use Case.......................................................................................................... 45

A.3.5 Thermostat Sample oadrRegisterReport Payload - Typical B Profile Use Case .................................................................................................. 46

A.3.6 Thermostat Sample oadrCreateReport Payload - Typical B Profile Use Case .................................................................................................. 51

A.3.7 Thermostat Sample oadrUpdate Report Payload - Typical B Profile Use Case .................................................................................................. 52

A.4 Fast DR Dispatch .................................................................................................. 53

A.4.1 Fast DR Scenario 1 - Simple Use case, A or B Profile ............................... 53

A.4.2 Fast DR Scenario 2 - Typical Use Case, B profile ...................................... 53

A.4.3 Fast DR Scenario 3 - Complex Use Case .................................................. 54

A.4.4 Fast DR OadrDistributeEvent Payload - Typical B Profile Use Case .......... 55

A.4.5 Fast DR Sample oadrRegisterReport Payload - Typical B Profile Use Case.......................................................................................................... 56

A.4.6 Fast DR Sample oadrCreateReport Payload - Typical B Profile Use Case.......................................................................................................... 57

A.4.7 Fast DR Sample Update Report Data Payload - Typical B Profile Use Case.......................................................................................................... 57

A.5 Residential Electric Vehicle (EV) Time of Use (TOU) Program ............................... 58

A.5.1 Residential EV Scenario 1 - Simple Use case, A or B Profile ..................... 58

A.5.2 Residential EV Scenario 2 - Typical Use Case, B profile ............................ 58

A.5.3 Residential EV OadrDistributeEvent Payload - Typical B Profile Use Case.......................................................................................................... 59

A.6 Public Station Electric Vehicle (EV) Real-Time Pricing Program ............................ 61

A.6.1 Public Station EV Scenario 1 - Typical Use Case, B profile ........................ 61

A.6.2 Public Station EV OadrDistributeEvent Payload - Typical B Profile Use Case .................................................................................................. 62

A.7 Distributed Energy Resources (DER) DR Program ................................................ 63

A.7.1 Public Station EV Scenario 1 - Typical Use Case, B profile ........................ 63

A.7.2 Public Station EV OadrDistributeEvent Payload - Typical B Profile Use Case .................................................................................................. 63

Annex B - Example Reports From Utility Pilots ...................................................................... 65

B.1 M&Vfor Rebates Report Payload Sample .............................................................. 65

B.2 Smart Meter/AMI Interval Data Report Payload Sample ......................................... 67

Annex C - Services ............................................................................................................... 71

C.1 Open ADR supports the following services: ........................................................... 71

Annex D - Payload Definitions .............................................................................................. 72

D.1 EiEvent Payloads .................................................................................................. 72

D.2 EiReport Payloads ................................................................................................. 72

D.3 EiOpt Payloads ..................................................................................................... 72

D.4 EiRegisterParty Payloads ...................................................................................... 73

D.5 OadrPoll Payloads ................................................................................................. 73

Page 4: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 4 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Annex E - Glossary of Schema Payload Elements ................................................................ 74

Annex F Glossary of Enumerated Values .............................................................................. 81

F.1 eventStatus ........................................................................................................... 81

F.2 itemUnits ............................................................................................................... 81

F.3 oadrDataQuality .................................................................................................... 81

F.4 oadrResponseRequired ......................................................................................... 82

F.5 optReason ............................................................................................................. 82

F.6 oadrTransportName .............................................................................................. 82

F.7 OptType ................................................................................................................ 82

F.8 readingType .......................................................................................................... 82

F.9 reportName ........................................................................................................... 83

F.10 reportType ............................................................................................................. 83

F.11 scaleCode ............................................................................................................. 84

F.12 signalName ........................................................................................................... 84

F.13 signalType ............................................................................................................. 85

Annex G - OpenADR A and B Profile Differences .................................................................. 86

Annex H - OpenADR Security Certificates ............................................................................. 87

Page 5: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 5 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

1 Introduction

The target audience for this guide is utilities planning to deploy Demand Response (DR) programs that utilize OpenADR 2.0 for communicating DR event related messages between the utility and downstream entities, and the manufacturers of equipment that facilitate that communication exchange. It is assumed that the reader has a basic conceptual understanding of both demand response and OpenADR 2.0 (referred to simply as OpenADR from this point forward).

The OpenADR profile specifications clearly define the expected behaviour when exchanging DR event related information, however there is enough optionality in OpenADR that the deployment of servers (VTNs) at the utility and clients (VENs) at downstream sites is not a plug-n-play experience. OpenADR characteristics such as event signals, report formats, and targeting must be specified on a DR program-by-program basis.

There is no such thing as a standardized DR program. Each DR program design tends to be unique, fitting the structural and regulatory requirements of the geographic region it is deployed in. For each DR program there are numerous possible deployment scenarios involving a variety of actors.

The variability in DR program designs, deployment scenarios, and OpenADR characteristics are an inhibitor to expanded deployment of DR and the use of OpenADR. This variability is for the most part a reflection of the fragmented and complex nature of the smart grid.

Utilities need examples of typical DR programs so that they can be used as models for their own DR program implementations. Equipment manufacturers need to understand typical DR Program usage models so they can validate interoperability as part of the development process rather than on a DR program deployment specific basis. The intent of this guide is to accomplish both these goals as follows:

• Define a small set of standard DR Program templates modelled after the common characteristics of the most popular DR programs implemented to date

• Define a small set of deployment scenarios modelled after real world deployments, with actors and roles clearly identified

• Define best practices recommendations for OpenADR characteristics specific for each of the DR Program templates

• Provide a decision tree that utilities can use to identify the useful DR program templates and deployment scenarios based upon their business needs

The emphasis in this guide will be on keeping things simple by providing a small set of clear recommendations that will address the majority of the details required to deploy a typical DR program, and to enable interoperability testing of equipment deployed in programs using the recommendations in this guide.

2 References

• OpenADR Profile Specification and schema - www.openadr.org

3 Terms and Definitions

The following terms and definitions are used in this document.

• Demand Response: A mechanism to manage customer load demand in response to supply conditions, such as prices or availability signals

• Aggregator Party – This is a party that aggregates multiple Resources together and presents them to the DR Program Party as a single Resource in their DR Programs.

Page 6: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 6 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• Aggregator Intermediary Infrastructure - This is the infrastructure, separate from the Demand Side Infrastructure, which is used by the Aggregator Intermediary Party to interact with both the Resources and the grid side entities

• Agreement: A contractual agreement between parties playing a role in a DR program outlining responsibilities and compensation

• Asset – A type of Resource that represents a specific collection of physical loads. Resources can be composed of Assets, and an Asset may be Resource, but Assets cannot be further decomposed into multiple Assets or Resources.

• Associated: Provide a programmatic association between two entities, through configuration of a device of database. For instance, associated resources with a VEN

• Baselines: The calculated or measured energy usage (demand) by a piece of equipment or a site prior to the event as determined by through surveys, inspections, and/or metering at the site.

• BMS – This is the Building Management System that may be used to control resources. This is sometimes referred to as an Energy Management System.

• Compound Resource – This is a special type of Resource that is an aggregation of multiple physical assets that each have their own means of load control.

• Customer Incentive: An inducement provided to the owner/aggregator of demand side resources for participation in a DR program.

• Demand Side Infrastructure – This is the infrastructure that houses the Resources that are enrolled in the DR Programs

• DR Logic: Algorithms or logic that convert DR signals into actionable load control. Note that DR Logic may be implemented in many different locations and in some case be distributed among multiple sub-systems.

• DR Program Party – this is the entity that is responsible for the Grid Infrastructure and furthermore for managing the DR Programs used to mitigate grid issues. This is typically a Utility or ISO.

• Enrolled: The owner/aggregator of demand side resources elects to participate in a DR program and may provide information about the specific resources that may be targeted for DR events

• Event Active Period: The is the period in the of time during which a change in the load profile is being requested as part of a DR Event

• Event Constraints: The time frames during which the customer can expect to receive events and related constraints such as no events on weekends or consecutive days

• Event Days: A day when an DR event occurs. Most programs have limitations as to the number of event days that are allowed in a given calendar period

• Event Descriptor: Part of the OpenADR event object that describes metadata about the event, such as program name and event priority

• Event Duration: The length of the event. Most programs define constraints as to the length of an event, as well as the hours of the day during which the event can occur

• Event Signals: The actionable information contained in an event such as electricity pricing or specific levels of load shed requested that typically trigger some pre-programmed load shed behavior by the recipient of the event. A DR program definition should specify the types of event signals used

Page 7: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 7 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• Event Targeting: The load shedding resources that are the intended recipient for the DR event. The may be a geographic area, a particular class of devices, a group identifier, resource ID, or other identifier. A DR program definition should specify how specific resources are going to be targeted.

• Events: An event is a notification from the utility to demand side resources requesting load shed starting at a specific time, over a specified duration, and may include targeting information designating specific resources that should participate in the event

• Facilitator Intermediary Infrastructure – This is the infrastructure, separate from the Demand Side Infrastructure, which is used by the Facilitator Intermediary Party to interact with both the Resources and the grid side entities.

• Facilitator: A third party that manages some or all of the execution of the DR program on behalf of the utility

• Grid Infrastructure – This is the infrastructure that is owned or managed by the DR Program Parties. This infrastructure includes the implementation of the OpenADR VTN that is used to send DR signals to Resources enrolled in the DR Programs

• Intermediary Party – This is a party that typically works on behalf of the Resource Party to facilitate their participation in DR Programs.

• Load Control – this is the infrastructure related to a Resource that is responsible for actually controlling the Resource and producing a specific load profile.

• Load Profile Objective: This motivation behind developing a DR program and issuing events. Such as the desire to shave peak loads.

• Notification: A period of time prior to the start time of an event where the demand side resource owner is notified of a pending event

• Opt Behaviour: The expected response from the demand side resource owner upon receipt of an event. This response may take the form of and OptIn or OptOut indication whether or not resource will participate in the event

• Opt Responses: Whether a specific program should require a response from demand side resources in response to an event, and what those responses typically are.

• Opt Services: Schedules communicated over OpenADR to indicate temporary changes in resource availability to participate in events.

• Prerequisite: Criteria that must be met in order for a demand side resource owner to enroll in a DR program. This may include the availability of interval meeting or some minimum load shed capacity

• Primary Drivers: The primary motivation on the part of the utility for creating the DR

program and issuing events. Such as " Peak demand reduction and resource

adequacy"

• Programs – These are the DR Programs that the Resources are enrolled in.

• Program Description: A narrative description of how a program works. Part of the DR Program templates defined in this document

• Program Time Frame: The time of the year or seasons during with a DR program is typically active

• Rate Design: The specific modifications to the rate structure or incentives paid to motivate demand side resource owners to participate in the program

Page 8: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 8 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• Registration Services: Service used by the OpenADR protocol to establish basic interoperability between a VTN and VEN, and to validate that the VEN is associated with the utility customers account.

• Reporting Services: Service used by the OpenADR to enable VENs to provide reporting to VENs. DR Program should specify the reporting requirements for the program.

• Resource Party – This is the party that owns the demand side Resources that may be enrolled in DR Programs

• Resource – This is the entity that is enrolled in the DR Programs and is capable of delivering some sort of change to their load profile in response to receiving a DR signal from a VTN.

• Target Customer: The profile of demand side resources that may enroll in a specific DR programs such as residential, industrial, or perhaps based on level of electricity consumption.

• Target Loads: The demand side resources whose load should be modified upon receipt of a

• VEN – This is the OpenADR Virtual End Node that is used to interact with the VTN.

• VTN – This is the OpenADR Virtual Top Node that is used to interact with the Resources enrolled in the DR Programs.

4 Abbreviations

• BMS: Building Management System

• C&I: Commercial and Industrial

• Comm: Communications between two entities

• DR: Demand Response

• EMS: Energy Management System

• OpenADR: Open Automated Demand Response

• Programs: Reference to a Demand Response Program(s)

• VEN: Virtual End Node

• VTN: Virtual Top Node

5 Demand Response Program Types

This document contains templates for the DR programs shown below.

1. Critical Peak Pricing: Rate and/or price structure designed to encourage reduced

consumption during periods of high wholesale market prices or system contingencies by

imposing a pre-specified high rate or price for a limited number of days or hours.

2. Capacity Bidding Program: A program which allows a demand resource in retail and

wholesale markets to offer load reductions at a price, or to identify how much load it is willing

to curtail at a specific price.

Page 9: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 9 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

3. Thermostat Program/Direct Load Control: A demand response activity by which the

program sponsor remotely controls a customer’s electrical equipment (e.g. air conditioner) on

short notice. These programs are primarily offered to residential or small commercial

customers.

4. Fast DR Dispatch/Ancillary Services Program: A demand response program that provides

incentive payments to customers for load response during an Emergency Demand Response

Event. An abnormal system condition (for example, system constraints and local capacity

constraints) that requires automatic or immediate manual action to prevent or limit the failure

of transmission facilities or generation supply that could adversely affect the reliability of the

Bulk Electric System. These type of programs may sometimes be referred to as “Ancillary

Services”.

5. Electric Vehicle (EV) DR Program: A demand response activity by which the cost of

charging electric vehicles is modified to cause consumers to shift consumption patterns.

6. Distributed Energy Resources (DER) DR Program: A demand response activity utilized to

smooth the integration of distribute energy resources into the smart grid.

6 Deployment Scenarios

The way in which a DR program is deployed is somewhat independent of the characteristics of the DR program itself. The following diagrams show a variety of ways in which a DR program might be deployed. The following section provides a cross reference between the deployment scenarios and the DR Programs they are most likely to be utilized with.

Altough the enrollment process in not currently defined as part of the OpenADR Profile Specification, the followinig narritave regarding the relationship between VENs, resources, and assets may be helpful when viewing the diagrams in this section that show the relationships between the entities in the various scenarios.

The most fundamental entity in a DR program from a Utility perspective is a "resource". It is completely up to the utility to define what a resource is based upon their program design. It might be a single customer load behind a meter, a collection of customer loads behind an aggregator or something as specific as a thermostat. Resources are what are enrolled in DR programs and is the fundamental entity that the Utility interacts with.

There is the notion of "assets" which are the physical entities that comprise a resource and are what may be managed by the VEN or some control system behind the VEN. In general the Utility does not interact directly with assets, BUT they may interact with resources in such a way to provide some level of guidance concerning how a resource"s assets should be utilized as part of a dispatch. What this means is that the Utility does not know how to communicate with specific assets (if they did then they would probably be resources), but they could for example tell a resource to only use assets in a specific geographic location or perhaps to only use assets of a specific type. This was specifically supported to allow the Utility to treat an aggregator as a single resource, but also allows the Utility to instruct the aggregator on how to dispatch their portfolio without having to know what assets are in that portfolio. It can also be used to support programs where the customer is only allowed to use certain types of assets (e.g. thermostats), but each thermostat is not being considered an individual resource.

A VEN is NOT a resource, it is a way of communicating about resources. There may be one or more resources behind a VEN. In general the Utility will know what resources are associated with a VEN if it is sending a specific message to a specific VEN.

When a utility sends out an EiEvent message they can either explicitly specify which resources they are targeting by putting them in the message or they can implicitly target them

Page 10: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 10 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

by specifying some other target attribute such as zone or location that can be resolved into one or more resources by the VEN. Note that sending an EiEvent message to a VEN without any further target qualifiers is just a short hand notation for specifying all resources behind a VEN.

In addition to providing a means to resolve resources the target attribute can provide further instruction on how a resource should dispatch its assets. If an EiEvent message contains both a specific resource ID and a target specification such as location then this notion is explicit. It is less so if there is only a target specification such as location, but no specific resource identified.

6.1 Direct 1

This is a simple scenario in which there is a direct relationship between the DR Program Party and the Resource Party. The Resource Party is responsible for enrolling their own Resources into the DR Programs and the Grid Infrastructure interacts directly with the Resources via a VEN that resides within the Demand Side Infrastructure. Furthermore the VEN is owned by the Resource Party and is separate from the Resources and their controllers. When a DR signal is received by the VEN it typically does not implement any load control logic, but simply forwards the signals to the load controllers who take the appropriate action. Examples of this scenario would include C&I buildings that may install a gateway that contains an OpenADR VEN and when a signal is received by that gateway it simply translates it into some other protocol and forwards to the load controllers themselves.

Page 11: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 11 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

6.2 Direct 2

This is very similar to the Direct 1 scenario. The main difference being in how the VEN is instantiated and the interactions with the VTN facilitated. The VEN is instantiated in an entity like a centralized BMS that can implement DR logic and interact with Compound Resource and their many different load controllers from a more centralized location. Examples include large buildings with a BMS that control many different loads in a building (e.g. lighting, HVAC, industrial processes, etc.) to campuses that may have multiple facilities with a centralized control system.

Page 12: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 12 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

6.3 Direct 3

This scenario is very similar to the Direct 1 scenario. The main difference being that the VEN is instantiated directly in the resource and its load controller. In this case the DR signals are sent directly to the resource and its load controller. The so called “prices to devices” scenario falls into this category. Examples would include any sort of load controller such as HVAC (i.e. thermostat) that has an embedded VEN that is capable of interacting directly with the grid side entities VTN.

Page 13: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 13 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

6.4 Direct 4

This is a combination of sorts of the Direct 1 and Direct 2 scenarios. The main difference being that multiple VEN’s are associated with a single Compound Resource that is comprised of multiple assets with their own load controllers. Each of the load controllers that comprise the Compound Resource may be associated with a different VEN. Note that all the VEN’s would be under control of the same Resource Party that owns the Compound Resource. This scenario exists in order to facilitate Demand Side Infrastructures that have Compound Resources, but do not have a centralized BMS like the Direct 2 scenario. Examples might include buildings with different load controllers on each floor, but no centralized BMS, or campuses with different controllers in each building, but no campus wide controller. Since from the DR Program Party’s perspective there is only a single resource enrolled in the program when it wants to send a DR signal to the resource it may simply send the same signals to each of the designated VENs that have been associated with the Resource.

Page 14: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 14 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

6.5 Facilitator 1

In this scenario there is an intermediary that facilitates interactions between the DR Program Party and the Resources. Typically the Intermediary Party works on behalf of the Resource Party to help them manage their Resources. The Resource Parties have direct relationships with the DR Program Party and they enroll their own Resources into the DR Programs. Thus the DR Program Party views each Resource Party as a separate Resource and may interact with them individually. The role of the Intermediary Party is to act as a go between for all the OpenADR related interactions, thus the VEN is instantiated within the Facilitator Intermediary Infrastructure. Such infrastructure is often cloud bases and offered to the Resource Parties as Software as a Service (SaaS). When the DR signal is received by the Facilitator’s VEN a number of different actions may take place including forwarding the DR signal to the appropriate Resource and possibly implementing some sort of DR Logic and sending load control commands to each Resource’s load controller. Examples of this scenario include:

• Vendors that manage the facilities for large commercial chains such as big box retailers.

• Industrial control intermediaries.

• Energy Services Companies (ESCO’s)

• Cloud based appliance and device management systems such as the emerging smart communicating thermostat vendors.

Page 15: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 15 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

6.6 Aggregator 1

This scenario is similar to the Facilitator scenario. The main difference being that the Aggregator Party has the relationship with the DR Program Party as opposed to the Resource Parties. The Aggregator Party aggregates multiple customer Assets into a single Resource that it enrolls into the DR Programs. The DR Program Party does not have visibility into the individual Assets the Aggregator is managing. As with the Facilitator the Aggregator has their own infrastructure where the VEN is instantiated. The difference being that when a DR signal is received it references a single resource and the Aggregator implements some sort of DR logic over all the Assets in their portfolio to achieve the objectives specified in the DR signal.

Page 16: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 16 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

7 Deployment Scenario and DR Program Mapping

The table below provides as to which deployment scenarios are most common for a specific DR Program.

Deployment Scenario

DR Template Direct 1, 2, 3, 4 Facilitator 1 Aggregator 1

CPP Program

∆ ∆

Capacity

Bidding

Program

Thermostat

Program ∆

Fast DR

Dispatch

Electric

Vehicle (EV)

DR Program

∆ ∆

Distributed

Energy

Resources

(DER) DR

Program

∆ ∆

Page 17: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 17 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

8 Selecting a DR Program Template

The following are a set of questions that are relevant to any utility about to implement a new DR program. This is not meant to be comprehensive, but represents some of the more pertinent issues. The intent of these questions is to help guide utilities towards an appropriate set of DR Program templates.

Q: Why do you want to do DR? What grid condition or operational issue are you trying to mitigate with DR?

This is by far the most important question and forms the basis for the overall requirements and objectives for what the DR program is supposed to achieve. The answer to this question defines how the demand side load profile is supposed to be shaped by the DR program. All other requirements flow from the answer to this question.

• Are you trying to shave peaks? • Do you want to fill the belly of the duck? • Are you trying to hedge the spot price of electricity? • Are you concerned with grid reliability? • Are you trying to preserve grid assets? • Etc. etc. etc.

The table below provides some additional context to the motivations behind wanting to develop a DR Program

Grid Reliability & Safety

Frequency and Voltage Stability

Resource Adequacy

Peak Capacity

Ramping

Contingency

Procurement of Energy Spot Market Prices

Price Arbitrage

Asset Management

Damage Prevention

Maintenance Reduction

Lifetime Extension

Capacity Management Economic Benefits

Emergency Management

Environmental Negawatt

Clean Energy Q: Is there an existing DR program or tariff already in place for this program?

• Often times the program rules are spelled out explicitly in a tariff.

Q: What demand side market segment are you targeting with this program?

This may help determine the targeting of the resources in the event and the type of signal.

• Residential • Large C&I • Small C&I

Page 18: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 18 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• Agriculture • Water management • Electric Vehicles • Etc, etc, etc

Q: Are you trying to target specific types of loads?

• Thermostats • Electric vehicles • Ag pumps • etc.

Q: What is your deployment model?

The answer to this question can influence how resources are defined within the program and determine how those resources are targeted within events.

• Direct to customers • Through intermediaries like aggregators or facilitators • Customer responsible for procuring and deploying their own VEN equipment? • etc.

Q: At what level of specificity do you want to interact with the demand side loads?

This question is somewhat related to the deployment model and determines how the resources in the program are defined and targeted. It is one of the most important and possibly complex questions.

• Interact with each individual resource • Interact through a facilitator or aggregator with no specification of the resources

behind them • Interact through a facilitator or aggregator AND specify which resources behind them

should be dispatched • Use location as an attribute to specify resources • Use some sort of utility defined grouping mechanism to specify resources • Target individual assets such as thermostats • Interact with no resources at all and just broadcast DR events • etc.

Q: What interaction pattern do you want to employ to influence your customers load profiles?

This question determines the type of DR signals that will be sent to participants in a program.

• Incentives (e.g. dynamic pricing) • Load dispatches (e.g. ancillary services) • Direct load control • Generic event signal • etc.

Q: What is the general resource scheduling attributes of the program?

• Dates and times that events may be called • Frequency of events • Duration of events • Allowable latencies for the propagation of events • etc.

Q: How is the availability of resources in the program determined?

Page 19: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 19 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• By strict program rules • As part of some nomination or bidding process done by the resource • Opt In/Out allowed? • etc.

Q: What type of visibility do you need into the resource’s performance? This is a very broad question and determines what type of information is fed back from the resources in the DR program. In general this determines the type of reports that are required.

• Online/Offline • Usage (current and/or historical) • Load response potential • Load availability • Load/asset state (current and/or historical) • Etc., etc. etc.

Page 20: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 20 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

9 Demand Response Program Templates

9.1 Critical Peak Pricing Program (CPP)

9.1.1 CPP DR Program Characteristics

Load Profile

Objective

-Peak demand reduction

Primary Drivers

-Reduced capital expenditures and reduced energy costs

Program

Description

When utilities observe or anticipate high wholesale market prices or

power system emergency conditions, they may call critical events

during a specified time period (e.g., 3 p.m.—6 p.m. on a hot summer

weekday), the price for electricity during these time periods is

substantially raised.

Customer

Incentive

Customers may be offered discounted energy prices during non-peak

times as an incentive to participate in the program.

Rate Design

CPP is a price program with rates increasing during critical peaks in

energy consumption. Typically CPP rates are an adder or multiplier to

flat, tiered, or TOU base rates.

Target Customer

-Residential or C&I

Target Load -Any

Prerequisite -Customer must have interval metering

-C&I customers may have to meet a demand criterion

Program Time

Frame

-Typically spans months of the year where peak energy consumption

occurs, although may be year round in some cases.

Event Constraints -Typically Monday through Friday, excluding holidays, with

consecutive day events typically allowed

Event Days -Typically 9 to 15 per year

Event Duration -Typically during a fixed time frame for all events ranging from 4 to 6

hours during the highest energy consumption times of the day.

Notification -Typically day ahead

Opt Behavior -Typically customers are not required to participate in events

Certification

Events

-Typically none

Page 21: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 21 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

9.1.2 OpenADR Characteristics for CPP Programs

Event Signals -A SIMPLE signal with levels 1 to 3 mapped to the pricing impact of

the CPP event. If a CPP program has a single pricing component it

should be mapped to level 1. For CPP programs with multiple pricing

components, the smallest price component should be mapped to level

1, with the other price components mapped to levels 2 and 3 in

increasing degree of pricing impact.

-If the deployment supports B profile VENs, in addition to the SIMPLE

signal, an ELECTRICITY_PRICE signal may be included in the payload

with a type of priceRelative, priceAbsolute, or priceMultiplier

depending on the nature of the program.

See Annex A for examples.

Opt Responses -VTNs sending events should set the oadrResponseRequired element

to "always", requiring the VEN to respond with an optIn or optOut

-As participation in a CPP program is a "best effort" exercise, there is

no formal meaning to optIn or optOut beyond a courtesy availability

indication of intent to participate. We recommend that VENs respond

with optIn unless there has been some specific override action taken

by the customer.

-The oadrCreateOpt payload would typically not be used to qualify

resources participating in events.

Event Descriptor -The event priority should be set to 1 unless the program rules or VTN

configuration specify otherwise

-Test events are typically not used with CPP programs. However if

they are allowed the testEvent element should be set to "true" to

indicate the test event. If additional parameterized information is

required in this element it can follow "true" separated by a space with

this additional information.

Event Active

Period

- eiRampUp, eiRecovery, tolerance elements are typically not used

Baselines

-Baselines are typically not included in the event payload

Event Targeting

-CPP programs typically don't differentiate between resources for a

given customer. Targeting typically specifies the venID, indicating that

all the resources associated with the VEN should participate, or a list

of all the resourceIDs associated with VEN.

Reporting

Services

-Telemetry reporting is typically not used as it is not absolutely

necessary for CPP programs.

Refer to Annex B for examples of reports from utility pilots that might

be applicable to this type of program.

Page 22: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 22 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Opt Services -Use of the Opt service to communicate temporary availability

schedules typically would not be used as part of a CPP program.

However, some deployments could use this service to preserve

available event days for customers who indicate lack of availability.

Registration

Services

Polling intervals requested by the VTN for typical day-ahead CPP

programs are not required to be more frequent that once an hour.

However, the use of polling for heartbeat detection may require more

frequent polling.

Page 23: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 23 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

9.2 Capacity Bidding Program

9.2.1 Capacity Bidding DR Program Characteristics

Load Profile

Objective

-Peak demand reduction and resource adequacy

Primary Drivers

-Reduced capital expenditures and reduced energy costs

Program

Description

The capacity bidding program is used by ISO/utilities to obtain pre-

committed load shed capacity from aggregators or self aggregated

customers. This pre-committed load shed capacity is utilized by

ISO/utilities when they observe or anticipate high wholesale market

prices, power system emergency conditions, or as part of normal

energy resource utilization by calling DR events during a specified time

period.

Note that each aggregator is typically responsible for designing their

own demand response program as well as customer acquisition, and

event notification in order to meet the capacity commitments made as

part of this program.

Customer

Incentive

Aggregators/customers receive two types of incentives. First, they

receive a capacity payment for holding a specific amount of load shed

capacity available for DR events during a future time window. Second,

if an event is called during the future time window an energy payment

may be made for load shed over the duration of the event.

Rate Design

Participants in the program make a "capacity nomination" bid

indicating the load shed capacity they are willing to hold as available

during a future time window. The bid may also include the incentive

the aggregator/customer is willing to accept for load shed below a

baseline value.

In utility markets the capacity commitment is typically for the next

calendar month, although much longer time frames are used in ISO

markets. As part of the capacity nomination, the customer may be

able to chose between a number of characteristics including day-

ahead or day-of notification and the event duration window (such as

1-4 hours, 2-6 hours, ...).

A capacity payment is made to the customer for this pre-commitment

even if there are no events called during the time window. If an event

is called during the time window the customer may receive an energy

payment for the load shed in relation to a baseline, however penalties

may apply if less than the pre-committed load shed capacity is

delivered at the time the event is called.

Target Customer

-Aggregators and self aggregated C&I customers

Target Loads - Any

Page 24: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 24 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Prerequisite -Customer must have interval metering

-C&I customers may have to meet a demand or bid criterion

Program Time

Frame

-Anytime

Event Constraints -Typically Monday through Friday, excluding holidays, with

consecutive day events typically allowed

Event Days -Typically a maximum of 30 hours per month

Event Duration -Typically during a fixed time window for all events during the highest

energy consumption times of the day.). Event duration varies by

customer capacity commitment with preferences ranging from 1 to 8

hours or as specified by the design of the program

Notification -Day-ahead or day-of depending on customer capacity commitment

preferences or the design of the program

Opt Behavior -Typically customers would opt-in to events given that as they have

pre-committed load shed capacity.

Certification

Events

-Typically two per year (Test)

9.2.2 OpenADR Characteristics for Capacity Bidding Programs

Event Signals -A SIMPLE signal with levels 1 to 3 mapped to the amount of load

shed. If the program only supports a single level of load shed, that

should be mapped to level 1. For programs with multiple levels of load

shed, the smallest change from normal operation should be mapped to

the level 1, with the load shed values mapped to levels 2 and 3 in

increasing degree of load shed.

-If the deployment supports B profile VENs, in addition to the SIMPLE

signal, a BID_LOAD and/or BID_PRICE signal may be included in the

payload with signal types of setpoint and price, and units of powerReal

and currencyPerKW respectively. The BID_LOAD would reflect the

requested load shed up to capacity amount bid by the

aggregator/customer, and the BID_PRICE would reflect the incentive

bid by the aggregator/customer.

See Annex A for examples.

Opt Responses -VTNs sending events should set the oadrResponseRequired element

to "always", requiring the VEN to respond with an optIn or optOut

-As aggregators/customers have pre-committed capacity VENs should

respond with optIn. An opt out may be sent in response to the event,

but this is an informal availability indication, not a formal opt out of

the event.

Page 25: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 25 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

-The oadrCreateOpt payload would typically not be used to qualify

resources participating in events as typically the load is a single

aggregated entity.

Event Descriptor -The event priority should be set to 1 unless the program rules or VTN

configuration specify otherwise

-Test events may be used with Capacity Bidding programs. If they are

allowed, the testEvent element should be set to "true" to indicate the

test event. If additional parameterized information is required in this

element it can follow "true" separated by a space with this additional

information.

Event Active

Period

- eiRampUp, eiRecovery, tolerance elements are typically not used

Baselines

-Baselines are typically not included in the event payload as this data

typically not available at the time the event is initiated. However,

both utilities and aggregators/customers would view the inclusion of

baseline information in events as useful.

Event Targeting

-Capacity Bidding programs typically don't differentiate between

resources for a given customer. Targeting typically specifies the

venID, indicating that all the resources associated with the VEN should

participate, or includes a resourceID representative of the aggregated

load associated with VEN.

Reporting

Services

ISO Capacity Bidding programs typically require TELEMETRY_USAGE

reports with powerReal data points. See examples in Annex A.

Telemetry reporting for utility Capacity Bidding typically is not

required.

Note that telemetry reporting requires B profile VENs.

Refer to Annex B for examples of reports from utility pilots that might

be applicable to this type of program.

Opt Services -Use of the Opt service to communicate temporary availability

schedules typically would not be used as part of a Capacity Bidding

program as customers have pre-committed their availability. However,

this service may be useful as an informal way for participants to

indicate a lack of availability for extenuating reasons such as

equipment failure.

Registration

Services

Polling intervals requested by the VTN for typical day-ahead programs

are not required to be more frequent that once an hour. However,

the use of polling for heartbeat detection or day-of programs may

require more frequent polling.

Page 26: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 26 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

9.3 Thermostat Program

This program is representative of Direct Load Control (DLC) where the Demand Response

signal directly modifies the behavior of load shedding resources, without a layer of

abstraction between receipt of the signal and the specific load shedding action taken.

9.3.1 Thermostat DR Program Characteristics

Load Profile

Objective

-Peak demand reduction

Primary Drivers

-Reduced capital expenditures and reduced energy costs

Program

Description

-When utilities observe or anticipate high wholesale market prices or

power system emergency conditions, they may initiate an event that

modifies the behavior of the customer's programmable

communicating thermostat (PCT) over a specified time period (e.g., 3

p.m.—6 p.m. on a hot summer weekday) in order to reduce energy

consumption.

-The change to the PCT behavior in response to the event may be a

simple change in temperature setpoint for the duration of the event

or a more complex set of changes, including pre-cooling, that minimize

the impact of the event on the customer's comfort level.

Customer

Incentive

-Incentives take two general forms. First, customers may be provided

with a free PCT or offered discounts/rebates on customer purchased

PCTs as an incentive to enroll in the DR program. Second, customers

may receive an ongoing annual stipend for continued enrollment in

the program. Less common would be ongoing incentives paid to

customers based upon actual energy reduction during events.

Rate Design

-Primarily an incentive program, where customers receive discounted

or free PCT's for enrolling in the DR program. Some programs may pay

a periodic stipend or incentive payments based upon energy reduction

during events.

Target Customer

-Residential or small commercial

Target Load

-HVAC

Prerequisite -Typically none, as customers receive a PCT as part of the program

enrollment

Program Time

Frame

-Typically spans months of the year where peak energy consumption

occurs, although may be year round in some cases.

Event Constraints -Typically Monday through Friday, excluding holidays, with

consecutive day events typically allowed.

Event Days -Typically 9 to 15 per year

Page 27: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 27 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Event Duration -Events could occur at any time, with durations ranging from 2 to 4

hours, although typically events occur during the highest energy

consumption times of the day.

Notification -Typically day ahead, although some programs may have notification

times as short as 10 minutes.

Opt Behavior -Customers are not required to participate in events, however they

will automatically be opted in to events unless they take action to

override the event or make manual adjustments to temperature

during the event.

Certification

Events

-Typically none

9.3.2 OpenADR Characteristics for Thermostat Programs

Event Signals -A SIMPLE signal with levels 1 to 3 mapped to the change in PCT

temperature setpoint offsets or thermostatic cycling percentage. If a

residential thermostat program has a single offset/cycling component

it should be mapped to level 1. For programs with multiple

offset/cycling components, the smallest change from normal

operation should be mapped to the level 1, with the other

offset/cycling values mapped to levels 2 and 3 in increasing degree of

load shed impact.

-If the deployment supports B profile VENs, in addition to the SIMPLE

signal, a LOAD_CONTROL signal may be included in the payload with

a type of x-loadControlLevelOffset or x-loadControlCapacity to

specify the desired temperature setpoint offset or thermostatic cycling

percentage respectively. It is recommenced that a unit type of

"temperature" be used in payloads utilizing the x-

loadControlLevelOffset signalType to indicate Celsius or Fahrenheit

for the offset.

See Annex A for examples.

Opt Responses -VTNs sending events should set the oadrResponseRequired element

to "always", requiring the VEN to respond with an optIn or optOut

- VENs Should respond with optIn unless there has been some

specific override action taken by the customer.

-The oadrCreateOpt payload may be used by VENs to qualify the

participation of resources in an event. For instance, an event may

target the resourceID's of two thermostats that control separate HVAC

systems. If the customer decides that only one of the HVAC systems

can participate in the event, this would get communicated to the VTN

using the oadrCreateOpt payload. Note that the oadrCreateOpt

payload is only supported by B profile VENs

Page 28: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 28 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Event Descriptor -The event priority should be set to 1 unless the program rules or VTN

configuration specify otherwise

-Test events are typically not used with Residential Thermostat

programs. However if they are allowed the testEvent element should

be set to "true" to indicate the test event. If additional parameterized

information is required in this element it can follow "true" separated

by a space with this additional information.

Event Active

Period

-Randomization is typically used for residential thermostat events

using the tolerance element

- eiRampUp and eiRecovery elements are typically not used

Baselines

-Baselines are typically not included in the event payload

Event Targeting

-Residential Thermostat programs target HVAC resources controlled by

PCTs. Targeting typically specifies the resourceIDs of the HVAC

systems (i.e. the thermostat) associated with VEN or the venID with

the event signal device class target set to Thermostat

Reporting

Services

-Telemetry reporting is typically not used in residential Thermostat

Programs.

However, telemetry status reports for small commercial Thermostat

programs may be required, reporting at a minimum current setpoint

offset of the thermostats which control the load shedding resources,

as well as online/override status. Additional reporting data points may

include:

-Current Temp

-Heat Temp Setting

-Cool Temp Setting

-HVAC Mode Setting

-Current HVAC Mode

-Fan Mode Setting

-Current Hold Mode

-Current Away Mode

-Current Humidity

See Annex A for example.

Refer to Annex B for examples of reports from utility pilots that might

be also be applicable to this type of program.

Opt Services -Use of the Opt service to communicate temporary availability

schedules typically would not be used as part of a CPP program.

Registration

Services

Polling intervals requested by the VTN for typical day-ahead

Residential Thermostat programs are not required to be more

frequent that once an hour. However, the use of polling for heartbeat

Page 29: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 29 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

detection may require more frequent polling as would residential

thermostat programs with substantially shorter notification times.

9.4 Fast DR Dispatch

9.4.1 Fast DR Dispatch Program Characteristics

Load Profile

Objective

-Dispatch resources to achieve load response in “real-time”

Primary Drivers

-Grid reliability and ancillary services

Program

Description

Fast DR is used by ISO/utilities to obtain pre-committed load response

in “real-time”. This pre-committed load response is utilized by

ISO/utilities when they observe conditions that require immediate

action to maintain the stability and integrity of the grid. Real-time

means that resources are typically dispatched with a latency ranging

from 10 minutes for resources that are used as reserves to 2 seconds

for resources that are used for regulation purposes.

The size of the load response must be large enough to make a

difference in mitigating the grid condition and thus resources are

typically very large and often managed by aggregators as part of an

aggregated resource. Minimum sizes for the load response for a

resource to qualify to participate in ancillary services are typically

around 500 kW, but can be as low as 100 kW for some programs.

Note that if the resource is used as a reserve it will typically be called

upon to decrease (i.e. shed) load, but if it is being used for regulation

purposes it may be dispatched to either increase or decrease load.

Customer

Incentive

Aggregators/customers typically receive two types of incentives. First,

they receive a payment for committing and making available a specific

amount of load response available for DR events during a future time

window. The amount of load response, the time window of availability

and the amount to be paid is typically set by the aggregator/customer.

Second, if an event is called during the future time window a payment

based upon the amount of load response over the duration of the

event.

Rate Design

Participants in the program submit a bid indicating the load response

they are willing to make available during a future time window. The

bid typically also includes the payment the aggregator/customer is

willing to accept for the load response.

In utility/ISO markets the bid is typically submitted either the day

ahead or the day of the time period for which the commitment is

being made. As part of their qualification and registration in the

markets various performance envelops parameters are associated with

the resource such as ramp rate and min and max operating limits. Such

parameters govern how it will be dispatched.

Page 30: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 30 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

If a participant’s bid is accepted a payment may be made to the

customer for their pre-commitment even if there are no events called

during the time window. If an event is called during the time window

the customer may receive additional payments for their performance

during the event. Such performance based payments may be based on

a number of factors including amount energy, power, how closely the

resource follows the dispatch instructions, and a “mileage” payment

which reflects how much their load profile was required to change

during the event. Some of these parameters such as energy and

power may be with respect to a baseline.

Target Customer

-Aggregators and self-aggregated C&I customers

Target Loads - Those which can respond to real-time dispatches.

Prerequisite -Customer must have interval metering

-Must meet minim size requirements for the load response

-Must be able to respond to real-time dispatches

-Typically have to supply real-time telemetry that shows the current

load response

Program Time

Frame

-Anytime

Event Constraints -none

Event Days -none

Event Duration -Typically short (less than 30 minutes), but in any case will never

exceed the time window that the participant made the resource

available when they submitted their bid.

Notification -none

Opt Behavior -Customers are opted in to events by default given that they have pre-

committed load response

Certification

Events

-Typically one per year (Test)

9.4.2 OpenADR Characteristics for Fast DR Dispatch Programs

Event Signals -A SIMPLE signal with levels 1 to 3 mapped to the amount of load

response. If the program only supports a single level of load response,

that should be mapped to level 1. For programs with mutiple levels of

load response, the smallest change from normal operation should be

mapped to the level 1, with the load shed values mapped to levels 2

and 3 in increasing degree of load response.

-If the deployment supports B profile VENs, in addition to the SIMPLE

signal, a dispatch in the form of a LOAD_DISPATCH signal may be

included in the payload with signal types of setpoint or delta, and

Page 31: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 31 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

units of powerReal. This signal represents the desired “operating

point” of the load and can be expressed either as an absolute amount

of mW (i.e. setpoint) or some relative number of mW (i.e. delta) from

the resources current operating point.

See Annex A for examples.

Opt Responses -VTNs sending events should set the oadrResponseRequired element

to "always", requiring the VEN to respond with an optIn or optOut

-As aggregators/customers have pre-committed capacity VENs should

respond with optIn. An opt out may be sent in response to the event,

but this is an informal availability indication, not a formal opt out of

the event.

-The oadrCreateOpt payload would typically not be used to qualify

resources participating in events as typically the load is a single

aggregated entity.

Event Descriptor -The event priority should be set to 1 unless the program rules or VTN

configuration specify otherwise

-Test events may be used, especially during the registration and

qualification of a resource. If they are allowed, the testEvent element

should be set to "true" to indicate the test event. If additional

parameterized information is required in this element it can follow

"true" separated by a space with this additional information.

Event Active

Period

- Tolerance elements are not used. The eiRampUp and eiRecovery

periods are typically part of a resource’s parameters when they

register and may be used. Because of the nature of the dispatches

they may be open ended and thus there may be no end time for the

event.

Baselines

-Baselines are typically not included in the event payload as this data

typically is not be available at the time the event is initiated. However,

both utilities and aggregators/customers would view the inclusion of

baseline information in events as useful.

Event Targeting

-Capacity Bidding programs typically don't differentiate between

resources for a given customer. Targeting typically specifies the

venID, indicating that all the resources associated with the VEN should

participate, or includes a resourceID representative of the aggregated

load associated with VEN.

Reporting

Services

Fast DR programs typically require TELEMETRY_USAGE reports with

powerReal data points. The usage report depicts the resources current

operating point and is used by the Utility/ISO to determine how

closely the resource is following the dispatch instruction that was

sent.

Page 32: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 32 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

In some cases the telemetry may include other data points such as

voltage readings and charge state (i.e. energy) in the case where the

resources is some form of storage. In some cases the reporting

frequency may be as high as every 2 seconds.

Note that telemetry reporting requires B profile VENs.

See Annex A for examples.

Also refer to Annex B for examples of reports from utility pilots that

might be applicable to this type of program.

Opt Services -Use of the Opt service to communicate temporary availability

schedules typically would not be used as customers have pre-

committed their availability. However, this service may be useful as an

informal way for participants to indicate a lack of availability for

extenuating reasons such as equipment failure.

Registration

Services

Because of the low latency requirements of the real-time dispatches

only push interaction patterns are used.

Low latency transports may be required for programs of this nature.

Implementations supporting this template should support a push

exchange model and XMPP.

Page 33: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 33 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

9.5 Residential Electric Vehicle (EV) Time of Use (TOU) Program

9.5.1 Residential EV TOU Program Characteristics

Load Profile

Objective

A rate structure by which the cost of charging electric vehicles is modified to cause consumers to shift consumption patterns.

Primary Drivers

Residential energy use peaks in the evening. Since EV charging takes

4-8 hours, it can be delayed for a couple hours to shift load peaks.

Program

Description

Customers who have an electric vehicle can sign up for an Electric

Vehicle Time-of-Use (EV-TOU) rate and receive lower rates for

charging their vehicle during off-peak hours, such as between

midnight and 5 A.M. EV-TOU rates are offered to encourage

customers to limit daytime usage of electricity, when demand for

electricity is highest.

Customer

Incentive

Less expensive charging for EVs.

Rate Design

TOU with mid-day peak, morning and evening mid-peak, and 12AM-

5AM off-peak

Target Customer

EV Owner with a load profile that peaks in the evening.

Target Loads EV Chargers

Prerequisite Customer must have a smart meter and EV

Program Time

Frame

All-year

Event Constraints None

Event Days Every day, or weekdays only

Event Duration 5-8 hours

Notification Customer is notified of price tiers on their monthly bills, and VTNs

send out event signals day-ahead.

Opt Behavior Ratepayers may change their rate plan as they would normally do with

a utility.

Certification

Events

9.5.2 OpenADR Characteristics for Residential EV TOU Programs

Event Signals ELECTRICITY_PRICE signals with actual price tiers, as well as SIMPLE

signals to allow participation by 2.0a VENs

See Annex A for examples.

Opt Responses Always optIn by VENs

Event Descriptor One event per week, with event intervals for each price tier

Event Active

Period

At least 24 hour notification should be used. Each event interval

should capture the TOU rate tier

Baselines

N/A

Event Targeting

No advanced targeting required, only VEN-level targeting.

Reporting

Services

No reporting needed, all data can come from the meter.

Refer to Annex B for examples of reports from utility pilots that might

be applicable to this type of program.

Page 34: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 34 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Opt Services Opt services would not be relevant to this program type.

Registration

Services

Consumers would pre-provision their VEN with the utility to receive

pricing signals.

9.6 Public Station Electric Vehicle (EV) Real-Time Pricing Program

9.6.1 Public Station EV RTP Program Characteristics

Load Profile

Objective

A demand response activity by which the cost of charging electric vehicles is modified to shift the realities of peak pricing onto consumers.

Primary Drivers

The price of electricity is variable over a day. This program aims to

more efficiently match the price of charging to the cost of electricity.

Program

Description

Public chargers can exist at workplaces, in public parking lots, and at

retail stores. This program relays real-time prices to potential

chargers before they plug in, so that they can make an informed

decision about whether or not to charge their car.

Customer

Incentive

Less expensive charging during off-peak times.

Rate Design

Prices can change hourly, but once a customer chooses to plug in their

car, the rate is set for the duration of charging.

Target Customer

Anyone with an EV that needs to charge while away from home.

Target Loads Public EV Chargers

Prerequisite EV chargers must be internet-connected and OpenADR2.0b certified,

or connected to an OpenADR2.0b VEN gateway.

Program Time

Frame

All-year

Event Constraints None

Event Days Every day, or weekdays only

Event Duration 1 hour or longer

Notification Customer is notified of the prevailing rate when choosing to plug in

their car.

Opt Behavior Customers may opt out by deciding not to charge.

Certification

Events

9.6.2 OpenADR Characteristics for Public Station EV RTP Programs

Event Signals ELECTRICITY_PRICE signals with prices.

See Annex A for examples.

Opt Responses Always optIn by VENs

Event Descriptor Events must be contiguous, and contain one interval.

Event Active

Period

At least 1 hour notification should be used, however utilities may

choose to use day-ahead notification.

Baselines

N/A

Event Targeting

No advanced targeting required, but targeting can be used to send

prices to specific transformers, feeders, or geographic areas.

Page 35: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 35 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Reporting

Services

No reporting needed, but can be used if desired.

Refer to Annex B for examples of reports from utility pilots that might

be applicable to this type of program.

Opt Services Opt services would not be relevant to this program type.

Registration

Services

A charging station vendor would provision their devices with a utility’s

VTN.

9.7 Distributed Energy Resources (DER) DR Program

The following program description is hypothetical and is based on a research paper (reference Rish's paper) describing how utility customers can utilize DER storage resources to participate in DR programs such as real time pricing (RTP) programs.

9.7.1 Distributed Energy Resources (DER) Program Characteristics

Load Profile

Objective

A demand response activity utilized to smooth the integration of distributed energy resources into the smart grid.

Primary Drivers

-Reduced capital expenditures and reduced energy costs

Program

Description

Customers with DER resources that can harvest energy and store it can

minimize the cost of purchasing electricity from the grid during high

price periods by first utilizing stored energy resources, followed by

implementing load shedding strategies

Customer

Incentive

Ability to control costs during times of high electricity prices by

leveraging stored energy generated via PV or other means and

implementing load shedding strategies

Rate Design

Electrity rates vary with wholesale market prices or a tariff that varies

as a function of time of day, season, or temperature

Target Customer

Customers with energy storage resources

Target Loads Any

Prerequisite Energy storage resources

Program Time

Frame

Any time

Event Constraints None

Event Days Every day

Event Duration 24 hours

Page 36: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 36 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Notification Day ahead

Opt Behavior N/A - A best effort program

Certification

Events

None

9.7.2 OpenADR Characteristics for Distributed Energy Resources (DER)

Event Signals ELECTRICITY_PRICE signals with 24 one hour intervals of prices over a 24

hour period. This signal will require the B profile. This program does not

lend itself to SIMPLE signaling for A profile VENs.

See Annex A for examples.

Opt Responses -VTNs sending events should set the oadrResponseRequired element to

"never", preventing VENs from responding.

Event Descriptor -The event priority should be set to 1 unless the program rules or VTN

configuration specify otherwise

Event Active

Period

24 hours with 1 hour intervals with day ahead notification

Baselines

N/A

Event Targeting

No advanced targeting required other then the venID

Reporting

Services

No reporting needed

Refer to Annex B for examples of reports from utility pilots that might be

applicable to this type of program.

Opt Services Not used

Registration

Services

Polling intervals requested by the VTN for typical day-ahead t programs

are not required to be more frequent that once an hour. However, the

use of polling for heartbeat detection may require more frequent polling

as would residential thermostat programs with substantially shorter

notification times.

Page 37: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 37 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Annex A - Sample Data and Payload Templates

The following tables and XML payload samples will provide implementers with tangible

examples of how the DR templates in this document should be implemented. The following

namespace prefixes are used in the payload examples:

o xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07"

o xmlns:pyld="http://docs.oasis-open.org/ns/energyinterop/201110/payloads"

o xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110"

o xmlns:scale="http://docs.oasis-open.org/ns/emix/2011/06/siscale"

o xmlns:emix="http://docs.oasis-open.org/ns/emix/2011/06"

o xmlns:strm="urn:ietf:params:xml:ns:icalendar-2.0:stream"

o xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0"

o xmlns:power="http://docs.oasis-open.org/ns/emix/2011/06/power"

A.1 Critical Peak Pricing Program (CPP)

A.1.1 CPP Scenario 1 - Simple Use case, A or B Profile

• Event o Notification: Day before event o Start Time: 1pm o Duration:4 hours o Randomization: None o Ramp Up: None o Recovery: None o Number of signals: 1 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals 1 � Interval Duration(s):4 hours � Typical Interval Value(s): 1 � Signal Target: N/A

o Event Target(s): venID_1234 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Reports o None

A.1.2 CPP Scenario 2 - Typical Use Case, B profile

• Event o Notification: Day before event o Start Time:1pm o Duration: 4 hours o Randomization: None o Ramp Up: None o Recovery: None o Number of signals: 2 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals 1 � Interval Duration(s):4 hours � Typical Interval Value(s): 1 or 2

Page 38: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 38 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

� Signal Target: None o Signal Name: ELECTRICITY_PRICE

� Signal Type: price � Units: USD per Kwh � Number of intervals 1 � Interval Duration(s):4 hours � Typical Interval Value(s): $0.10 to $1.00 � Signal Target: None

o Event Targets: venID_1234 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Reports o None

A.1.3 CPP Scenario 3 - Complex Use Case

• Event o Notification: Day before event o Start Time: 2pm o Duration: 6 hours o Randomization: None o Ramp Up: None o Recovery: None o Number of signals:2 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals 3 � Interval Duration(s):1 hour, 4 hours, 1 hour � Typical Interval Value(s): 1, 2, 1 (for each interval respectively) � Signal Target: None

o Signal Name: ELECTRICITY_PRICE � Signal Type: price � Units: USD per Kwh � Number of intervals 3 � Interval Duration(s): 1 hour, 4 hours, 1 hour � Typical Interval Value(s): $0.50, $0.75, $0.50 (for each interval

respectively) � Signal Target: None

o Event Targets: Resource_1, Resource_2, Resource_3 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Reports o None

A.1.4 CPP OadrDistributeEvent Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrDistributeEvent ei:schemaVersion="2.0b">

<pyld:requestID>OadrDisReq091214_043740_513</pyld:requestID>

<ei:vtnID>TH_VTN</ei:vtnID>

<oadr:oadrEvent>

<ei:eiEvent>

<ei:eventDescriptor>

<ei:eventID>Event091214_043741_028_0</ei:eventID>

<ei:modificationNumber>0</ei:modificationNumber>

<ei:priority>0</ei:priority>

<ei:eiMarketContext>

<emix:marketContext>http://MarketContext1</emix:marketContext>

Page 39: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 39 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

</ei:eiMarketContext>

<ei:createdDateTime>2014-12-09T12:37:40Z</ei:createdDateTime>

<ei:eventStatus>far</ei:eventStatus>

</ei:eventDescriptor>

<ei:eiActivePeriod>

<xcal:properties>

<xcal:dtstart>

<xcal:date-time>2014-12-09T13:00:00Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT4H</xcal:duration>

</xcal:duration>

<ei:x-eiNotification>

<xcal:duration>PT24H</xcal:duration>

</ei:x-eiNotification>

</xcal:properties>

<xcal:components/>

</ei:eiActivePeriod>

<ei:eiEventSignals>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT4H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>2.0</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>SIMPLE</ei:signalName>

<ei:signalType>level</ei:signalType>

<ei:signalID>SIG_01</ei:signalID>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT4H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>0.75</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>ELECTRICITY_PRICE</ei:signalName>

<ei:signalType>price</ei:signalType>

<ei:signalID>SIG_02</ei:signalID>

<oadr:currencyPerKWh>

<oadr:itemDescription>currencyPerKWh</oadr:itemDescription>

<oadr:itemUnits>USD</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:currencyPerKWh>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

</ei:eiEventSignals>

<ei:eiTarget>

<ei:venID>venID_1234</ei:venID>

Page 40: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 40 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

</ei:eiTarget>

</ei:eiEvent>

<oadr:oadrResponseRequired>always</oadr:oadrResponseRequired>

</oadr:oadrEvent>

</oadr:oadrDistributeEvent>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

A.2 Capacity Bidding Program (CBP)

A.2.1 CBP Scenario 1 - Simple Use case, A or B Profile

• Event o Notification: Day before event o Start Time: 1pm o Duration:4 hours o Randomization: None o Ramp Up: None o Recovery: None o Number of signals: 1 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals 1 � Interval Duration(s):4 hours � Typical Interval Value(s): 1 � Signal Target: N/A

o Event Target(s): venID_1234 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Reports o None

A.2.2 CBP Scenario 2 - Typical Use Case, B profile

• Event o Notification: Day before event o Start Time:1pm o Duration: 4 hours o Randomization: None o Ramp Up: None o Recovery: None o Number of signals: 2 o Signal Name: simple

� Signal Type: level � Units: LN/A � Number of intervals 1 � Interval Duration(s):4 hours � Typical Interval Value(s): 1 or 2 � Signal Target: None

o Signal Name: BID_LOAD � Signal Type: setpoint � Units: powerReal � Number of intervals 1 � Interval Duration(s):4 hours � Typical Interval Value(s): 20kW to 100kW � Signal Target: None

o Event Targets: venID_1234 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

Page 41: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 41 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• Reports o None

A.2.3 CBP Scenario 3 - Complex Use Case

• Event o Notification: Day of event o Start Time: 1pm o Duration: 6 hours o Randomization: None o Ramp Up: None o Recovery: None o Number of signals:3 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals: 2 � Interval Duration(s): 3 hours, 3 hours � Typical Interval Value(s): 1, 2 (for each interval respectively) � Signal Target: None

o Signal Name: BID_LOAD � Signal Type: setpoint � Units: powerReal � Number of intervals 2 � Interval Duration(s):3 hours, 3 hours � Typical Interval Value(s): 40kW, 80kW (for each interval respectively) � Signal Target: None

o Signal Name: BID_PRICE � Signal Type: price

� Units: currencyPerKW � Number of intervals 1 � Interval Duration(s):6 hours � Typical Interval Value(s): $3.10 � Signal Target: None

o Event Targets: Resource_1, Resource_2, Resource_3 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Report(s) o ISO Market (Refer to Fast DR Report examples in Annex A) o Report Name: TELEMETRY_USAGE o Report Type: usage o Units: powerReal o Reading Type: Direct Read o Report Frequency: every 1 hour o Granularity: 1 Hour

A.2.4 CBP OadrDistributeEvent Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrDistributeEvent ei:schemaVersion="2.0b">

<pyld:requestID>OadrDisReq091214_043740_513</pyld:requestID>

<ei:vtnID>TH_VTN</ei:vtnID>

<oadr:oadrEvent>

<ei:eiEvent>

<ei:eventDescriptor>

<ei:eventID>Event091214_043741_028_0</ei:eventID>

<ei:modificationNumber>0</ei:modificationNumber>

<ei:priority>0</ei:priority>

<ei:eiMarketContext>

Page 42: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 42 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<emix:marketContext>http://MarketContext1</emix:marketContext>

</ei:eiMarketContext>

<ei:createdDateTime>2014-12-09T12:37:40Z</ei:createdDateTime>

<ei:eventStatus>far</ei:eventStatus>

</ei:eventDescriptor>

<ei:eiActivePeriod>

<xcal:properties>

<xcal:dtstart>

<xcal:date-time>2014-12-09T13:00:00Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT4H</xcal:duration>

</xcal:duration>

<ei:x-eiNotification>

<xcal:duration>PT24H</xcal:duration>

</ei:x-eiNotification>

</xcal:properties>

<xcal:components/>

</ei:eiActivePeriod>

<ei:eiEventSignals>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT4H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>2.0</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>SIMPLE</ei:signalName>

<ei:signalType>level</ei:signalType>

<ei:signalID>SIG_01</ei:signalID>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT4H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>80.0</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>BID_LOAD</ei:signalName>

<ei:signalType>setpoint</ei:signalType>

<ei:signalID>SIG_02</ei:signalID>

<power:powerReal>

<power:itemDescription>RealPower</power:itemDescription>

<power:itemUnits>W</power:itemUnits>

<scale:siScaleCode>k</scale:siScaleCode>

<power:powerAttributes>

<power:hertz>60.0</power:hertz>

<power:voltage>220.0</power:voltage>

<power:ac>true</power:ac>

</power:powerAttributes>

</power:powerReal>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

Page 43: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 43 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

</ei:eiEventSignals>

<ei:eiTarget>

<ei:venID>venID_1234</ei:venID>

</ei:eiTarget>

</ei:eiEvent>

<oadr:oadrResponseRequired>always</oadr:oadrResponseRequired>

</oadr:oadrEvent>

</oadr:oadrDistributeEvent>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

A.3 Thermostat Program

A.3.1 Thermostat Scenario 1 - Simple Use case, A or B Profile

• Event o Notification: Day before event o Start Time: 1pm o Duration:4 hours o Randomization: 10 minutes o Ramp Up: None o Recovery: None o Number of signals: 1 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals 1 � Interval Duration(s):4 hours � Typical Interval Value(s): 1 � Signal Target: N/A

o Event Target(s): Resource_1 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Reports o None

A.3.2 Thermostat Scenario 2 - Typical Use Case, B profile

• Event o Notification: Day before event o Start Time:1pm o Duration: 4 hours o Randomization: 10 minutes o Ramp Up: None o Recovery: None o Number of signals: 2 o Signal Name: simple

� Signal Type: level � Units: LevN/A � Number of intervals 1 � Interval Duration(s):4 hours � Typical Interval Value(s): 1 or 2 � Signal Target: None

o Signal Name: LOAD_CONTROL � Signal Type: x-loadControlLevelOffset � Units: Temperature � Number of intervals 1 � Interval Duration(s):4 hours � Typical Interval Value(s): 2 to 6 degrees Fahrenheit � Signal Target: None

Page 44: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 44 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

o Event Targets: Resource_1, Resource_2 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn, Possible outOut (oadrCreateOpt)

• Reports o Report Name: THERMOSTAT_STATUS o Report Frequency: 1 hour o Granularity: 1 Hour o Report Subject: Thermostat (all data points) o Reading Type: x-notApplicable (all data points) o Data Point

� rID Used in Sample Report: Status � Report Type: x-resourceStatus (oadrOnline, oadrLevelOffset:current) � Units: x-notApplicable

o Data Point � rID Used in Sample Report: Current Temp � Report Type: x-thermostatStatus � Units: temperature

o Data Point � rID Used in Sample Report: Heat Temp Setting � Report Type: setPoint � Units: temperature

o Data Point � rID Used in Sample Report: Cool Temp Setting � Report Type: setPoint � Units: temperature

o Data Point � rID Used in Sample Report: HVAC Mode Setting � Report Type: operatingState � Units: customUnit � Values: 0=OFF, 1=HEAT, 2=COOL, 3=AUTO

o Data Point � rID Used in Sample Report: HVAC Mode � Report Type: operatingState � Units: customUnit � Values: 0=OFF, 1=HEAT, 2=COOL

o Data Point � rID Used in Sample Report: Fan Mode Setting � Report Type: operatingState � Units: customUnit � Values: 0=OFF, 1=ON, 2=AUTO

o Data Point � rID Used in Sample Report: Current Hold Mode � Report Type: operatingState � Units: customUnit � Values: 0=none,1=temporary,2=permanent

o Data Point � rID Used in Sample Report: Current Away Mode � Report Type: operatingState � Units: customUnit � Values: 0=OFF,1=ON

o Data Point � rID Used in Sample Report: Current Humidity � Report Type: customUnit � Units: customUnit (percent)

A.3.3 Thermostat Scenario 3 - Complex Use Case

• Event o Notification: Day of event

Page 45: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 45 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

o Start Time: 1pm o Duration: 6 hours o Randomization: 10 minutes o Ramp Up: None o Recovery: None o Number of signals:2 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals: 2 � Interval Duration(s): 3 hours, 3 hours � Typical Interval Value(s): 1, 2 (for each interval respectively) � Signal Target: None

o Signal Name: LOAD_CONTROL � Signal Type: x-loadControlCapacity � Units: None � Number of intervals 2 � Interval Duration(s):3 hours, 3 hours � Typical Interval Value(s): 0.9, 0.8 (for each interval respectively) � Signal Target: None

o Event Targets: Resource_1, Resource_2, Resource_3 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn, Possible outOut (oadrCreateOpt)

• Report(s) o None

A.3.4 Thermostat OadrDistributeEvent Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrDistributeEvent ei:schemaVersion="2.0b">

<pyld:requestID>OadrDisReq091214_043740_513</pyld:requestID>

<ei:vtnID>TH_VTN</ei:vtnID>

<oadr:oadrEvent>

<ei:eiEvent>

<ei:eventDescriptor>

<ei:eventID>Event091214_043741_028_0</ei:eventID>

<ei:modificationNumber>0</ei:modificationNumber>

<ei:priority>0</ei:priority> <ei:eiMarketContext>

<emix:marketContext>http://MarketContext1</emix:marketContext>

</ei:eiMarketContext>

<ei:createdDateTime>2014-12-09T12:37:40Z</ei:createdDateTime>

<ei:eventStatus>far</ei:eventStatus>

</ei:eventDescriptor>

<ei:eiActivePeriod>

<xcal:properties>

<xcal:dtstart>

<xcal:date-time>2014-12-09T13:00:00Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT4H</xcal:duration>

</xcal:duration>

<xcal:tolerance>

<xcal:tolerate>

<xcal:startafter>PT10M</xcal:startafter>

</xcal:tolerate>

</xcal:tolerance>

<ei:x-eiNotification>

<xcal:duration>PT24H</xcal:duration>

</ei:x-eiNotification>

</xcal:properties>

<xcal:components/>

</ei:eiActivePeriod>

<ei:eiEventSignals>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

Page 46: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 46 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<xcal:duration>

<xcal:duration>PT4H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>2.0</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>SIMPLE</ei:signalName>

<ei:signalType>level</ei:signalType>

<ei:signalID>SIG_01</ei:signalID>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT4H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>6.0</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>LOAD_CONTROL</ei:signalName>

<ei:signalType>x-loadControlLevelOffset</ei:signalType>

<ei:signalID>SIG_02</ei:signalID>

<oadr:temperature>

<oadr:itemDescription>temperature</oadr:itemDescription>

<oadr:itemUnits>fahrenheit</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:temperature>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

</ei:eiEventSignals>

<ei:eiTarget>

<ei:resourceID>resource_1</ei:resourceID>

<ei:resourceID>resource_2</ei:resourceID>

</ei:eiTarget>

</ei:eiEvent>

<oadr:oadrResponseRequired>always</oadr:oadrResponseRequired>

</oadr:oadrEvent>

</oadr:oadrDistributeEvent>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

A.3.5 Thermostat Sample oadrRegisterReport Payload - Typical B Profile Use Case

<oadr:oadrPayload >

<oadr:oadrSignedObject>

<oadr:oadrRegisterReport ei:schemaVersion="2.0b">

<pyld:requestID>RegReq120615_122508_975</pyld:requestID>

<oadr:oadrReport>

<xcal:duration>

<xcal:duration>PT10M</xcal:duration>

</xcal:duration>

<oadr:oadrReportDescription>

<ei:rID>Status</ei:rID>

Page 47: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 47 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<ei:reportSubject>

<power:endDeviceAsset>

<power:mrid>Thermostat</power:mrid>

</power:endDeviceAsset>

</ei:reportSubject>

<ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>x-resourceStatus</ei:reportType>

<ei:readingType>x-notApplicable</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT60M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

</oadr:oadrReportDescription>

<oadr:oadrReportDescription>

<ei:rID>Current Temp</ei:rID>

<ei:reportSubject>

<power:endDeviceAsset>

<power:mrid>Thermostat</power:mrid>

</power:endDeviceAsset>

</ei:reportSubject> <ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>x-thermostatStatus</ei:reportType>

<oadr:temperature>

<oadr:itemDescription>temperature</oadr:itemDescription>

<oadr:itemUnits>fahrenheit</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:temperature>

<ei:readingType>x-notApplicable</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT10M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

</oadr:oadrReportDescription>

<oadr:oadrReportDescription>

<ei:rID>Heat Temp Setting</ei:rID>

<ei:reportSubject>

<power:endDeviceAsset>

<power:mrid>Thermostat</power:mrid>

</power:endDeviceAsset>

</ei:reportSubject>

<ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>setPoint</ei:reportType>

<oadr:temperature>

<oadr:itemDescription>temperature</oadr:itemDescription>

<oadr:itemUnits>fahrenheit</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:temperature>

<ei:readingType>x-notApplicable</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT10M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

</oadr:oadrReportDescription>

<oadr:oadrReportDescription>

<ei:rID>Cool Temp Setting</ei:rID>

<ei:reportSubject>

<power:endDeviceAsset>

<power:mrid>Thermostat</power:mrid>

</power:endDeviceAsset>

</ei:reportSubject>

<ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>setPoint</ei:reportType>

<oadr:temperature>

<oadr:itemDescription>temperature</oadr:itemDescription>

Page 48: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 48 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<oadr:itemUnits>fahrenheit</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:temperature>

<ei:readingType>x-notApplicable</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT10M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

</oadr:oadrReportDescription>

<oadr:oadrReportDescription>

<ei:rID>HVAC Mode Setting</ei:rID>

<ei:reportSubject>

<power:endDeviceAsset>

<power:mrid>Thermostat</power:mrid>

</power:endDeviceAsset>

</ei:reportSubject>

<ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>operatingState</ei:reportType>

<oadr:customUnit>

<oadr:itemDescription>HVAC settings</oadr:itemDescription>

<oadr:itemUnits>0=OFF,1=HEAT,2=COOL,3=AUTO</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:customUnit>

<ei:readingType>x-notApplicable</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT10M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

</oadr:oadrReportDescription>

<oadr:oadrReportDescription>

<ei:rID>Current HVAC Mode</ei:rID>

<ei:reportSubject>

<power:endDeviceAsset>

<power:mrid>Thermostat</power:mrid>

</power:endDeviceAsset>

</ei:reportSubject>

<ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>operatingState</ei:reportType>

<oadr:customUnit>

<oadr:itemDescription>HVAC states</oadr:itemDescription>

<oadr:itemUnits>0=OFF,1=HEAT,2=COOL</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:customUnit>

<ei:readingType>x-notApplicable</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT10M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

</oadr:oadrReportDescription>

<oadr:oadrReportDescription>

<ei:rID>Fan Mode Setting</ei:rID>

<ei:reportSubject>

<power:endDeviceAsset>

<power:mrid>Thermostat</power:mrid>

</power:endDeviceAsset>

</ei:reportSubject>

<ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>operatingState</ei:reportType>

<oadr:customUnit>

<oadr:itemDescription>FAN settings</oadr:itemDescription>

<oadr:itemUnits>0=OFF,1=ON,2=AUTO</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:customUnit>

<ei:readingType>x-notApplicable</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

Page 49: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 49 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT10M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

</oadr:oadrReportDescription>

<oadr:oadrReportDescription>

<ei:rID>Current Hold Mode</ei:rID>

<ei:reportSubject>

<power:endDeviceAsset>

<power:mrid>Thermostat</power:mrid>

</power:endDeviceAsset>

</ei:reportSubject>

<ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>operatingState</ei:reportType>

<oadr:customUnit>

<oadr:itemDescription>HOLD states</oadr:itemDescription>

<oadr:itemUnits>0=none,1=temporary,2=permanent</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:customUnit>

<ei:readingType>x-notApplicable</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT10M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

</oadr:oadrReportDescription>

<oadr:oadrReportDescription>

<ei:rID>Current Away Mode</ei:rID>

<ei:reportSubject>

<power:endDeviceAsset>

<power:mrid>Thermostat</power:mrid>

</power:endDeviceAsset>

</ei:reportSubject>

<ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>operatingState</ei:reportType>

<oadr:customUnit>

<oadr:itemDescription>Away states</oadr:itemDescription>

<oadr:itemUnits>0=OFF,1=ON</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:customUnit>

<ei:readingType>x-notApplicable</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT10M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

</oadr:oadrReportDescription>

<oadr:oadrReportDescription>

<ei:rID>Current Humidity</ei:rID>

<ei:reportSubject>

<power:endDeviceAsset>

<power:mrid>Thermostat</power:mrid>

</power:endDeviceAsset>

</ei:reportSubject>

<ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>x-thermostatStatus</ei:reportType>

<oadr:customUnit>

<oadr:itemDescription>Current Humidity</oadr:itemDescription>

<oadr:itemUnits> percent</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:customUnit>

<ei:readingType>x-notApplicable</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT10M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

Page 50: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 50 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

</oadr:oadrReportDescription>

<ei:reportRequestID>0</ei:reportRequestID>

<ei:reportSpecifierID>0013A20040980FAE</ei:reportSpecifierID>

<ei:reportName>x-METADATA_THERMOSTAT_STATE</ei:reportName>

<ei:createdDateTime>2015-06-12T19:25:12Z</ei:createdDateTime>

</oadr:oadrReport>

<ei:venID> VEN.ID:1395090780716</ei:venID>

</oadr:oadrRegisterReport>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

Page 51: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 51 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

A.3.6 Thermostat Sample oadrCreateReport Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrCreateReport ei:schemaVersion="2.0b">

<pyld:requestID>ReportReqID130615_192625_230</pyld:requestID>

<oadr:oadrReportRequest>

<ei:reportRequestID>REQ:RReq:1395368583267</ei:reportRequestID>

<ei:reportSpecifier>

<ei:reportSpecifierID>0013A20040980FAE</ei:reportSpecifierID>

<xcal:granularity>

<xcal:duration>PT60M</xcal:duration>

</xcal:granularity>

<ei:reportBackDuration>

<xcal:duration>PT60M</xcal:duration>

</ei:reportBackDuration>

<ei:reportInterval>

<xcal:properties>

<xcal:dtstart>

<xcal:date-time>2015-06-14T13:00:00Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT24H</xcal:duration>

</xcal:duration>

</xcal:properties>

</ei:reportInterval>

<ei:specifierPayload>

<ei:rID>Status</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

<ei:specifierPayload>

<ei:rID>Current Temp</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

<ei:specifierPayload>

<ei:rID>Heat Temp Setting</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

<ei:specifierPayload>

<ei:rID>Cool Temp Setting</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

<ei:specifierPayload>

<ei:rID>HVAC Mode Setting</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

<ei:specifierPayload>

<ei:rID>Current HVAC Mode</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

<ei:specifierPayload>

<ei:rID>Fan Mode Setting</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

<ei:specifierPayload>

<ei:rID>Current Hold Mode</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

<ei:specifierPayload>

<ei:rID>Current Away Mode</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

<ei:specifierPayload>

<ei:rID>Current Humidity</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

</ei:reportSpecifier>

</oadr:oadrReportRequest>

<ei:venID>VEN130615_192312_582</ei:venID>

</oadr:oadrCreateReport>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

Page 52: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 52 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

A.3.7 Thermostat Sample oadrUpdate Report Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrUpdateReport ei:schemaVersion="2.0b">

<pyld:requestID>RUP-18</pyld:requestID>

<oadr:oadrReport>

<xcal:dtstart>

<xcal:date-time>2014-03-21T02:25:03Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT60M</xcal:duration>

</xcal:duration>

<strm:intervals>

<ei:interval>

<xcal:dtstart>

<xcal:date-time>2014-03-21T02:25:03Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT60M</xcal:duration>

</xcal:duration>

<oadr:oadrReportPayload>

<ei:rID>Status</ei:rID>

<oadr:oadrPayloadResourceStatus>

<oadr:oadrOnline>true</oadr:oadrOnline>

<oadr:oadrManualOverride>false</oadr:oadrManualOverride>

<oadr:oadrLoadControlState>

<oadr:oadrLevelOffset>

<oadr:oadrCurrent>0</oadr:oadrCurrent>

</oadr:oadrLevelOffset>

</oadr:oadrLoadControlState>

</oadr:oadrPayloadResourceStatus>

<oadr:oadrDataQuality>Quality Good - Non Specific </oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>Current Temp</ei:rID>

<ei:payloadFloat>

<ei:value>77.000000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific </oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>Heat Temp Setting</ei:rID>

<ei:payloadFloat>

<ei:value>64.000000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific </oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>Cool Temp Setting</ei:rID>

<ei:payloadFloat>

<ei:value>86.000000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific </oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>HVAC Mode Setting</ei:rID>

<ei:payloadFloat>

<ei:value>3</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific </oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>Current HVAC Mode</ei:rID>

<ei:payloadFloat>

<ei:value>0.000000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No Quality - No Value</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>Fan Mode Setting</ei:rID>

<ei:payloadFloat>

<ei:value>2</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific </oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

Page 53: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 53 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<ei:rID>Current Hold Mode</ei:rID>

<ei:payloadFloat>

<ei:value>2</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific </oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>Current Away Mode</ei:rID>

<ei:payloadFloat>

<ei:value>0</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific </oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>Current Humidity</ei:rID>

<ei:payloadFloat>

<ei:value>0.000000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No Quality - No Value</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

</ei:interval>

</strm:intervals>

<ei:eiReportID>RP21</ei:eiReportID>

<ei:reportRequestID>REQ:RReq:1395368583267</ei:reportRequestID>

<ei:reportSpecifierID>0013A20040980FAE</ei:reportSpecifierID>

<ei:reportName>THERMOSTAT_STATE</ei:reportName>

<ei:createdDateTime>2014-03-21T02:26:04Z</ei:createdDateTime>

</oadr:oadrReport>

<ei:venID>VEN.ID:1395090780716</ei:venID>

</oadr:oadrUpdateReport>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

A.4 Fast DR Dispatch

A.4.1 Fast DR Scenario 1 - Simple Use case, A or B Profile

• Event o Notification: 10 minutes o Start Time: 1pm o Duration: 0 (Open Ended) o Randomization: None o Ramp Up: None o Recovery: None o Number of signals: 1 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals 1 � Interval Duration(s): 0 (Open Ended) � Typical Interval Value(s): 1 � Signal Target: N/A

o Event Target(s): venID_1234 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Reports o None

A.4.2 Fast DR Scenario 2 - Typical Use Case, B profile

• Event o Notification: 10 minutes o Start Time:1pm o Duration: 30 minutes o Randomization: None o Ramp Up: 5 minutes o Recovery: 5 minutes

Page 54: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 54 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

o Number of signals: 2 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals 1 � Interval Duration(s): 30 minutes � Typical Interval Value(s): 1 or 2 � Signal Target: None

o Signal Name: LOAD_DISPATCH � Signal Type: delta � Units: powerReal � Number of intervals 1 � Interval Duration(s): 30 minutes � Typical Interval Value(s): 500 kW to 2mW � Signal Target: None

o Event Targets: venID_1234 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Reports o Report Name: TELEMETRY_USAGE o Report Type: usage o Units: powerReal o Reading Type: Direct Read o Report Frequency: every 1 minute o Granularity: 1 Minute

A.4.3 Fast DR Scenario 3 - Complex Use Case

• Event o Notification: 10 minutes o Start Time: 1pm o Duration: 30 minutes o Randomization: None o Ramp Up: 5 minutes o Recovery: 5 minutes o Number of signals:2 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals: 2 � Interval Duration(s): 15 minutes, 15 minutes � Typical Interval Value(s): 1, 2 (for each interval respectively) � Signal Target: None

o Signal Name: LOAD_DISPATCH � Signal Type: setpoint � Units: powerReal � Number of intervals 2 � Interval Duration(s): 15 minutes, 15 minutes � Typical Interval Value(s): 800kW, 900kW (for each interval

respectively) � Signal Target: None

o Event Targets: Resource_1 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Report(s) o Report Name: TELEMETRY_USAGE o Report Type: usage o Units: powerReal and voltage

Page 55: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 55 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

o Reading Type: Direct Read o Report Frequency: every 5 seconds o Granularity: 5 seconds

A.4.4 Fast DR OadrDistributeEvent Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrDistributeEvent ei:schemaVersion="2.0b">

<pyld:requestID>OadrDisReq091214_043740_513</pyld:requestID>

<ei:vtnID>TH_VTN</ei:vtnID>

<oadr:oadrEvent>

<ei:eiEvent>

<ei:eventDescriptor>

<ei:eventID>Event091214_043741_028_0</ei:eventID>

<ei:modificationNumber>0</ei:modificationNumber>

<ei:priority>0</ei:priority>

<ei:eiMarketContext>

<emix:marketContext>http://MarketContext1</emix:marketContext>

</ei:eiMarketContext>

<ei:createdDateTime>2014-12-09T12:37:40Z</ei:createdDateTime>

<ei:eventStatus>far</ei:eventStatus>

</ei:eventDescriptor>

<ei:eiActivePeriod>

<xcal:properties>

<xcal:dtstart>

<xcal:date-time>2014-12-09T13:00:00Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT10M</xcal:duration>

</xcal:duration>

<ei:x-eiNotification>

<xcal:duration>PT10M</xcal:duration>

</ei:x-eiNotification>

<ei:x-eiRampUp>

<xcal:duration>PT5M</xcal:duration>

</ei:x-eiRampUp>

<ei:x-eiRecovery>

<xcal:duration>PT5M</xcal:duration>

</ei:x-eiRecovery>

</xcal:properties>

<xcal:components/>

</ei:eiActivePeriod>

<ei:eiEventSignals>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT10M</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>2.0</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>SIMPLE</ei:signalName>

<ei:signalType>level</ei:signalType>

<ei:signalID>SIG_01</ei:signalID>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT10M</xcal:duration>

Page 56: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 56 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>500.0</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>LOAD_DISPATCH</ei:signalName>

<ei:signalType>delta</ei:signalType>

<ei:signalID>SIG_02</ei:signalID>

<power:powerReal>

<power:itemDescription>RealPower</power:itemDescription>

<power:itemUnits>W</power:itemUnits>

<scale:siScaleCode>k</scale:siScaleCode>

<power:powerAttributes>

<power:hertz>60.0</power:hertz>

<power:voltage>220.0</power:voltage>

<power:ac>true</power:ac>

</power:powerAttributes>

</power:powerReal>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

</ei:eiEventSignals>

<ei:eiTarget>

<ei:venID>venID_1234</ei:venID>

</ei:eiTarget>

</ei:eiEvent>

<oadr:oadrResponseRequired>always</oadr:oadrResponseRequired>

</oadr:oadrEvent>

</oadr:oadrDistributeEvent>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

A.4.5 Fast DR Sample oadrRegisterReport Payload - Typical B Profile Use Case

<oadr:oadrPayload >

<oadr:oadrSignedObject>

<oadr:oadrRegisterReport ei:schemaVersion="2.0b">

<pyld:requestID>RegReq120615_122508_975</pyld:requestID>

<oadr:oadrReport>

<xcal:duration>

<xcal:duration>PT10M</xcal:duration>

</xcal:duration>

<oadr:oadrReportDescription>

<ei:rID>real_power</ei:rID>

<ei:reportDataSource>

<ei:resourceID>resource1</ei:resourceID>

</ei:reportDataSource>

<ei:reportType>usage</ei:reportType>

<power:powerReal>

<power:itemDescription>RealPower</power:itemDescription>

<power:itemUnits>W</power:itemUnits>

<scale:siScaleCode>k</scale:siScaleCode>

<power:powerAttributes>

<power:hertz>60.0</power:hertz>

<power:voltage>220.0</power:voltage>

<power:ac>true</power:ac>

</power:powerAttributes>

</power:powerReal>

<ei:readingType>Direct Read</ei:readingType>

<emix:marketContext>http://MarketContext1</emix:marketContext>

<oadr:oadrSamplingRate>

<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>

<oadr:oadrMaxPeriod>PT10M</oadr:oadrMaxPeriod>

<oadr:oadrOnChange>false</oadr:oadrOnChange>

</oadr:oadrSamplingRate>

</oadr:oadrReportDescription>

<ei:reportRequestID>0</ei:reportRequestID>

<ei:reportSpecifierID>ReportSpecID120615_122512_481_2</ei:reportSpecifierID>

Page 57: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 57 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<ei:reportName>METADATA_TELEMETRY_USAGE</ei:reportName>

<ei:createdDateTime>2015-06-12T19:25:12Z</ei:createdDateTime>

</oadr:oadrReport>

<ei:venID>ec27de207837e1048fd3</ei:venID>

</oadr:oadrRegisterReport>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

A.4.6 Fast DR Sample oadrCreateReport Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrCreateReport ei:schemaVersion="2.0b">

<pyld:requestID>ReportReqID130615_192625_230</pyld:requestID>

<oadr:oadrReportRequest>

<ei:reportRequestID>ReportReqID130615_192625_730</ei:reportRequestID>

<ei:reportSpecifier>

<ei:reportSpecifierID>ReportSpecID120615_122512_481_2</ei:reportSpecifierID>

<xcal:granularity>

<xcal:duration>PT1M</xcal:duration>

</xcal:granularity>

<ei:reportBackDuration>

<xcal:duration>PT1M</xcal:duration>

</ei:reportBackDuration>

<ei:reportInterval>

<xcal:properties>

<xcal:dtstart>

<xcal:date-time>2015-06-14T13:00:00Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT10M</xcal:duration>

</xcal:duration>

</xcal:properties>

</ei:reportInterval>

<ei:specifierPayload>

<ei:rID>real_power</ei:rID>

<ei:readingType>x-notApplicable</ei:readingType>

</ei:specifierPayload>

</ei:reportSpecifier>

</oadr:oadrReportRequest>

<ei:venID>VEN130615_192312_582</ei:venID>

</oadr:oadrCreateReport>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

A.4.7 Fast DR Sample Update Report Data Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrUpdateReport ei:schemaVersion="2.0b">

<pyld:requestID>ReportUpdReqID130615_192730_445</pyld:requestID>

<oadr:oadrReport>

<xcal:dtstart>

<xcal:date-time>2015-06-14T02:27:29Z</xcal:date-time>

</xcal:dtstart>

<strm:intervals>

<ei:interval>

<xcal:dtstart>

<xcal:date-time>2015-06-14T02:27:29Z</xcal:date-time>

</xcal:dtstart>

<oadr:oadrReportPayload>

<ei:rID>real_power</ei:rID>

<ei:confidence>100</ei:confidence>

<ei:accuracy>0.0</ei:accuracy>

<ei:payloadFloat>

<ei:value>500.0</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

</ei:interval>

</strm:intervals>

<ei:eiReportID>RP_54321</ei:eiReportID>

Page 58: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 58 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<ei:reportRequestID>ReportReqID130615_192625_730</ei:reportRequestID>

<ei:reportSpecifierID>ReportSpecID120615_122512_481_2</ei:reportSpecifierID>

<ei:reportName>TELEMETRY_USAGE</ei:reportName>

<ei:createdDateTime>2015-06-14T02:27:29Z</ei:createdDateTime>

</oadr:oadrReport>

<ei:venID>VEN130615_192312_582</ei:venID>

</oadr:oadrUpdateReport>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

A.5 Residential Electric Vehicle (EV) Time of Use (TOU) Program

Note that as program communicates rate tiers in a fairly structured form only the simple and typical use cases are shown

A.5.1 Residential EV Scenario 1 - Simple Use case, A or B Profile

• Event o Notification: Day before event o Start Time: 1pm o Duration:24 hours o Randomization: None o Ramp Up: None o Recovery: None o Number of signals: 1 o Signal Name: simple

� Signal Type: level � Units: N/A � Number of intervals; equal TOU Tier changes in 24 hours (2 - 6) � Interval Duration(s): TOU tier active time frame (i.e. 6 hours) � Typical Interval Value(s): 0 - 4 mapped to TOU Tiers � Signal Target: N/A

o Event Target(s): venID_1234 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Reports o None

A.5.2 Residential EV Scenario 2 - Typical Use Case, B profile

• Event o Notification: Day before event o Start Time:midnight o Duration: 24 hours o Randomization: None o Ramp Up: None o Recovery: None o Number of signals: 2 o Signal Name: simple

� Signal Type: level � Units: LevN/A � Number of intervals: equal TOU Tier change in 24 hours (2 - 6) � Interval Duration(s): TOU tier active time frame (i.e. 6 hours) � Typical Interval Value(s): 0 - 4 mapped to TOU Tiers (0 - Cheapest Tier) � Signal Target: None

o Signal Name: ELECTRICITY_PRICE

Page 59: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 59 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

� Signal Type: price � Units: USD per Kwh � Number of intervals: equal TOU Tier changes in 24 hours (2 - 6) � Interval Duration(s): TOU tier active time frame (i.e. 6 hours) � Typical Interval Value(s): $0.10 to $1.00 (current tier rate) � Signal Target: None

o Event Targets: venID_1234 o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Reports o None

A.5.3 Residential EV OadrDistributeEvent Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrDistributeEvent ei:schemaVersion="2.0b">

<pyld:requestID>OadrDisReq091214_043740_513</pyld:requestID>

<ei:vtnID>TH_VTN</ei:vtnID>

<oadr:oadrEvent>

<ei:eiEvent>

<ei:eventDescriptor>

<ei:eventID>Event091214_043741_028_0</ei:eventID>

<ei:modificationNumber>0</ei:modificationNumber>

<ei:priority>0</ei:priority>

<ei:eiMarketContext>

<emix:marketContext>http://MarketContext1</emix:marketContext>

</ei:eiMarketContext>

<ei:createdDateTime>2014-12-09T12:37:40Z</ei:createdDateTime>

<ei:eventStatus>far</ei:eventStatus>

</ei:eventDescriptor>

<ei:eiActivePeriod>

<xcal:properties>

<xcal:dtstart>

<xcal:date-time>2014-12-09T00:00:00Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT24H</xcal:duration>

</xcal:duration>

<ei:x-eiNotification>

<xcal:duration>PT24H</xcal:duration>

</ei:x-eiNotification>

</xcal:properties>

<xcal:components/>

</ei:eiActivePeriod>

<ei:eiEventSignals>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT5H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

<ei:interval>

<xcal:duration>

<xcal:duration>PT7H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>1</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>1.0</ei:value>

</ei:payloadFloat>

Page 60: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 60 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

</ei:signalPayload>

</ei:interval>

<ei:interval>

<xcal:duration>

<xcal:duration>PT47H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>2</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>2.0</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

<ei:interval>

<xcal:duration>

<xcal:duration>PT5H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>3</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>1.0</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>SIMPLE</ei:signalName>

<ei:signalType>level</ei:signalType>

<ei:signalID>SIG_01</ei:signalID>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT5H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>0.35</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

<ei:interval>

<xcal:duration>

<xcal:duration>PT7H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>1</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>0.55</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

<ei:interval>

<xcal:duration>

<xcal:duration>PT7H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>2</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>0.75</ei:value>

</ei:payloadFloat>

Page 61: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 61 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

</ei:signalPayload>

</ei:interval>

<ei:interval>

<xcal:duration>

<xcal:duration>PT5H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>3</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>0.55</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>ELECTRICITY_PRICE</ei:signalName>

<ei:signalType>price</ei:signalType>

<ei:signalID>SIG_02</ei:signalID>

<oadr:currencyPerKWh>

<oadr:itemDescription>currencyPerKWh</oadr:itemDescription>

<oadr:itemUnits>USD</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:currencyPerKWh>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

</ei:eiEventSignals>

<ei:eiTarget>

<ei:venID>venID_1234</ei:venID>

</ei:eiTarget>

</ei:eiEvent>

<oadr:oadrResponseRequired>always</oadr:oadrResponseRequired>

</oadr:oadrEvent>

</oadr:oadrDistributeEvent>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

A.6 Public Station Electric Vehicle (EV) Real-Time Pricing Program

Note that as this is a real time pricing program there really is no differentiation between a simple, typical, and complex use case. Therefore sample data will only be shown for a typical use case.

A.6.1 Public Station EV Scenario 1 - Typical Use Case, B profile

• Event o Notification: 1 hour ahead o Start Time:1pm o Duration: 1 hours o Randomization: None o Ramp Up: None o Recovery: None o Number of signals: 1 o Signal Name: ELECTRICITY_PRICE

� Signal Type: price � Units: USD per Kwh � Number of intervals 1 � Interval Duration(s):1 hours � Typical Interval Value(s): $0.10 to $1.00 � Signal Target: None

o Event Targets: venID_1234

Page 62: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 62 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

o Priority: 1 o VEN Response Required: always o VEN Expected Response: optIn

• Reports o None

A.6.2 Public Station EV OadrDistributeEvent Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrDistributeEvent ei:schemaVersion="2.0b">

<pyld:requestID>OadrDisReq091214_043740_513</pyld:requestID>

<ei:vtnID>TH_VTN</ei:vtnID>

<oadr:oadrEvent>

<ei:eiEvent>

<ei:eventDescriptor>

<ei:eventID>Event091214_043741_028_0</ei:eventID>

<ei:modificationNumber>0</ei:modificationNumber>

<ei:priority>0</ei:priority>

<ei:eiMarketContext>

<emix:marketContext>http://MarketContext1</emix:marketContext>

</ei:eiMarketContext>

<ei:createdDateTime>2014-12-09T12:37:40Z</ei:createdDateTime>

<ei:eventStatus>far</ei:eventStatus>

</ei:eventDescriptor>

<ei:eiActivePeriod>

<xcal:properties>

<xcal:dtstart>

<xcal:date-time>2014-12-09T13:00:00Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT1H</xcal:duration>

</xcal:duration>

<ei:x-eiNotification>

<xcal:duration>PT1H</xcal:duration>

</ei:x-eiNotification>

</xcal:properties>

<xcal:components/>

</ei:eiActivePeriod>

<ei:eiEventSignals>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT1H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>0.75</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

</strm:intervals>

<ei:signalName>ELECTRICITY_PRICE</ei:signalName>

<ei:signalType>price</ei:signalType>

<ei:signalID>SIG_01</ei:signalID>

<oadr:currencyPerKWh>

<oadr:itemDescription>currencyPerKWh</oadr:itemDescription>

<oadr:itemUnits>USD</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:currencyPerKWh>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

</ei:eiEventSignals>

<ei:eiTarget>

<ei:venID>venID_1234</ei:venID>

</ei:eiTarget>

Page 63: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 63 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

</ei:eiEvent>

<oadr:oadrResponseRequired>always</oadr:oadrResponseRequired>

</oadr:oadrEvent>

</oadr:oadrDistributeEvent>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

A.7 Distributed Energy Resources (DER) DR Program

Note that as this is a real time pricing program there really is no differentiation between a simple, typical, and complex use case. Therefore sample data will only be shown for a typical use case.

A.7.1 Public Station EV Scenario 1 - Typical Use Case, B profile

• Event o Notification: Day ahead o Start Time:midnight o Duration: 24 hours o Randomization: None o Ramp Up: None o Recovery: None o Number of signals: 1 o Signal Name: ELECTRICITY_PRICE

� Signal Type: price � Units: USD per Kwh � Number of intervals 24 � Interval Duration(s):1 hours � Typical Interval Value(s): $0.10 to $1.00 � Signal Target: None

o Event Targets: venID_1234 o Priority: 1 o VEN Response Required: never o VEN Expected Response: n/a

• Reports o None

A.7.2 Public Station EV OadrDistributeEvent Payload - Typical B Profile Use Case

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrDistributeEvent ei:schemaVersion="2.0b">

<pyld:requestID>OadrDisReq091214_043740_513</pyld:requestID>

<ei:vtnID>TH_VTN</ei:vtnID>

<oadr:oadrEvent>

<ei:eiEvent>

<ei:eventDescriptor>

<ei:eventID>Event091214_043741_028_0</ei:eventID>

<ei:modificationNumber>0</ei:modificationNumber>

<ei:priority>0</ei:priority>

<ei:eiMarketContext>

<emix:marketContext>http://MarketContext1</emix:marketContext>

</ei:eiMarketContext>

<ei:createdDateTime>2014-12-09T12:37:40Z</ei:createdDateTime>

<ei:eventStatus>far</ei:eventStatus>

</ei:eventDescriptor>

<ei:eiActivePeriod>

<xcal:properties>

<xcal:dtstart>

<xcal:date-time>2014-12-09T00:00:00Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT24H</xcal:duration>

</xcal:duration>

<ei:x-eiNotification>

Page 64: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 64 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<xcal:duration>PT24H</xcal:duration>

</ei:x-eiNotification>

</xcal:properties>

<xcal:components/>

</ei:eiActivePeriod>

<ei:eiEventSignals>

<ei:eiEventSignal>

<strm:intervals>

<ei:interval>

<xcal:duration>

<xcal:duration>PT1H</xcal:duration>

</xcal:duration>

<xcal:uid>

<xcal:text>0</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>0.75</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

<ei:interval>

<xcal:duration>

<xcal:duration>PT1H</xcal:duration>

</xcal:duration>

<xcal:uid> <xcal:text>1</xcal:text>

</xcal:uid>

<ei:signalPayload>

<ei:payloadFloat>

<ei:value>0.80</ei:value>

</ei:payloadFloat>

</ei:signalPayload>

</ei:interval>

<!-- 22 additional intervals of price data-->

</strm:intervals>

<ei:signalName>ELECTRICITY_PRICE</ei:signalName>

<ei:signalType>price</ei:signalType>

<ei:signalID>SIG_01</ei:signalID>

<oadr:currencyPerKWh>

<oadr:itemDescription>currencyPerKWh</oadr:itemDescription>

<oadr:itemUnits>USD</oadr:itemUnits>

<scale:siScaleCode>none</scale:siScaleCode>

</oadr:currencyPerKWh>

<ei:currentValue>

<ei:payloadFloat>

<ei:value>0.0</ei:value>

</ei:payloadFloat>

</ei:currentValue>

</ei:eiEventSignal>

</ei:eiEventSignals>

<ei:eiTarget>

<ei:venID>venID_1234</ei:venID>

</ei:eiTarget>

</ei:eiEvent>

<oadr:oadrResponseRequired>never</oadr:oadrResponseRequired>

</oadr:oadrEvent>

</oadr:oadrDistributeEvent>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

Page 65: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

Annex B - Example Reports From Utility Pilots

OpenADR Alliance members provided the following B Profile oadrUpdateReport payload samples from utility pilot programs where their VENs had been deployed. The following notes accompanied the three payloads samples provided: M&V for Rebates Payload Objective:

• Status of resources and manual override in the case of opt in

• Interval data from a KYZ Pulse Counter or Energy Monitor for total energy in KWH and instantaneous demand in KW Smart Meter/AMI Interval Data Payload Objective:

• AMI meter reading interval is about 15 minutes to 1 hour. Although useful, not granular enough for near real time billing estimates

• Total Energy in KWH, delta energy in KWH, instantaneous demand in KW

The following namespace prefixes are used in the payload examples:

o xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07"

o xmlns:pyld="http://docs.oasis-open.org/ns/energyinterop/201110/payloads"

o xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110"

o xmlns:scale="http://docs.oasis-open.org/ns/emix/2011/06/siscale"

o xmlns:emix="http://docs.oasis-open.org/ns/emix/2011/06"

o xmlns:strm="urn:ietf:params:xml:ns:icalendar-2.0:stream"

o xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0"

o xmlns:power="http://docs.oasis-open.org/ns/emix/2011/06/power"

B.1 M&Vfor Rebates Report Payload Sample

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrUpdateReport ei:schemaVersion="2.0b">

<pyld:requestID>RUP-10</pyld:requestID>

<oadr:oadrReport>

Page 66: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 66 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<xcal:dtstart>

<xcal:date-time>2015-08-21T17:41:14Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT30S</xcal:duration>

</xcal:duration>

<strm:intervals>

<ei:interval>

<xcal:dtstart>

<xcal:date-time>2015-08-21T17:41:14Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT30S</xcal:duration>

</xcal:duration>

<oadr:oadrReportPayload>

<ei:rID>Status</ei:rID>

<oadr:oadrPayloadResourceStatus>

<oadr:oadrOnline>true</oadr:oadrOnline>

<oadr:oadrManualOverride>false</oadr:oadrManualOverride>

</oadr:oadrPayloadResourceStatus>

<oadr:oadrDataQuality>Quality Good - Non Specific</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>Pulse Count</ei:rID>

<ei:payloadFloat>

<ei:value>34750.000000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>Energy</ei:rID>

<ei:payloadFloat>

<ei:value>33985.500000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>Power</ei:rID>

<ei:payloadFloat>

<ei:value>1.26</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>Quality Good - Non Specific</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

</ei:interval>

</strm:intervals>

<ei:eiReportID>RP15</ei:eiReportID>

<ei:reportRequestID>REQ:RReq:10453335019195698</ei:reportRequestID>

Page 67: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 67 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<ei:reportSpecifierID>0000000000522613 60</ei:reportSpecifierID>

<ei:reportName>TELEMETRY_USAGE</ei:reportName>

<ei:createdDateTime>2015-08-21T17:41:50Z</ei:createdDateTime>

</oadr:oadrReport>

<ei:venID>VEN.ID:1439831430142</ei:venID>

</oadr:oadrUpdateReport>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

B.2 Smart Meter/AMI Interval Data Report Payload Sample

<oadr:oadrPayload>

<oadr:oadrSignedObject>

<oadr:oadrUpdateReport ei:schemaVersion="2.0b">

<pyld:requestID>RUP-4096</pyld:requestID>

<oadr:oadrReport>

<xcal:dtstart>

<xcal:date-time>2014-09-10T06:26:52Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT1M</xcal:duration>

</xcal:duration>

<strm:intervals>

<ei:interval>

<xcal:dtstart>

<xcal:date-time>2014-09-10T06:26:52Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT15S</xcal:duration>

</xcal:duration>

<oadr:oadrReportPayload>

<ei:rID>instantaneousDemand</ei:rID>

<ei:payloadFloat>

<ei:value>6.167000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>intervalDataDelivered</ei:rID>

<ei:payloadFloat>

<ei:value>0.051000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>currSumDelivered</ei:rID>

Page 68: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 68 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<ei:payloadFloat>

<ei:value>12172.052000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

</ei:interval>

<ei:interval>

<xcal:dtstart>

<xcal:date-time>2014-09-10T06:27:07Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT15S</xcal:duration>

</xcal:duration>

<oadr:oadrReportPayload>

<ei:rID>instantaneousDemand</ei:rID>

<ei:payloadFloat>

<ei:value>6.114000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>intervalDataDelivered</ei:rID>

<ei:payloadFloat>

<ei:value>0.051000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>currSumDelivered</ei:rID>

<ei:payloadFloat>

<ei:value>12172.052000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

</ei:interval>

<ei:interval>

<xcal:dtstart>

<xcal:date-time>2014-09-10T06:27:22Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT15S</xcal:duration>

</xcal:duration>

<oadr:oadrReportPayload>

<ei:rID>instantaneousDemand</ei:rID>

<ei:payloadFloat>

<ei:value>6.113000</ei:value>

</ei:payloadFloat>

Page 69: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 69 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>intervalDataDelivered</ei:rID>

<ei:payloadFloat>

<ei:value>0.051000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>currSumDelivered</ei:rID>

<ei:payloadFloat>

<ei:value>12172.142000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

</ei:interval>

<ei:interval>

<xcal:dtstart>

<xcal:date-time>2014-09-10T06:27:37Z</xcal:date-time>

</xcal:dtstart>

<xcal:duration>

<xcal:duration>PT15S</xcal:duration>

</xcal:duration>

<oadr:oadrReportPayload>

<ei:rID>instantaneousDemand</ei:rID>

<ei:payloadFloat>

<ei:value>6.112000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>intervalDataDelivered</ei:rID>

<ei:payloadFloat>

<ei:value>0.051000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

<oadr:oadrReportPayload>

<ei:rID>currSumDelivered</ei:rID>

<ei:payloadFloat>

<ei:value>12172.142000</ei:value>

</ei:payloadFloat>

<oadr:oadrDataQuality>No New Value - Previous Value Used</oadr:oadrDataQuality>

</oadr:oadrReportPayload>

</ei:interval>

</strm:intervals>

Page 70: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 70 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

<ei:eiReportID>RP4101</ei:eiReportID>

<ei:reportRequestID>d5f88bf0-1a8d-0132-eab3-0a5317f1edaa</ei:reportRequestID>

<ei:reportSpecifierID>00:21:b9:00:f2:a9</ei:reportSpecifierID>

<ei:reportName>TELEMETRY_USAGE</ei:reportName>

<ei:createdDateTime>2014-09-10T06:27:53Z</ei:createdDateTime>

</oadr:oadrReport>

<ei:venID>2b2159c0-19cd-0132-eaa3-0a5317f1edaa</ei:venID>

</oadr:oadrUpdateReport>

</oadr:oadrSignedObject>

</oadr:oadrPayload>

Page 71: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

Annex C - Services

C.1 Open ADR supports the following services:

• EiEvent Service - Used by VTNs to send demand response events to VENs, and used by VENs to indicate whether resources are going to participate in the event. The only service supported by the A profile is EiEvent

• EiReport Service - Used by VENs and VTNs to exchange historical, telemetry, and forecast reports

• EiOpt Service - Used by VEN to communicate temporary availability schedule to VTNs or to qualify the resources participating in an event

• EiRegisterParty Service - Initiated by the VEN, and used by both VEN and VTN to exhange information required to ensure interoperable exchange of payloads

• OadrPoll Service - Used by VENs to poll the VTN for payloads from any of the other services

A and B profile service operations are defined by the root element of each payload, excluding the oadrPayload and oadrSignedObject wrappers used on all B profile payloads.

Page 72: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 72 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Annex D - Payload Definitions

D.1 EiEvent Payloads

• oadrRequestEvent - Used in a pull exchange model by the VEN to retrieve all relevant events from the VTN. Used as the primary polling mechanism for A profile VENs, but only used on B VENs for syncing with the VTN.

• oadrDistributeEvent - Used by the VTN to deliver demand response events to the VEN

• oadrCreatedEvent - Used by the VEN to communicate whether it intends to participate in an event by opting in or out

• oadrResponse - Used by the VTN to acknowledge the receipt of the optIn or optOut from the VEN

D.2 EiReport Payloads

Note that both VENs and VTNs are capable of being both a report producer and a report requestor, so all the payloads below can be initiated by either party.

• oadrRegisterReport - Used to publish their reporting capabilities in a metadata report

• oadrRegisteredReport -Acknowledge the receipt of oadrRegisterReport, optionally request one of the offered reports

• oadrCreateReport - Used to request a report that has been previously offered by the VEN or VTN

• oadrCreatedReport - Acknowledge receipt of a report request

• oadrUpdateReport -Deliver a requested report containing interval data

• oadrUpdatedReport - Acknowledge receipt of a delivered report

• oadrCancelReport - Cancel a previously requested periodic report

• oadrCanceledReport - Acknowledge a periodic report cancellation

• oadrResponse - Used as a placeholder response in some pull exchange patterns when an application layer response is delivered in a transport layer request.

D.3 EiOpt Payloads

• oadrCreateOpt - Used for two distinctly different purposes

o For the VEN to communicate a temporary availability schedule to the VTN with regards to its ability to participate in DR events

o For the VEN to qualify the resources participating in an event

• oadrCreatedOpt - Acknowledge the receipt of the oadrCreateOpt payload

• oadrCancelOpt -Cancel a temporary availability schedule

• oadrCanceledOpt - Acknowledge a temporary availability report cancellation

Page 73: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 73 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

D.4 EiRegisterParty Payloads

• oadrQueryRegistration - A way for the VEN to query the VTNs registration information without actually registering.

• oadrCreatePartyRegistration - A request from the VEN to the VTN to register. Contains information about the VENs capabilities.

• oadrCreatedPartyRegistration - Response to either a oadrQueryRegistration or a oadrCreatePartyRegistration. Contains VTN capabilities and registration information necessary for the VEN to interoperate

• oadrCancelPartyRegistration - Used by either the VEN or VTN to cancel registration

• oadrCanceledPartyRegistration - Reponse to a oadrCancelPartyRegistration. Acknowledges receipt of the registration cancellation

• oadrRequestReregistration - This payload is used by a VTN in a pull exchange model to signal the VEN to reinitiate the registration sequence

• oadrResponse - Used as a placeholder response in some pull exchange patterns when an application layer response is delivered in a transport layer request.

D.5 OadrPoll Payloads

• oadrPoll - A generic poling mechanism for the B profile that returns payload for any other service that are new or have been updated.

• oadrResponse - Used to indicate that there are no new or updated payloads available

Page 74: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 74 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Annex E - Glossary of Schema Payload Elements

The following is an alphabetical list of schema elements used in OpenADR 2.0 payloads. The narrative describes their usage as it pertains to OpenADR and thier use in payloads.. When a element definition changes based on the payload it is contained in or its usage context, this will be noted in the narrative. Root payload definitions have been excluded as the are defined in Annex C.

• ac - A Boolean value indicating whether the power product is alternating current

• accuracy - Number is in same units as the payload variable for an Interval. When present with Confidence, indicates the likely variability of the prediction. When present with ReadingType, indicates likely error of Reading.

• aggregatedPnode - An aggregated pricing node is a specialized type of pricing node used to model items such as System Zone, Default Price Zone, Custom Price Zone, Control Area, Aggregated Generation, Aggregated Participating Load, Aggregated Non-Participating Load, Trading Hub, DCA Zone

• available - An object containing a date-time and duration for an EiOpt availability schedule

• baselineID - Unique ID for a specific baseline

• baselineName - Descriptive name for baseline

• components -

• confidence - A statistical probability that a reported data point is accurate

• createdDateTime - The dateTime the payload was created

• currency -

• currencyPerKW -

• currencyPerKWh -

• currencyPerThm -

• current -

• currentValue - The payloadFloat value of the event interval currently executing.

• customUnit - Used to define a custom unit of measure for custom reports

• date-time -

• dtstart - The starting time for the activity, data, or state change

• duration - A time period for an event, reporting, or availablity time interval

• duration - The duration of the activity, data, or state

• eiActivePeriod - Time frames relevant to the overall event

• eiCreatedEvent - Respond to a DR Event with optIn or optOut

• eiEvent -An object containing all the information for a single event

• eiEventBaseline - B profile

• eiEventSignal - An object containing all the information for a single signal in an event

• eiEventSignals - Interval data for one or more event signals and/or baselines

Page 75: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 75 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• eiMarketContext - A URI uniquely identifying a demand response program

• eiReportID - Reference ID for a report

• eiRequestEvent - Request Event from a VTN in pull mode

• eiResponse - Indicate whether received payload is acceptable

• eiTarget - Identifies the resources associated with the logical VEN interface. For events, the values specified are the target for the event

• endDeviceAsset - The EndDeviceAssets are the physical device or devices which could be meters or other types of devices that may be of interest

• energyApparent - Apparent Energy, measured in volt-ampere hours (VAh)

• energyItem -

• energyReactive - Reactive Energy, volt-amperes reactive hours (VARh)

• energyReal - Real Energy, Watt Hours (Wh)

• eventDescriptor - Information about the event

• eventID - An ID value that identifies a specific DR event instance.

• eventResponse - An object containing VENs response to a request to participate in an event

• eventResponses - optIn or optOut responses for received events

• eventStatus - The current status of an event (far, near, active, etc)

• FeatureCollection/location/Polygon/exterior/LinearRing

• frequency -

• granularity - This is the time interval between sampled data in a report request.

• groupID -This type of target is used for events, reports, and opt schedules. The value would typically be assigned by the utility during enrolment in a DR program

• groupName - This type of target is used for events, reports, and opt schedules. The value would typically be assigned by the utility during enrolment in a DR program

• hertz -

• interval - An object containing data-time and/or duration, and an actionable value in the case of an event or data in the case of a report

• intervals - One or more time intervals during which the DR event is active or report data is available

• itemDescription - A description of a report unit of measure

• itemUnits - The base unit of measure for a report data point

• marketContext - A URI identifying a DR Program

• meterAsset - The MeterAsset is the physical device or devices that performs the role of the meter

• modificationDateTime - When an event is modified

• modificationNumber - Incremented each time an event is modified.

• modificationReason - Why an event was modified

Page 76: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 76 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• mrid - The mRID identifies the physical device that may be a CustomerMeter or other types of EndDevices.

• node - The Node is a place where something changes (often ownership) or connects on the grid. Many nodes are associated with meters, but not all are.

• numDataSources -

• oadrCapacity -

• oadrCurrent -

• oadrDataQuality -

• oadrDeviceClass - Device Class target - use only endDeviceAsset.

• oadrEvent - An object containing a demand response event

• oadrExtension -

• oadrExtensionName -

• oadrExtensions -

• oadrHttpPullModel - A boolean indicating whether the VEN want to use a pull exchange model

• oadrInfo - A key value pair of service specific registration information

• oadrKey -

• oadrLevelOffset -

• oadrLoadControlState -

• oadrManualOverride - If true then the control of the load has been manually overridden

• oadrMax -

• oadrMaxPeriod - Maximum sampling period

• oadrMin -

• oadrMinPeriod - Minimum sampling period

• oadrNormal -

• oadrOnChange - If true then the data will be recorded when it changes, but at no greater a frequency than that specified by minPeriod.

• oadrOnline - If true then resource/asset is online, if false then offline.

• oadrPayload -

• oadrPayloadResourceStatus - Current resource status information

• oadrPendingReports - A list of periodic reports still active

• oadrPercentOffset -

• oadrProfile - Profile supported by VEN or VTN

• oadrProfileName - OpenADR profile name such as 2.0a or 2.0b.

• oadrProfiles - OpenADR profiles supported by the implementation

Page 77: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 77 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• oadrReport -An object containing all the information for a single report

• oadrReportDescription - Desciption of the report characteristics offered by the report producer. Contained in a metadata report

• oadrReportOnly - ReportOnlyDeviceFlag

• oadrReportPayload - Data point values for reports

• oadrRequestedOadrPollFreq - The VEN shall send an oadrPoll payload to the VTN at most once for each duration specified by this element

• oadrResponseRequired - Controls when optIn/optOut response is required. Can be always or never

• oadrSamplingRate - Sampling rate for telemetry type data

• oadrService -

• oadrServiceName - This type of target is used for events, reports, and opt schedules. The value would typically be assigned by the utility during enrolment in a DR program

• oadrServiceSpecificInfo - Service specific registration information

• oadrSetPoint -

• oadrSignedObject -

• oadrTransport - A transport name supported by a VEN or VTN

• oadrTransportAddress - Root address used to communicate with other party. Should include port if required

• oadrTransportName - OpenADR transport name such as simpleHttp or xmpp

• oadrTransports - OpenADR transports supported by implementation

• oadrUpdatedReport - Acknowledge receipt of a report

• oadrUpdateReport - Send a previously requested report

• oadrValue -

• oadrVenName - VEN name. May be used in VTN GUI

• oadrXmlSignature - Implementation supports XML signature

• optID - Identifier for an opt interaction

• optReason - Enumerated value for the opt reason such as x-schedule

• optType - optIn or optOut of an event, or used to indicate the type of opt schedule defined in the vavailablityObject for the EiOpt service

• partyID - This type of target is used for events, reports, and opt schedules. The value would typically be assigned by the utility during enrolment in a DR program

• payloadFloat - Data point value for event signals or for reporting current or historical values.

• pnode - A pricing node is directly associated with a connectivity node. It is a pricing location for which market participants submit their bids, offers, buy/sell CRRs, and

Page 78: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 78 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

settle.

• pointOfDelivery -

• pointOfReceipt -

• posList -

• powerApparent - Apparent Power measured in volt-amperes (VA)

• powerAttributes

• powerItem

• powerReactive - Reactive power, measured in volt-amperes reactive (VAR)

• powerReal - Real power measured in Watts (W) or Joules/second (J/s)

• priority - The priority of the event in relation to other events (The lower the number higher the priority. A value of zero (0) indicates no priority, which is the lowest priority by default).

• properties -

• pulseCount - A reporting data point

• pulseFactor - kWh per count

• qualifiedEventID - A unique ID for an event

• readingType - Metadata about the Readings, such as mean or derived

• registrationID - Identifier for Registration transaction. Not included in response to query registration unless already registered

• replyLimit - The maximum number of events to return in an oadrDistributeEvent payload

• reportBackDuration - Report back with the Report-To-Date for each passing of this Duration.

• reportDataSource - Sources for data in this report. Examples include meters or submeters. For example, if a meter is capable of providing two different types of measurements, then each measurement stream would be separately identified.

• reportInterval - This is the overall period of reporting.

• reportName - Optional name for a report.

• reportRequestID - Identifier for a particular report request

• reportSpecifier - Specify data points desired in a particular report instance

• reportSpecifierID - Identifier for a particular Metadata report specification

• reportSubject - Device Class target - use only endDeviceAsset.

• reportToFollow - Indicates if report (in the form of UpdateReport) to be returned following cancellation of Report

• reportType - The type of a report such as usage or price

• requestID - A ID used to match up a logical transaction request and response

• resourceID - This type of target is used for events, reports, and opt schedules. The

Page 79: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 79 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

value would typically be assigned by the utility during enrolment in a DR program

• response -

• responseCode - A 3 digit response code

• responseDescription - Narrative description of response status

• responses -

• rID - ReferenceID for this data point

• serviceArea - This type of target is used for events, reports, and opt schedules. The value would typically be assigned by the utility during enrolment in a DR program

• serviceDeliveryPoint - Logical point on the network where the ownership of the service changes hands. It is one of potentially many service points within a ServiceLocation, delivering service in accordance with a CustomerAgreement. Used at the place where a meter may be installed.

• serviceLocation - A customer ServiceLocation has one or more ServiceDeliveryPoint(s), which in turn relate to Meters. The location may be a point or a polygon, depending on the specific circumstances. For distribution, the ServiceLocation is typically the location of the utility customer's premise.

• signalID - unique Identifier for a specific event signal

• signalName - The name of a signal such as SIMPLE

• signalPayload - Signal values for events and baselines

• siScaleCode - A scaling factor for the base unit of measure for a report

• specifierPayload - An open

• startafter - Randomization window for start of event

• statusDateTime - Date and time this artifact references.

• temperature -

• testEvent - Anything other than false indicates a test event

• text -

• Therm -

• tolerance - An sub-object containing the randomization requirements for an event

• tolerate - An object containing the randomization requirements for an event

• transportInterface - The Transport Interface delineates the edges at either end of a transport segment.

• uid - Used as an index to identify intervals. Unique Identifier

• value -

• vavailability - A schedule reflecting device availability for participating in DR events

• venID - A unique identifier for a VEN

• voltage -

• vtnComment - Any text

Page 80: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 80 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• vtnID - A unique identifier for a VTN

• x-eiNotification - The VEN should receive the DR event payload prior to dtstart minus this duration.

• x-eiRampUp - A duration before or after the event start time during which load shed should transit.

• x-eiRecovery - A duration before or after the event end time during which load shed should transit.

Page 81: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 81 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Annex F Glossary of Enumerated Values

F.1 eventStatus

• active - The event has been initiated and is currently active.

• canceled - The event has been canceled.

• completed - The event has completed.

• far - Event pending in the far future. The exact definition of how far in the future this refers is dependent upon the market context, but typically means the next day.

• near - Event pending in the near future. The exact definition of how near in the future the pending event is active is dependent on the market context. .Starts concurrent with effective start of the event x-eiRampUp time. If x-eiRampUp is not defined for the event, this status will not be used for the event.

• none - No event pending

F.2 itemUnits

• Currency

o USD - United States Dollars

o To many to list here, refer to schema • powerReal

o J/s - Joule-second o W - Watts

• temperature o celsius - o fahrenheit -

F.3 oadrDataQuality

• No New Value - Previous Value Used -

• No Quality - No Value -

• Quality Bad - Comm Failure -

• Quality Bad - Configuration Error -

• Quality Bad - Device Failure -

• Quality Bad - Last Known Value -

• Quality Bad - Non Specific -

• Quality Bad - Not Connected -

• Quality Bad - Out of Service -

• Quality Bad - Sensor Failure -

• Quality Good - Local Override -

• Quality Good - Non Specific -

• Quality Limit - Field/Constant -

• Quality Limit - Field/High -

• Quality Limit - Field/Low -

• Quality Limit - Field/Not -

• Quality Uncertain - EU Units Exceeded -

• Quality Uncertain - Last Usable Value -

• Quality Uncertain - Non Specific -

Page 82: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 82 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• Quality Uncertain - Sensor Not Accurate -

• Quality Uncertain - Sub Normal -

F.4 oadrResponseRequired

• always - Always send a response for every event received.

• never - Never respond.

F.5 optReason

Enumerated reasons for opting.

• economic -

• emergency -

• mustRun -

• notParticipating -

• outageRunStatus -

• overrideStatus -

• participating -

• x-schedule -

F.6 oadrTransportName

• simpleHttp -

• xmpp -

F.7 OptType

• optIn - An indication that the VEN will participate in an event, or in the case of the EiOpt service a type of schedule indicating that resource will be available

• optOut - An indication that the VEN will not participate in an event, or in the case of the EiOpt service a type of schedule indicating that resource will be not available

F.8 readingType

• Allocated - Meter covers several [resources] and usage is inferred through some sort of pro data computation.

• Contract - Indicates reading is pro forma, i.e., is reported at agreed upon rates

• Derived - Usage is inferred through knowledge of run-time, normal operation, etc.

• Direct Read - Reading is read from a device that increases monotonically, and usage must be computed from pairs of start and stop readings.

• Estimated - Used when a reading is absent in a series in which most readings are present.

• Hybrid - If aggregated, refers to different reading types in the aggregate number.

• Mean - Reading is the mean value over the period indicated in Granularity

• Net - Meter or [resource] prepares its own calculation of total use over time.

• Peak - Reading is Peak (highest) value over the period indicated in granularity. For some measurements, it may make more sense as the lowest value. May not be consistent with aggregate readings. Only valid for flow-rate Item Bases, i.e., Power not Energy.

Page 83: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 83 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• Projected - Indicates reading is in the future, and has not yet been measured.

• Summed - Several meters together provide the reading for this [resource]. This is specifically a different than aggregated, which refers to multiple [resources] in the same payload. See also Hybrid.

• x-notApplicable - Not Applicable

• x-RMS - Root Mean Square

F.9 reportName

• HISTORY_GREENBUTTON - A report containing greenbutton data in an atom feed schema structure

• HISTORY_USAGE - A report containing histrorical energy usage data

• METADATA_HISTORY_GREENBUTTON - A metadata report defining the reporting capabilities for HISTORY_GREENBUTTON reports

• METADATA_HISTORY_USAGE - A metadata report defining the reporting capabilities for HISTORY_USAGE reports

• METADATA_TELEMETRY_STATUS - A metadata report defining the reporting capabilities for TELEMETRY_STATUS reports

• METADATA_TELEMETRY_USAGE - A metadata report defining the reporting capabilities for TELEMETRY_USAGE reports

• TELEMETRY_STATUS - A report containing real time resource status information such as online state

• TELEMETRY_USAGE - A report containing real time energy usage information

F.10 reportType

An enumerated value that gives the type of report being provided.

• availableEnergyStorage - Capacity available for further energy storage, perhaps to get to Target Energy Storage

• avgDemand - Average usage over the duration indicated by the Granularity. See demand for more information.

• avgUsage - Average usage over the duration indicated by the Granularity. See usage for more information.

• baseline - Can be demand or usage, as indicated by ItemBase. Indicates what [measurement] would be if not for the event or regulation. Report is of the format Baseline.

• deltaDemand - Change in demand as compared to the baseline. See demand for more information

• deltaSetPoint - Changes in setpoint from previous schedule.

• deltaUsage - Change in usage as compared to the baseline. See usage for more information

• demand - Report indicates an amount of units (denominated in ItemBase or in the EMIX Product). Payload type is Quantity. A typical ItemBase is Real Power.

• deviation - Difference between some instruction and actual state.

• downRegulationCapacityAvailable - Down Regulation capacity available for dispatch, expressed in EMIX Real Power. Payload is always expressed as positive Quantity.

• level - Simple level from market at each Interval.

Page 84: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 84 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• operatingState - Generalized state of a resource such as on/off, occupancy of building, etc. No ItemBase is relevant. Requires an Application Specific Payload Extension.

• percentDemand - Percentage of demand

• percentUsage - Percentage of usage

• powerFactor - Power factor for the resource

• price - Price per ItemBase at each Interval

• reading - Report indicates a reading, as from a meter. Readings are moments in time-changes over time can be computed from the difference between successive readings. Payload type is float

• regulationSetpoint - Regulation setpoint as instructed as part of regulation services

• setPoint - Report indicates the amount (denominated in ItemBase or in the EMIX Product) currently set. May be a confirmation/return of the setpoint control value sent from the VTN. Payload type is Quantity. A typical ItemBase is Real Power.

• storedEnergy - Stored Energy is expressed as Real Energy and Payload is expressed as a Quantity.

• targetEnergyStorage - Target Energy is expressed as Real Energy and Payload is expressed as a Quantity.

• upRegulationCapacityAvailable - Up Regulation capacity available for dispatch, expressed in EMIX Real Power. Payload is always expressed as positive Quantity.

• usage - Report indicates an amount of units (denominated in ItemBase or in the EMIX Product) over a period. Payload type is Quantity. A typical ItemBase is RealEnergy

• x-resourceStatus - Percentage of demand

F.11 scaleCode

• p - Pico 10**-12

• n - Nano 10**-9

• micro - Micro 10**-6

• m - Milli 10**-3

• c - Centi 10**-2

• d - Deci 10**-1

• k - Kilo 10**3

• M - Mega 10**6

• G - Giga 10**9

• T - Tera 10**12

• none - Native Scale

F.12 signalName

• BID_ENERGY - This is the amount of energy from a resource that was bid into a program

• BID_LOAD - This is the amount of load that was bid by a resource into a program

• BID_PRICE - This is the price that was bid by the resource

• CHARGE_STATE - State of energy storage resource

• DEMAND_CHARGE - This is the demand charge

• ELECTRICITY_PRICE - This is the cost of electricity

Page 85: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 85 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

• ENERGY_PRICE - This is the cost of energy

• LOAD_CONTROL -Set load output to relative values

• LOAD_DISPATCH - This is used to dispatch load

• simple - depreciated - for backwards compatibility with A profile

• SIMPLE - Simple levels (OpenADR 2.0a compliant)

F.13 signalType

An enumerated value describing the type of signal such as level or price

• delta - Signal indicates the amount to change from what one would have used without the signal.

• level - Signal indicates a program level.

• multiplier - Signal indicates a multiplier applied to the current rate of delivery or usage from what one would have used without the signal.

• price - Signal indicates the price.

• priceMultiplier - Signal indicates the price multiplier. Extended price is the computed price value multiplied by the number of units.

• priceRelative - Signal indicates the relative price.

• setpoint - Signal indicates a target amount of units.

• x-loadControlCapacity - This is an instruction for the load controller to operate at a level that is some percentage of its maximum load consumption capacity. This can be mapped to specific load controllers to do things like duty cycling. Note that 1.0 refers to 100% consumption. In the case of simple ON/OFF type devices then 0 = OFF and 1 = ON.

• x-loadControlLevelOffset - Discrete integer levels that are relative to normal operations where 0 is normal operations.

• x-loadControlPercentOffset - Percentage change from normal load control operations.

• x-loadControlSetpoint - Load controller set points.

Page 86: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 86 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Annex G - OpenADR A and B Profile Differences

The only service supported by the A profile is the EiEvent service. The EiEvent object is simplified in the A profile with the following constraints:

• Only one signal per event is allowed and that signal must be the OpenADR well-known signal SIMPLE.

• There is a limited event targeting with only venID, groupID, resourceID, and partyID supported.(eiEvent:eiTarget).

• Targeting at the signal level with device classes is not supported (eiEventSignal:eiTarget:endDeviceAsset).

• Baselines are not supported (eiEvent:eiEventSignals:eiEventBaseline).

• modificationDateTime and modificationReason are not supported.

• The endpoint URL for simple HTTP in 2.0b is:

o https://<hostname>(:port)/(prefix/)OpenADR2/Simple/2.0b/<service>

Some payload elements that were required in the A profile are now optional in the B profile, including:

• currentValue

Page 87: OpenADR 2.0 Demand Response Program …...Annex B - Example Reports From Utility Pilots

OpenADR 2.0 DR Program Guide - 87 -

Copyright © OpenADR Alliance (2014/15/16). All rights Reserved.

Annex H - OpenADR Security Certificates

The OpenADR conformance rules require the following:

• TLS Version 1.2 is used for the exchange of X.509 certificates

• VTN's must have both SHA256 ECC and RSA certificates

• VENs may support either SHA256 ECC and RSA certificates, and may support both

• Both VTNs and VENs must be configured to request client certificates if they are going

to play the role of a transport server (i.e. responding to requests from the other party)

• Both VTNs and VENs must provide a client certificate when requested by the other

party as part of the TLS negotiation process

Certificates provided by NetworkFX will be will be specific to RSA or ECC. The creation of these certificates may occur as the results of filling out forms on the NetworkFX web site to request test certificates or may be the result of requesting production certificates via a Certificate Signing Request (CSR). Regardless of the method, the following files will be provided (examples are shown):

• Root Certificate

• Intermediate Root Certificate

• Device Certificate

• Private Key

In general, the Private Key is used to encrypt payloads sent by a VEN or VTN. The Device Certificate is a set of unique identifying information about a VEN or VTN that has been created by a Certificate Authority and encrypted using the Private Key. The Root and Intermediate files are used to decrypt the Device Certificate and validate that the certificate came from a trusted authority. In a Java environment that utilizes JSSE, there are two certificate stores. One is called a Trust Store and is used to hold the Root Certificate. The second is called a Key Store and is used to store a certificate chain consisting of the device certificate intermediate certificate, as well as the private key Please note that when using an XMPP transport the VEN is communicating with the XMPP server and NOT directly with the VTN. So the configuration of certificates in the XMPP server MUST be equivalent to that of a VTN . The communication between the VTN itself and the XMPP server is transparent to the VEN and is essentially a private link. Nevertheless, most vendors used a set of VEN certs in the VTN when communicating with the XMPP server. If you are using OpenFire as your XMPP server, there is another constraint that you must consider. OpenFire requires that the CN name used in the client device certificates match the devices XMPP username configured on the XMPP server. This can result in some odd client names as a MAC like address is used for the CN name on the VEN certificates (Part of the OpenADR Security Requirements) Finally, most VENs and VTNs when playing the role of a transport client will attempt to validate that the CN field of the certificate provided by the transport server has a CN name that matches the host name of the entity that provided the certificate. This may be another source of interoperability problems when exchanging certificates. Host Name Verification can typically be disabled programmatically to isolate these kinds of issues.