Usage Reports – Telemetry

by | Jul 16, 2021 | Open ADR 2.0b-Group

The items specified for reporting in the configuration will be offered to the VTN if the VTN registers the report.

Both report types may have one or many variables. Each variable has its own sampling characteristics. GRIDlink proposes the report contents and send frequency, but ultimately sends reports as specified by the VTN. The only exception to this is where server_post_max forces more frequent posts to the VTN.

Should a report have a minimum sample period of 4 seconds and a maximum sample period of 1 minute. If the value does not change, the item will be sent every 60 seconds regardless of other recorded items. The value is sampled once every 4 seconds and will be sent immediately if it changes.

The report configuration file is called usage_report.config, and is in CSV format and consists of the following configurations:

id, name, item_type, reading_type, iotype, register, raw_min, raw_max, eng_min, eng_max, scalecode, min_period, max_period, onchange, hz, voltage, ac

 

id – Unique integer ID of the measurement

name – Description of the measurement

item_type – One of voltage, energyApparent, energyReactive, energyReal, powerApparent, powerReactive, powerReal. See Item Types, below.

reading_type – One of Direct Read, Net, Allocated, Estimated, Summed, Derived, Mean, Peak, Hybrid, Contract, Projected, x-RMS, x-notApplicable. See Reading Types, below.

iotype – I/O type to read. See I/O Types, below.

register – Register number to read.

raw_min – Scaling parameters for the specified register value.
raw_max – Scaling parameters for the specified register value.
eng_min – Scaling parameters for the specified register value.
eng_max – Scaling parameters for the specified register value.

scalecode – Magnitude of the measurement. See Scale Codes, below.

min_period
max_period
onchange – Set to 0 or 1. If 0, record every min_period. If 1, scan at min_period, record on change, record at least every max_period.

hz – integer indicating AC frequency, usually 50 or 60 (optional)
voltage – integer, such as 120, 240, 480 (optional)
ac – 1 or 0, indicates values are in AC (optional)

Item Type

Name Description
voltage Voltage
energyApparent Apparent Energy, measured in volt-ampere hours (VAh)
energyReactive Reactive Energy, volt-amperes reactive hours (VARh)
energyReal Real Energy, Watt Hours (Wh)
powerApparent Apparent Power measured in volt-amperes (VA)
powerReactive Reactive power, measured in volt-amperes reactive (VAR)
powerReal Power measured in Watts (W) or Joules/second (J/s)
x-frequency Frequency measured in Hertz (Hz)

Reading Type

Direct Read Direct Read Reading is read from a device that increases monotonically, and usage must be computed from pairs of start and stop readings.
Net Net Meter or [resource] prepares its own calculation of total use over time.
Allocated Allocated Meter covers several [resources] and usage is inferred through some sort of pro data computation.
Summed 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.
Derived Derived   Usage is inferred through knowledge of run-time, normal operation, etc.
Mean Mean Reading is the mean value over the period indicated in Granularity
Peak Peak Reading is Peak (highest) value over the period indicated in granularity.
Hybrid Hybrid If aggregated, refers to different reading types in the aggregate number.
Contract Contract  Indicates reading is pro forma, i.e., is reported at agreed upon rates
Projected Projected Indicates reading is in the future, and has not yet been measured
x-RMS x-RMS Root Mean Square
x-notApplicable x-notApplicable Not Applicable

IO Type

0 AI Analog Input (signed 16 bits)
1 AO Analog Output (signed 16 bits)
10 DI Discrete Input
11 DO Discrete Output
20 LI Long Input (signed 32 bits)
21 LO Long Output (signed 32 bits)
22 FI  Float Input (32 bits)
23 FO  Float Output (32 bits)

Min & Max

32767 32767 Signed 16 bits Types AI/AO
65534 65534 32 bits I/O Types FI/FO/LI/LO

Scale Codes

p Pico Pico 10^-12
n Nano Nano 10^-9
micro Micro Micro 10^-6
m Milli Milli 10^-3
c Centi Centi 10^-2
d Deci Deci 10^-1
k Kilo Kilo 10^3
M Mega Mega 10^6
G Giga Giga 10^9
T Tera Tera 10^12
none none Native Scale

