Skip to content

Requesting Reports


The basic reporting data exchange flow in OpenADR is as follows:

  1. VEN registers reports to the VEN, i.e. here is what data I have available
  2. VTN requests reports from the VEN, i.e. send me these data points at this cadence. The request can only be for report data that was registered to the VTN in step one. In other words, the VTN cannot request data that the VEN has not explicitly claimed to have.
  3. VEN sends reports to the VTN, as requested, i.e. here is the data you requested. This may be one-time or periodically, depending on the parameters of the report request.

Most typically, a report request will be perpetual, e.g. send me this data point every X minutes, forever. The model that Canvas uses to facilitate this type of report request is a Report Request Configuration. A report request configuration tells Canvas to look for a certain report to be registered by a VEN, and when it sees that report automatically send a certain report request.

Create a report request

To create a report request, go to the Report Request Configurations section and click on "New Report Request Configuration" (admin access is required).

1: Add a name

This is for internal reference and not sent to the VEN.

2: Add report matching parameters

This section tells Canvas what to look for in the registered reports in the VEN. These parameters are purely for matching purposes - the report request will only be sent to VENs that register a report which matches these parameters.

Report name and specifier ID are regular expressions matchers, which can simply match a value exactly or use a number of operators to create matching rules. Min and max sampling period are ISO 8601 duration strings that always start with PT, and then some combination of hours, minutes and seconds. For example, PT1M is a valid string matching 1 minute, PT1H30M matches 90 minutes. If a field is left blank, it will always match.

The following example will match reports that have the exact report name METADATA_TELEMETRY_USAGE, any report specifier ID, and a min sampling period of 1 minute and max of 1 hour.

Report matching params

3: Define report request settings

Finally, define the settings that you want the report request have. This includes:

  • Report back duration: The frequency at which you want data sent
  • Granularity: the granularity of the data you want sent

For example, if report back duration and granularity are both one minute, one data point will be sent every minute. If report back duration is 5 minutes and granularity is one minute, five data points will be sent every five minutes, as in the example below.

Report Request Settings

If you only want to request certain rIDs within the report, you may do so by editing the report request after it has been created.