Usage Reports – Telemetry
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>