The following Example Configuration file will produce the oadrRegisterReport payload below:

datapoint_version: 1
1, Meter1, PowerReal, Direct Read, 20,100,0,65534,0,65534, k, 30, 60, 0, 60, 480, 1

 

<?xml version=”1.0″ encoding=”UTF-8″?>
<oadr:oadrPayload
xmlns:ei=”http://docs.oasis-open.org/ns/energyinterop/201110″
xmlns:emix=”http://docs.oasis-open.org/ns/emix/2011/06″
xmlns:oadr=”http://openadr.org/oadr-2.0b/2012/07″
xmlns:power=”http://docs.oasis-open.org/ns/emix/2011/06/power”
xmlns:pyld=”http://docs.oasis-open.org/ns/energyinterop/201110/payloads”
xmlns:scale=”http://docs.oasis-open.org/ns/emix/2011/06/siscale”
xmlns:xcal=”urn:ietf:params:xml:ns:icalendar-2.0″>
<oadr:oadrSignedObject>
<oadr:oadrRegisterReport ei:schemaVersion=”2.0b”>
<pyld:requestID>12345678910-1521475206</pyld:requestID>
<oadr:oadrReport>
<xcal:duration>
<xcal:duration>PT5M</xcal:duration>
</xcal:duration>
<oadr:oadrReportDescription>
<ei:rID>1</ei:rID>
<ei:reportDataSource><ei:resourceID>Meter1</ei:resourceID></ei:reportDataSource>
<ei:reportType>usage</ei:reportType>
<power:energyReal>
<power:itemDescription>PowerReal</power:itemDescription>
<power:itemUnits>Wh</power:itemUnits>
<scale:siScaleCode>k</scale:siScaleCode>
</power:energyReal>
<ei:readingType>Direct Read</ei:readingType>
<emix:marketContext>(null)</emix:marketContext>
<oadr:oadrSamplingRate>
<oadr:oadrMinPeriod>PT30S</oadr:oadrMinPeriod>
<oadr:oadrMaxPeriod>PT1M</oadr:oadrMaxPeriod>
<oadr:oadrOnChange>false</oadr:oadrOnChange>
</oadr:oadrSamplingRate>
</oadr:oadrReportDescription>
<ei:reportRequestID>0</ei:reportRequestID>
<ei:reportSpecifierID>TELEMETRY_USAGE_1521475206</ei:reportSpecifierID>
<ei:reportName>METADATA_TELEMETRY_USAGE</ei:reportName>
<ei:createdDateTime>2018-03-19T16:00:06Z</ei:createdDateTime>
</oadr:oadrReport>
<oadr:oadrReport>
<xcal:duration>
<xcal:duration>PT1M</xcal:duration>
</xcal:duration>
<oadr:oadrReportDescription>
<ei:rID>999</ei:rID>
<ei:reportDataSource>
<ei:venID>12345678910</ei:venID>
</ei:reportDataSource>
<ei:reportType>x-resourceStatus</ei:reportType>
<ei:readingType>x-notApplicable</ei:readingType>
<emix:marketContext>(null)</emix:marketContext>
<oadr:oadrSamplingRate>
<oadr:oadrMinPeriod>PT1M</oadr:oadrMinPeriod>
<oadr:oadrMaxPeriod>PT1M</oadr:oadrMaxPeriod>
<oadr:oadrOnChange>false</oadr:oadrOnChange>
</oadr:oadrSamplingRate>
</oadr:oadrReportDescription>
<ei:reportRequestID>0</ei:reportRequestID>
<ei:reportSpecifierID>TELEMETRY_STATUS_1521475206</ei:reportSpecifierID>
<ei:reportName>METADATA_TELEMETRY_STATUS</ei:reportName>
<ei:createdDateTime>2018-03-19T16:00:06Z</ei:createdDateTime>
</oadr:oadrReport>
<ei:venID>12345678910</ei:venID>
</oadr:oadrRegisterReport>
</oadr:oadrSignedObject>
</oadr:oadrPayload>