oadr_20b.xsd 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!-- edited with XMLSpy v2010 rel. 3 (x64) (http://www.altova.com) by James Zuber (private) -->
  3. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dsig11="http://www.w3.org/2009/xmldsig11#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:oadr="http://openadr.org/oadr-2.0b/2012/07" xmlns:clm5ISO42173A="urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07" xmlns:pyld="http://docs.oasis-open.org/ns/energyinterop/201110/payloads" xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110" xmlns:scale="http://docs.oasis-open.org/ns/emix/2011/06/siscale" xmlns:emix="http://docs.oasis-open.org/ns/emix/2011/06" xmlns:strm="urn:ietf:params:xml:ns:icalendar-2.0:stream" xmlns:xcal="urn:ietf:params:xml:ns:icalendar-2.0" xmlns:power="http://docs.oasis-open.org/ns/emix/2011/06/power" xmlns:gb="http://naesb.org/espi" xmlns:atom="http://www.w3.org/2005/Atom" targetNamespace="http://openadr.org/oadr-2.0b/2012/07" elementFormDefault="qualified" attributeFormDefault="qualified">
  4. <xs:import namespace="urn:ietf:params:xml:ns:icalendar-2.0:stream" schemaLocation="oadr_strm_20b.xsd"/>
  5. <xs:import namespace="http://docs.oasis-open.org/ns/energyinterop/201110" schemaLocation="oadr_ei_20b.xsd"/>
  6. <xs:import namespace="http://docs.oasis-open.org/ns/energyinterop/201110/payloads" schemaLocation="oadr_pyld_20b.xsd"/>
  7. <xs:import namespace="http://docs.oasis-open.org/ns/emix/2011/06" schemaLocation="oadr_emix_20b.xsd"/>
  8. <xs:import namespace="http://docs.oasis-open.org/ns/emix/2011/06/siscale" schemaLocation="oadr_siscale_20b.xsd"/>
  9. <xs:import namespace="urn:ietf:params:xml:ns:icalendar-2.0" schemaLocation="oadr_xcal_20b.xsd"/>
  10. <xs:import namespace="urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07" schemaLocation="oadr_ISO_ISO3AlphaCurrencyCode_20100407.xsd"/>
  11. <xs:import namespace="http://naesb.org/espi" schemaLocation="oadr_greenbutton.xsd"/>
  12. <xs:import namespace="http://www.w3.org/2005/Atom" schemaLocation="oadr_atom.xsd"/>
  13. <xs:import namespace="http://www.w3.org/2009/xmldsig11#" schemaLocation="oadr_xmldsig11.xsd"/>
  14. <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="oadr_xmldsig.xsd"/>
  15. <!-- ******* oadrPayload ******** -->
  16. <!-- Root element for all payloads -->
  17. <xs:element name="oadrPayload">
  18. <xs:complexType>
  19. <xs:sequence>
  20. <xs:element ref="ds:Signature" minOccurs="0"/>
  21. <xs:element ref="oadr:oadrSignedObject"/>
  22. </xs:sequence>
  23. </xs:complexType>
  24. </xs:element>
  25. <!-- ******* oadrSignedObject ******** -->
  26. <!-- The URI attribute of the XML signature Reference element should point to this object (#oadr:oadrSignedObject) -->
  27. <xs:element name="oadrSignedObject">
  28. <xs:complexType>
  29. <xs:choice>
  30. <xs:element ref="oadr:oadrDistributeEvent"/>
  31. <xs:element ref="oadr:oadrCreatedEvent"/>
  32. <xs:element ref="oadr:oadrRequestEvent"/>
  33. <xs:element ref="oadr:oadrResponse"/>
  34. <xs:element ref="oadr:oadrCancelOpt"/>
  35. <xs:element ref="oadr:oadrCanceledOpt"/>
  36. <xs:element ref="oadr:oadrCreateOpt"/>
  37. <xs:element ref="oadr:oadrCreatedOpt"/>
  38. <xs:element ref="oadr:oadrCancelReport"/>
  39. <xs:element ref="oadr:oadrCanceledReport"/>
  40. <xs:element ref="oadr:oadrCreateReport"/>
  41. <xs:element ref="oadr:oadrCreatedReport"/>
  42. <xs:element ref="oadr:oadrRegisterReport"/>
  43. <xs:element ref="oadr:oadrRegisteredReport"/>
  44. <xs:element ref="oadr:oadrUpdateReport"/>
  45. <xs:element ref="oadr:oadrUpdatedReport"/>
  46. <xs:element ref="oadr:oadrCancelPartyRegistration"/>
  47. <xs:element ref="oadr:oadrCanceledPartyRegistration"/>
  48. <xs:element ref="oadr:oadrCreatePartyRegistration"/>
  49. <xs:element ref="oadr:oadrCreatedPartyRegistration"/>
  50. <xs:element ref="oadr:oadrRequestReregistration"/>
  51. <xs:element ref="oadr:oadrQueryRegistration"/>
  52. <xs:element ref="oadr:oadrPoll"/>
  53. </xs:choice>
  54. <xs:attribute name="Id" type="xs:ID" use="optional"/>
  55. </xs:complexType>
  56. </xs:element>
  57. <!-- ##### EVENT PAYLOADS ##### -->
  58. <!-- ******* oadrDistributeEvent ******** -->
  59. <xs:element name="oadrDistributeEvent" type="oadr:oadrDistributeEventType">
  60. <xs:annotation>
  61. <xs:documentation>Send DR Events to a VEN</xs:documentation>
  62. </xs:annotation>
  63. </xs:element>
  64. <xs:complexType name="oadrDistributeEventType">
  65. <xs:sequence>
  66. <xs:element ref="ei:eiResponse" minOccurs="0"/>
  67. <xs:element ref="pyld:requestID"/>
  68. <xs:element ref="ei:vtnID"/>
  69. <xs:element name="oadrEvent" minOccurs="0" maxOccurs="unbounded">
  70. <xs:annotation>
  71. <xs:documentation>An object containing a demand response event</xs:documentation>
  72. </xs:annotation>
  73. <xs:complexType>
  74. <xs:sequence>
  75. <xs:element ref="ei:eiEvent"/>
  76. <xs:element ref="oadr:oadrResponseRequired"/>
  77. </xs:sequence>
  78. </xs:complexType>
  79. </xs:element>
  80. </xs:sequence>
  81. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  82. </xs:complexType>
  83. <!-- ******* oadrCreatedEvent ******** -->
  84. <xs:element name="oadrCreatedEvent" type="oadr:oadrCreatedEventType"/>
  85. <xs:complexType name="oadrCreatedEventType">
  86. <xs:sequence>
  87. <xs:element ref="pyld:eiCreatedEvent"/>
  88. </xs:sequence>
  89. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  90. </xs:complexType>
  91. <!-- ******* oadrRequestEvent ******** -->
  92. <xs:element name="oadrRequestEvent" type="oadr:oadrRequestEventType"/>
  93. <xs:complexType name="oadrRequestEventType">
  94. <xs:sequence>
  95. <xs:element ref="pyld:eiRequestEvent"/>
  96. </xs:sequence>
  97. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  98. </xs:complexType>
  99. <!-- ******* oadrResponse ******** -->
  100. <xs:element name="oadrResponse" type="oadr:oadrResponseType"/>
  101. <xs:complexType name="oadrResponseType">
  102. <xs:sequence>
  103. <xs:element ref="ei:eiResponse"/>
  104. <xs:element ref="ei:venID" minOccurs="0"/>
  105. </xs:sequence>
  106. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  107. </xs:complexType>
  108. <!-- ##### OPT PAYLOADS ##### -->
  109. <!-- ****** oadrCancelOpt ******** -->
  110. <xs:element name="oadrCancelOpt" type="oadr:oadrCancelOptType">
  111. <xs:annotation>
  112. <xs:documentation>Cancel an opt schedule</xs:documentation>
  113. </xs:annotation>
  114. </xs:element>
  115. <xs:complexType name="oadrCancelOptType">
  116. <xs:sequence>
  117. <xs:element ref="pyld:requestID"/>
  118. <xs:element ref="ei:optID"/>
  119. <xs:element ref="ei:venID"/>
  120. </xs:sequence>
  121. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  122. </xs:complexType>
  123. <!-- ****** oadrCanceledOpt ******** -->
  124. <xs:element name="oadrCanceledOpt" type="oadr:oadrCanceledOptType">
  125. <xs:annotation>
  126. <xs:documentation>Acknowledge cancelation of an opt schedule</xs:documentation>
  127. </xs:annotation>
  128. </xs:element>
  129. <xs:complexType name="oadrCanceledOptType">
  130. <xs:sequence>
  131. <xs:element ref="ei:eiResponse"/>
  132. <xs:element ref="ei:optID" minOccurs="0"/>
  133. </xs:sequence>
  134. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  135. </xs:complexType>
  136. <!-- ****** oadrCreateOpt ******** -->
  137. <xs:element name="oadrCreateOpt" type="oadr:oadrCreateOptType">
  138. <xs:annotation>
  139. <xs:documentation>Create an optIn or optOut schedule</xs:documentation>
  140. </xs:annotation>
  141. </xs:element>
  142. <xs:complexType name="oadrCreateOptType">
  143. <xs:complexContent>
  144. <xs:extension base="ei:EiOptType">
  145. <xs:sequence>
  146. <xs:element ref="pyld:requestID"/>
  147. <xs:element ref="ei:qualifiedEventID" minOccurs="0"/>
  148. <xs:element ref="ei:eiTarget"/>
  149. <xs:element ref="oadr:oadrDeviceClass" minOccurs="0"/>
  150. </xs:sequence>
  151. </xs:extension>
  152. </xs:complexContent>
  153. </xs:complexType>
  154. <!-- ****** oadrCreatedOpt ******** -->
  155. <xs:element name="oadrCreatedOpt" type="oadr:oadrCreatedOptType">
  156. <xs:annotation>
  157. <xs:documentation>Acknowledge receipt of an opt schedule</xs:documentation>
  158. </xs:annotation>
  159. </xs:element>
  160. <xs:complexType name="oadrCreatedOptType">
  161. <xs:sequence>
  162. <xs:element ref="ei:eiResponse"/>
  163. <xs:element ref="ei:optID"/>
  164. </xs:sequence>
  165. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  166. </xs:complexType>
  167. <!-- ##### REPORT PAYLOADS ##### -->
  168. <!-- ****** oadrCancelReport ******** -->
  169. <xs:element name="oadrCancelReport" type="oadr:oadrCancelReportType">
  170. <xs:annotation>
  171. <xs:documentation>Cancel a report</xs:documentation>
  172. </xs:annotation>
  173. </xs:element>
  174. <xs:complexType name="oadrCancelReportType">
  175. <xs:sequence>
  176. <xs:element ref="pyld:requestID"/>
  177. <xs:element ref="ei:reportRequestID" maxOccurs="unbounded"/>
  178. <xs:element ref="pyld:reportToFollow"/>
  179. <xs:element ref="ei:venID" minOccurs="0"/>
  180. </xs:sequence>
  181. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  182. </xs:complexType>
  183. <!-- ****** oadrCanceledReport ******** -->
  184. <xs:element name="oadrCanceledReport" type="oadr:oadrCanceledReportType"/>
  185. <xs:complexType name="oadrCanceledReportType">
  186. <xs:sequence>
  187. <xs:element ref="ei:eiResponse"/>
  188. <xs:element ref="oadr:oadrPendingReports"/>
  189. <xs:element ref="ei:venID" minOccurs="0"/>
  190. </xs:sequence>
  191. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  192. </xs:complexType>
  193. <!-- ****** oadrCreateReport ******** -->
  194. <xs:element name="oadrCreateReport" type="oadr:oadrCreateReportType">
  195. <xs:annotation>
  196. <xs:documentation>Request report from other party</xs:documentation>
  197. </xs:annotation>
  198. </xs:element>
  199. <xs:complexType name="oadrCreateReportType">
  200. <xs:sequence>
  201. <xs:element ref="pyld:requestID"/>
  202. <xs:element ref="oadr:oadrReportRequest" maxOccurs="unbounded">
  203. <xs:annotation>
  204. <xs:documentation>Request report</xs:documentation>
  205. </xs:annotation>
  206. </xs:element>
  207. <xs:element ref="ei:venID" minOccurs="0"/>
  208. </xs:sequence>
  209. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  210. </xs:complexType>
  211. <!-- ****** oadrCreatedReport ******** -->
  212. <xs:element name="oadrCreatedReport" type="oadr:oadrCreatedReportType">
  213. <xs:annotation>
  214. <xs:documentation>Acknowledge the request for report was received</xs:documentation>
  215. </xs:annotation>
  216. </xs:element>
  217. <xs:complexType name="oadrCreatedReportType">
  218. <xs:sequence>
  219. <xs:element ref="ei:eiResponse"/>
  220. <xs:element ref="oadr:oadrPendingReports">
  221. <xs:annotation>
  222. <xs:documentation>List of periodic reports that have not yet been delivered</xs:documentation>
  223. </xs:annotation>
  224. </xs:element>
  225. <xs:element ref="ei:venID" minOccurs="0"/>
  226. </xs:sequence>
  227. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  228. </xs:complexType>
  229. <!-- ****** oadrRegisterReport ******** -->
  230. <xs:element name="oadrRegisterReport" type="oadr:oadrRegisterReportType">
  231. <xs:annotation>
  232. <xs:documentation>Register Metadata report settings with other party</xs:documentation>
  233. </xs:annotation>
  234. </xs:element>
  235. <xs:complexType name="oadrRegisterReportType">
  236. <xs:sequence>
  237. <xs:element ref="pyld:requestID"/>
  238. <xs:element ref="oadr:oadrReport" minOccurs="0" maxOccurs="unbounded"/>
  239. <xs:element ref="ei:venID" minOccurs="0"/>
  240. <xs:element ref="ei:reportRequestID" minOccurs="0"/>
  241. </xs:sequence>
  242. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  243. </xs:complexType>
  244. <!-- ****** oadrRegisteredReport ******** -->
  245. <xs:element name="oadrRegisteredReport" type="oadr:oadrRegisteredReportType">
  246. <xs:annotation>
  247. <xs:documentation>Acknowledge registration of Metadata report by other party</xs:documentation>
  248. </xs:annotation>
  249. </xs:element>
  250. <xs:complexType name="oadrRegisteredReportType">
  251. <xs:sequence>
  252. <xs:element ref="ei:eiResponse"/>
  253. <xs:element ref="oadr:oadrReportRequest" minOccurs="0" maxOccurs="unbounded"/>
  254. <xs:element ref="ei:venID" minOccurs="0"/>
  255. </xs:sequence>
  256. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  257. </xs:complexType>
  258. <!-- ****** oadrUpdateReport ******** -->
  259. <xs:element name="oadrUpdateReport" type="oadr:oadrUpdateReportType">
  260. <xs:annotation>
  261. <xs:documentation>Send a previously requested report</xs:documentation>
  262. </xs:annotation>
  263. </xs:element>
  264. <xs:complexType name="oadrUpdateReportType">
  265. <xs:sequence>
  266. <xs:element ref="pyld:requestID"/>
  267. <xs:element ref="oadr:oadrReport" minOccurs="0" maxOccurs="unbounded"/>
  268. <xs:element ref="ei:venID" minOccurs="0"/>
  269. </xs:sequence>
  270. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  271. </xs:complexType>
  272. <!-- ****** oadrUpdatedReport ******** -->
  273. <xs:element name="oadrUpdatedReport" type="oadr:oadrUpdatedReportType">
  274. <xs:annotation>
  275. <xs:documentation>Acknowledge receipt of a report</xs:documentation>
  276. </xs:annotation>
  277. </xs:element>
  278. <xs:complexType name="oadrUpdatedReportType">
  279. <xs:sequence>
  280. <xs:element ref="ei:eiResponse"/>
  281. <xs:element ref="oadr:oadrCancelReport" minOccurs="0"/>
  282. <xs:element ref="ei:venID" minOccurs="0"/>
  283. </xs:sequence>
  284. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  285. </xs:complexType>
  286. <!-- ##### REGESTRATION PAYLOADS ##### -->
  287. <!-- ******* oadrCancelPartyRegistration ******** -->
  288. <xs:element name="oadrCancelPartyRegistration" type="oadr:oadrCancelPartyRegistrationType">
  289. <xs:annotation>
  290. <xs:documentation>Cancel a registration</xs:documentation>
  291. </xs:annotation>
  292. </xs:element>
  293. <xs:complexType name="oadrCancelPartyRegistrationType">
  294. <xs:sequence>
  295. <xs:element ref="pyld:requestID"/>
  296. <xs:element ref="ei:registrationID"/>
  297. <xs:element ref="ei:venID" minOccurs="0"/>
  298. </xs:sequence>
  299. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  300. </xs:complexType>
  301. <!-- ******* oadrCanceledPartyRegistration ******** -->
  302. <xs:element name="oadrCanceledPartyRegistration" type="oadr:oadrCanceledPartyRegistrationType">
  303. <xs:annotation>
  304. <xs:documentation>Acknowledge cancelation of registration</xs:documentation>
  305. </xs:annotation>
  306. </xs:element>
  307. <xs:complexType name="oadrCanceledPartyRegistrationType">
  308. <xs:sequence>
  309. <xs:element ref="ei:eiResponse"/>
  310. <xs:element ref="ei:registrationID" minOccurs="0"/>
  311. <xs:element ref="ei:venID" minOccurs="0"/>
  312. </xs:sequence>
  313. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  314. </xs:complexType>
  315. <!-- ******* oadrCreatePartyRegistration ******** -->
  316. <xs:element name="oadrCreatePartyRegistration" type="oadr:oadrCreatePartyRegistrationType">
  317. <xs:annotation>
  318. <xs:documentation>Used by VEN to initiate registration with VTN</xs:documentation>
  319. </xs:annotation>
  320. </xs:element>
  321. <xs:complexType name="oadrCreatePartyRegistrationType">
  322. <xs:sequence>
  323. <xs:element ref="pyld:requestID"/>
  324. <xs:element ref="ei:registrationID" minOccurs="0">
  325. <xs:annotation>
  326. <xs:documentation>Used for re-registering an existing registration</xs:documentation>
  327. </xs:annotation>
  328. </xs:element>
  329. <xs:element ref="ei:venID" minOccurs="0"/>
  330. <xs:element ref="oadr:oadrProfileName"/>
  331. <xs:element ref="oadr:oadrTransportName"/>
  332. <xs:element ref="oadr:oadrTransportAddress" minOccurs="0">
  333. <xs:annotation>
  334. <xs:documentation>Address of this VEN. Not required if http pull model</xs:documentation>
  335. </xs:annotation>
  336. </xs:element>
  337. <xs:element ref="oadr:oadrReportOnly">
  338. <xs:annotation>
  339. <xs:documentation>ReportOnlyDeviceFlag - True or False</xs:documentation>
  340. </xs:annotation>
  341. </xs:element>
  342. <xs:element ref="oadr:oadrXmlSignature">
  343. <xs:annotation>
  344. <xs:documentation>Implementation supports XML signatures - True or False</xs:documentation>
  345. </xs:annotation>
  346. </xs:element>
  347. <xs:element ref="oadr:oadrVenName" minOccurs="0">
  348. <xs:annotation>
  349. <xs:documentation>Human readable name for VEN</xs:documentation>
  350. </xs:annotation>
  351. </xs:element>
  352. <xs:element ref="oadr:oadrHttpPullModel" minOccurs="0">
  353. <xs:annotation>
  354. <xs:documentation>If transport is simpleHttp indicate if VEN is operating in pull exchange model - true or false</xs:documentation>
  355. </xs:annotation>
  356. </xs:element>
  357. </xs:sequence>
  358. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  359. </xs:complexType>
  360. <!-- ******* oadrCreatedPartyRegistration ******** -->
  361. <xs:element name="oadrCreatedPartyRegistration" type="oadr:oadrCreatedPartyRegistrationType">
  362. <xs:annotation>
  363. <xs:documentation>Acknowledge receipt of VEN registration, provide VTN registration info</xs:documentation>
  364. </xs:annotation>
  365. </xs:element>
  366. <xs:complexType name="oadrCreatedPartyRegistrationType">
  367. <xs:sequence>
  368. <xs:element ref="ei:eiResponse"/>
  369. <xs:element ref="ei:registrationID" minOccurs="0"/>
  370. <xs:element ref="ei:venID" minOccurs="0">
  371. <xs:annotation>
  372. <xs:documentation>venID not included in query unless already registered</xs:documentation>
  373. </xs:annotation>
  374. </xs:element>
  375. <xs:element ref="ei:vtnID"/>
  376. <xs:element ref="oadr:oadrProfiles">
  377. <xs:annotation>
  378. <xs:documentation>VTN response to query registration returns all supported. This element is not required for a registration response</xs:documentation>
  379. </xs:annotation>
  380. </xs:element>
  381. <xs:element ref="oadr:oadrRequestedOadrPollFreq" minOccurs="0">
  382. <xs:annotation>
  383. <xs:documentation>HTTP Pull Only - The VEN shall send an oadrPoll payload to the VTN at most once for each duration specified by this element</xs:documentation>
  384. </xs:annotation>
  385. </xs:element>
  386. <xs:element ref="oadr:oadrServiceSpecificInfo" minOccurs="0"/>
  387. <xs:element name="oadrExtensions" minOccurs="0">
  388. <xs:complexType>
  389. <xs:sequence>
  390. <xs:element name="oadrExtension" minOccurs="0" maxOccurs="unbounded">
  391. <xs:complexType>
  392. <xs:sequence>
  393. <xs:element name="oadrExtensionName" type="xs:string"/>
  394. <xs:element ref="oadr:oadrInfo" minOccurs="0" maxOccurs="unbounded"/>
  395. </xs:sequence>
  396. </xs:complexType>
  397. </xs:element>
  398. </xs:sequence>
  399. </xs:complexType>
  400. </xs:element>
  401. </xs:sequence>
  402. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  403. </xs:complexType>
  404. <!-- ******* oadrRequestReregistration ******** -->
  405. <xs:element name="oadrRequestReregistration" type="oadr:oadrRequestReregistrationType">
  406. <xs:annotation>
  407. <xs:documentation>Used by VTN to request that the VEN reregister</xs:documentation>
  408. </xs:annotation>
  409. </xs:element>
  410. <xs:complexType name="oadrRequestReregistrationType">
  411. <xs:sequence>
  412. <xs:element ref="ei:venID"/>
  413. </xs:sequence>
  414. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  415. </xs:complexType>
  416. <!-- ******* oadrQueryRegistration ******** -->
  417. <xs:element name="oadrQueryRegistration" type="oadr:oadrQueryRegistrationType">
  418. <xs:annotation>
  419. <xs:documentation>Query VTN for registration information without actually registering</xs:documentation>
  420. </xs:annotation>
  421. </xs:element>
  422. <xs:complexType name="oadrQueryRegistrationType">
  423. <xs:sequence>
  424. <xs:element ref="pyld:requestID"/>
  425. </xs:sequence>
  426. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  427. </xs:complexType>
  428. <!-- ##### POLL PAYLOADS ##### -->
  429. <!-- ******* oadrPoll ******** -->
  430. <xs:element name="oadrPoll" type="oadr:oadrPollType">
  431. <xs:annotation>
  432. <xs:documentation>Query pull VTN for payloads with new or modified information</xs:documentation>
  433. </xs:annotation>
  434. </xs:element>
  435. <xs:complexType name="oadrPollType">
  436. <xs:sequence>
  437. <xs:element ref="ei:venID"/>
  438. </xs:sequence>
  439. <xs:attribute ref="ei:schemaVersion" use="optional"/>
  440. </xs:complexType>
  441. <!-- ##### END OF PAYLOADS ##### -->
  442. <!-- ****** Registration Payload Sub Elements ******** -->
  443. <!-- ** oadrVenName ** -->
  444. <xs:element name="oadrVenName" type="xs:string">
  445. <xs:annotation>
  446. <xs:documentation>VEN name. May be used in VTN GUI</xs:documentation>
  447. </xs:annotation>
  448. </xs:element>
  449. <!-- ** oadrProfiles ** -->
  450. <xs:element name="oadrProfiles">
  451. <xs:annotation>
  452. <xs:documentation>OpenADR profiles supported by the implementation</xs:documentation>
  453. </xs:annotation>
  454. <xs:complexType>
  455. <xs:sequence>
  456. <xs:element name="oadrProfile" maxOccurs="unbounded">
  457. <xs:complexType>
  458. <xs:sequence>
  459. <xs:element ref="oadr:oadrProfileName"/>
  460. <xs:element ref="oadr:oadrTransports"/>
  461. </xs:sequence>
  462. </xs:complexType>
  463. </xs:element>
  464. </xs:sequence>
  465. </xs:complexType>
  466. </xs:element>
  467. <xs:element name="oadrProfileName" type="oadr:oadrProfileType">
  468. <xs:annotation>
  469. <xs:documentation>OpenADR profile name such as 2.0a or 2.0b.</xs:documentation>
  470. </xs:annotation>
  471. </xs:element>
  472. <xs:simpleType name="oadrProfileType">
  473. <xs:restriction base="xs:token">
  474. <xs:enumeration value="2.0a"/>
  475. <xs:enumeration value="2.0b"/>
  476. </xs:restriction>
  477. </xs:simpleType>
  478. <!-- ** oadrTransports ** -->
  479. <xs:element name="oadrTransports">
  480. <xs:annotation>
  481. <xs:documentation>OpenADR transports supported by implementation</xs:documentation>
  482. </xs:annotation>
  483. <xs:complexType>
  484. <xs:sequence>
  485. <xs:element name="oadrTransport" maxOccurs="unbounded">
  486. <xs:complexType>
  487. <xs:sequence>
  488. <xs:element ref="oadr:oadrTransportName"/>
  489. </xs:sequence>
  490. </xs:complexType>
  491. </xs:element>
  492. </xs:sequence>
  493. </xs:complexType>
  494. </xs:element>
  495. <xs:element name="oadrTransportName" type="oadr:oadrTransportType">
  496. <xs:annotation>
  497. <xs:documentation>OpenADR transport name such as simpleHttp or xmpp</xs:documentation>
  498. </xs:annotation>
  499. </xs:element>
  500. <xs:simpleType name="oadrTransportType">
  501. <xs:restriction base="xs:token">
  502. <xs:enumeration value="simpleHttp"/>
  503. <xs:enumeration value="xmpp"/>
  504. </xs:restriction>
  505. </xs:simpleType>
  506. <xs:element name="oadrHttpPullModel" type="xs:boolean"/>
  507. <!-- ** oadrServiceSpecifictInfo ** -->
  508. <xs:element name="oadrServiceSpecificInfo">
  509. <xs:annotation>
  510. <xs:documentation>Service specific registration information</xs:documentation>
  511. </xs:annotation>
  512. <xs:complexType>
  513. <xs:sequence>
  514. <xs:element name="oadrService" minOccurs="0" maxOccurs="unbounded">
  515. <xs:complexType>
  516. <xs:sequence>
  517. <xs:element ref="oadr:oadrServiceName"/>
  518. <xs:element ref="oadr:oadrInfo" maxOccurs="unbounded"/>
  519. </xs:sequence>
  520. </xs:complexType>
  521. </xs:element>
  522. </xs:sequence>
  523. </xs:complexType>
  524. </xs:element>
  525. <!-- ** oadrServiceName ** -->
  526. <xs:element name="oadrServiceName" type="oadr:oadrServiceNameType"/>
  527. <xs:simpleType name="oadrServiceNameType">
  528. <xs:restriction base="xs:token">
  529. <xs:enumeration value="EiEvent"/>
  530. <xs:enumeration value="EiOpt"/>
  531. <xs:enumeration value="EiReport"/>
  532. <xs:enumeration value="EiRegisterParty"/>
  533. <xs:enumeration value="OadrPoll"/>
  534. </xs:restriction>
  535. </xs:simpleType>
  536. <!-- ** oadrInfo ** -->
  537. <xs:element name="oadrInfo">
  538. <xs:annotation>
  539. <xs:documentation>A key value pair of service specific registration information</xs:documentation>
  540. </xs:annotation>
  541. <xs:complexType>
  542. <xs:sequence>
  543. <xs:element name="oadrKey" type="xs:string"/>
  544. <xs:element name="oadrValue" type="xs:string"/>
  545. </xs:sequence>
  546. </xs:complexType>
  547. </xs:element>
  548. <!-- ** oadrXmlSignature ** -->
  549. <xs:element name="oadrXmlSignature" type="xs:boolean">
  550. <xs:annotation>
  551. <xs:documentation>Implementation supports XML signature</xs:documentation>
  552. </xs:annotation>
  553. </xs:element>
  554. <!-- ** oadrReportOnly ** -->
  555. <xs:element name="oadrReportOnly" type="xs:boolean">
  556. <xs:annotation>
  557. <xs:documentation>ReportOnlyDeviceFlag</xs:documentation>
  558. </xs:annotation>
  559. </xs:element>
  560. <!-- ** oadrTransportAddress ** -->
  561. <xs:element name="oadrTransportAddress" type="xs:string">
  562. <xs:annotation>
  563. <xs:documentation>Root address used to communicate with other party. Should include port if required</xs:documentation>
  564. </xs:annotation>
  565. </xs:element>
  566. <!-- ** oadrRequestedOadrPollFreq ** -->
  567. <xs:element name="oadrRequestedOadrPollFreq" type="xcal:DurationPropType">
  568. <xs:annotation>
  569. <xs:documentation>The VEN shall send an oadrPoll payload to the VTN at most once for each duration specified by this element</xs:documentation>
  570. </xs:annotation>
  571. </xs:element>
  572. <!-- ******* ResponseRequired ******** -->
  573. <xs:element name="oadrResponseRequired" type="oadr:ResponseRequiredType">
  574. <xs:annotation>
  575. <xs:documentation>Controls when optIn/optOut repsonse is required. Can be always or never</xs:documentation>
  576. </xs:annotation>
  577. </xs:element>
  578. <xs:simpleType name="ResponseRequiredType">
  579. <xs:annotation>
  580. <xs:documentation>Defines what type of response is required</xs:documentation>
  581. </xs:annotation>
  582. <xs:restriction base="xs:string">
  583. <xs:enumeration value="always">
  584. <xs:annotation>
  585. <xs:documentation>Always send a response for every event received.</xs:documentation>
  586. </xs:annotation>
  587. </xs:enumeration>
  588. <xs:enumeration value="never">
  589. <xs:annotation>
  590. <xs:documentation>Never respond.</xs:documentation>
  591. </xs:annotation>
  592. </xs:enumeration>
  593. </xs:restriction>
  594. </xs:simpleType>
  595. <!-- ****** Report Payload Sub Elements ******** -->
  596. <xs:element name="oadrPendingReports" type="oadr:oadrPendingReportsType"/>
  597. <xs:complexType name="oadrPendingReportsType">
  598. <xs:sequence>
  599. <xs:element ref="ei:reportRequestID" minOccurs="0" maxOccurs="unbounded"/>
  600. </xs:sequence>
  601. </xs:complexType>
  602. <!-- ****** Additional Units ******** -->
  603. <!-- base unit; can be extended and used for custom reports-->
  604. <xs:element name="customUnit" type="oadr:BaseUnitType" substitutionGroup="emix:itemBase"/>
  605. <xs:complexType name="BaseUnitType" mixed="false">
  606. <xs:annotation>
  607. <xs:documentation>Custom Units</xs:documentation>
  608. </xs:annotation>
  609. <xs:complexContent mixed="false">
  610. <xs:extension base="emix:ItemBaseType">
  611. <xs:sequence>
  612. <xs:element name="itemDescription" type="xs:string"/>
  613. <xs:element name="itemUnits" type="xs:string"/>
  614. <xs:element ref="scale:siScaleCode"/>
  615. </xs:sequence>
  616. </xs:extension>
  617. </xs:complexContent>
  618. </xs:complexType>
  619. <!-- current -->
  620. <xs:element name="current" type="oadr:CurrentType" substitutionGroup="emix:itemBase"/>
  621. <xs:complexType name="CurrentType" mixed="false">
  622. <xs:annotation>
  623. <xs:documentation>Current</xs:documentation>
  624. </xs:annotation>
  625. <xs:complexContent mixed="false">
  626. <xs:extension base="emix:ItemBaseType">
  627. <xs:sequence>
  628. <xs:element name="itemDescription" type="xs:string" fixed="Current"/>
  629. <xs:element name="itemUnits" type="xs:string" fixed="A"/>
  630. <xs:element ref="scale:siScaleCode"/>
  631. </xs:sequence>
  632. </xs:extension>
  633. </xs:complexContent>
  634. </xs:complexType>
  635. <!-- currency -->
  636. <xs:element name="currency" type="oadr:currencyType" substitutionGroup="emix:itemBase"/>
  637. <xs:element name="currencyPerKWh" type="oadr:currencyType" substitutionGroup="emix:itemBase"/>
  638. <xs:element name="currencyPerKW" type="oadr:currencyType" substitutionGroup="emix:itemBase"/>
  639. <xs:element name="currencyPerThm" type="oadr:currencyType" substitutionGroup="emix:itemBase"/>
  640. <xs:complexType name="currencyType" mixed="false">
  641. <xs:annotation>
  642. <xs:documentation>currency</xs:documentation>
  643. </xs:annotation>
  644. <xs:complexContent mixed="false">
  645. <xs:extension base="emix:ItemBaseType">
  646. <xs:sequence>
  647. <xs:element name="itemDescription" type="oadr:currencyItemDescriptionType"/>
  648. <xs:element name="itemUnits" type="clm5ISO42173A:ISO3AlphaCurrencyCodeContentType">
  649. <xs:annotation>
  650. <xs:documentation>ISO enumeration of currency types, such as USD</xs:documentation>
  651. </xs:annotation>
  652. </xs:element>
  653. <xs:element ref="scale:siScaleCode"/>
  654. </xs:sequence>
  655. </xs:extension>
  656. </xs:complexContent>
  657. </xs:complexType>
  658. <xs:simpleType name="currencyItemDescriptionType">
  659. <xs:restriction base="xs:token">
  660. <xs:enumeration value="currency"/>
  661. <xs:enumeration value="currencyPerKW"/>
  662. <xs:enumeration value="currencyPerKWh"/>
  663. </xs:restriction>
  664. </xs:simpleType>
  665. <!-- Frequency units -->
  666. <xs:element name="frequency" type="oadr:FrequencyType" substitutionGroup="emix:itemBase"/>
  667. <xs:complexType name="FrequencyType" mixed="false">
  668. <xs:annotation>
  669. <xs:documentation>Frequency</xs:documentation>
  670. </xs:annotation>
  671. <xs:complexContent mixed="false">
  672. <xs:extension base="emix:ItemBaseType">
  673. <xs:sequence>
  674. <xs:element name="itemDescription" type="xs:string" fixed="Frequency"/>
  675. <xs:element name="itemUnits" type="xs:string" fixed="Hz"/>
  676. <xs:element ref="scale:siScaleCode"/>
  677. </xs:sequence>
  678. </xs:extension>
  679. </xs:complexContent>
  680. </xs:complexType>
  681. <!-- Therm units -->
  682. <xs:element name="Therm" type="oadr:ThermType" substitutionGroup="emix:itemBase"/>
  683. <xs:complexType name="ThermType" mixed="false">
  684. <xs:annotation>
  685. <xs:documentation>Therm</xs:documentation>
  686. </xs:annotation>
  687. <xs:complexContent mixed="false">
  688. <xs:extension base="emix:ItemBaseType">
  689. <xs:sequence>
  690. <xs:element name="itemDescription" type="xs:string" fixed="Therm"/>
  691. <xs:element name="itemUnits" type="xs:string" fixed="thm"/>
  692. <xs:element ref="scale:siScaleCode"/>
  693. </xs:sequence>
  694. </xs:extension>
  695. </xs:complexContent>
  696. </xs:complexType>
  697. <!-- temperature -->
  698. <xs:element name="temperature" type="oadr:temperatureType" substitutionGroup="emix:itemBase"/>
  699. <xs:complexType name="temperatureType" mixed="false">
  700. <xs:annotation>
  701. <xs:documentation>temperature</xs:documentation>
  702. </xs:annotation>
  703. <xs:complexContent mixed="false">
  704. <xs:extension base="emix:ItemBaseType">
  705. <xs:sequence>
  706. <xs:element name="itemDescription" type="xs:string" fixed="temperature"/>
  707. <xs:element name="itemUnits" type="oadr:temperatureUnitType">
  708. <xs:annotation>
  709. <xs:documentation>Temperature in Celsius or Fahrenheit</xs:documentation>
  710. </xs:annotation>
  711. </xs:element>
  712. <xs:element ref="scale:siScaleCode"/>
  713. </xs:sequence>
  714. </xs:extension>
  715. </xs:complexContent>
  716. </xs:complexType>
  717. <xs:simpleType name="temperatureUnitType">
  718. <xs:restriction base="xs:token">
  719. <xs:enumeration value="celsius"/>
  720. <xs:enumeration value="fahrenheit"/>
  721. </xs:restriction>
  722. </xs:simpleType>
  723. <!-- pulseCount -->
  724. <xs:element name="pulseCount" type="oadr:pulseCountType" substitutionGroup="emix:itemBase"/>
  725. <xs:element name="pulseFactor" type="xs:float">
  726. <xs:annotation>
  727. <xs:documentation>kWh per count</xs:documentation>
  728. </xs:annotation>
  729. </xs:element>
  730. <xs:complexType name="pulseCountType" mixed="false">
  731. <xs:annotation>
  732. <xs:documentation>Pulse Count</xs:documentation>
  733. </xs:annotation>
  734. <xs:complexContent mixed="false">
  735. <xs:extension base="emix:ItemBaseType">
  736. <xs:sequence>
  737. <xs:element name="itemDescription" type="xs:string" fixed="pulse count"/>
  738. <xs:element name="itemUnits" type="xs:string" fixed="count">
  739. <xs:annotation>
  740. <xs:documentation>Pulse count from meter</xs:documentation>
  741. </xs:annotation>
  742. </xs:element>
  743. <xs:element ref="oadr:pulseFactor"/>
  744. </xs:sequence>
  745. </xs:extension>
  746. </xs:complexContent>
  747. </xs:complexType>
  748. <!-- Report Request -->
  749. <xs:element name="oadrReportRequest" type="oadr:oadrReportRequestType"/>
  750. <xs:complexType name="oadrReportRequestType">
  751. <xs:annotation>
  752. <xs:documentation>This type is used to request an EiReport</xs:documentation>
  753. </xs:annotation>
  754. <xs:sequence>
  755. <xs:element ref="ei:reportRequestID"/>
  756. <xs:element ref="ei:reportSpecifier"/>
  757. </xs:sequence>
  758. </xs:complexType>
  759. <!-- eiReport -->
  760. <xs:element name="oadrReport" type="oadr:oadrReportType"/>
  761. <xs:complexType name="oadrReportType">
  762. <xs:annotation>
  763. <xs:documentation>eiReport is a Stream of [measurements] recorded over time and delivered to the requestor periodically. The readings may be actual, computed, summed if derived in some other manner.</xs:documentation>
  764. </xs:annotation>
  765. <xs:complexContent>
  766. <xs:extension base="strm:StreamBaseType">
  767. <xs:sequence>
  768. <xs:element ref="ei:eiReportID" minOccurs="0">
  769. <xs:annotation>
  770. <xs:documentation>reference ID to this report.</xs:documentation>
  771. </xs:annotation>
  772. </xs:element>
  773. <xs:element ref="oadr:oadrReportDescription" minOccurs="0" maxOccurs="unbounded">
  774. <xs:annotation>
  775. <xs:documentation>Define data points the implementation is capable of reporting on. Only used in Metadata report</xs:documentation>
  776. </xs:annotation>
  777. </xs:element>
  778. <xs:element ref="ei:reportRequestID">
  779. <xs:annotation>
  780. <xs:documentation>Reference to the oadrCreateReport request that defined this report.</xs:documentation>
  781. </xs:annotation>
  782. </xs:element>
  783. <xs:element ref="ei:reportSpecifierID">
  784. <xs:annotation>
  785. <xs:documentation>Reference to Metadata report from which this report was derived.</xs:documentation>
  786. </xs:annotation>
  787. </xs:element>
  788. <xs:element ref="ei:reportName" minOccurs="0">
  789. <xs:annotation>
  790. <xs:documentation>Name possibly for use in a user interface.</xs:documentation>
  791. </xs:annotation>
  792. </xs:element>
  793. <xs:element ref="ei:createdDateTime"/>
  794. </xs:sequence>
  795. </xs:extension>
  796. </xs:complexContent>
  797. </xs:complexType>
  798. <!-- Report Description Type -->
  799. <xs:element name="oadrReportDescription" type="oadr:oadrReportDescriptionType"/>
  800. <xs:complexType name="oadrReportDescriptionType">
  801. <xs:annotation>
  802. <xs:documentation>Describes the subject and attributes of a report.</xs:documentation>
  803. </xs:annotation>
  804. <xs:sequence>
  805. <xs:element ref="ei:rID"/>
  806. <xs:element ref="ei:reportSubject" minOccurs="0"/>
  807. <xs:element ref="ei:reportDataSource" minOccurs="0"/>
  808. <xs:element ref="ei:reportType"/>
  809. <xs:element ref="emix:itemBase" minOccurs="0">
  810. <xs:annotation>
  811. <xs:documentation>What is measured or tracked in this report (Units). </xs:documentation>
  812. </xs:annotation>
  813. </xs:element>
  814. <xs:element ref="ei:readingType"/>
  815. <xs:element ref="emix:marketContext" minOccurs="0"/>
  816. <xs:element ref="oadr:oadrSamplingRate" minOccurs="0"/>
  817. </xs:sequence>
  818. </xs:complexType>
  819. <xs:complexType name="oadrSamplingRateType">
  820. <xs:sequence>
  821. <xs:element name="oadrMinPeriod" type="xcal:DurationValueType">
  822. <xs:annotation>
  823. <xs:documentation>Minimum sampling period</xs:documentation>
  824. </xs:annotation>
  825. </xs:element>
  826. <xs:element name="oadrMaxPeriod" type="xcal:DurationValueType">
  827. <xs:annotation>
  828. <xs:documentation>Maximum sampling period</xs:documentation>
  829. </xs:annotation>
  830. </xs:element>
  831. <xs:element name="oadrOnChange" type="xs:boolean">
  832. <xs:annotation>
  833. <xs:documentation>If true then the data will be recorded when it changes, but at no greater a frequency than that specified by minPeriod.</xs:documentation>
  834. </xs:annotation>
  835. </xs:element>
  836. </xs:sequence>
  837. </xs:complexType>
  838. <xs:element name="oadrSamplingRate" type="oadr:oadrSamplingRateType">
  839. <xs:annotation>
  840. <xs:documentation>Sampling rate for telemetry type data</xs:documentation>
  841. </xs:annotation>
  842. </xs:element>
  843. <xs:element name="oadrPayloadResourceStatus" type="oadr:oadrPayloadResourceStatusType" substitutionGroup="ei:payloadBase">
  844. <xs:annotation>
  845. <xs:documentation>Current resource status information</xs:documentation>
  846. </xs:annotation>
  847. </xs:element>
  848. <xs:complexType name="oadrPayloadResourceStatusType">
  849. <xs:annotation>
  850. <xs:documentation>This is the payload for reports that require a status.</xs:documentation>
  851. </xs:annotation>
  852. <xs:complexContent>
  853. <xs:extension base="ei:PayloadBaseType">
  854. <xs:sequence>
  855. <xs:element name="oadrOnline" type="xs:boolean">
  856. <xs:annotation>
  857. <xs:documentation>If true then resource/asset is online, if false then offline.</xs:documentation>
  858. </xs:annotation>
  859. </xs:element>
  860. <xs:element name="oadrManualOverride" type="xs:boolean">
  861. <xs:annotation>
  862. <xs:documentation>If true then the control of the load has been manually overridden</xs:documentation>
  863. </xs:annotation>
  864. </xs:element>
  865. <xs:element ref="oadr:oadrLoadControlState" minOccurs="0"/>
  866. </xs:sequence>
  867. </xs:extension>
  868. </xs:complexContent>
  869. </xs:complexType>
  870. <xs:element name="oadrLoadControlState" type="oadr:oadrLoadControlStateType"/>
  871. <xs:complexType name="oadrLoadControlStateType">
  872. <xs:sequence>
  873. <xs:element name="oadrCapacity" type="oadr:oadrLoadControlStateTypeType" minOccurs="0"/>
  874. <xs:element name="oadrLevelOffset" type="oadr:oadrLoadControlStateTypeType" minOccurs="0"/>
  875. <xs:element name="oadrPercentOffset" type="oadr:oadrLoadControlStateTypeType" minOccurs="0"/>
  876. <xs:element name="oadrSetPoint" type="oadr:oadrLoadControlStateTypeType" minOccurs="0"/>
  877. </xs:sequence>
  878. </xs:complexType>
  879. <xs:complexType name="oadrLoadControlStateTypeType">
  880. <xs:sequence>
  881. <xs:element name="oadrMin" type="xs:float" minOccurs="0"/>
  882. <xs:element name="oadrMax" type="xs:float" minOccurs="0"/>
  883. <xs:element name="oadrCurrent" type="xs:float"/>
  884. <xs:element name="oadrNormal" type="xs:float" minOccurs="0"/>
  885. </xs:sequence>
  886. </xs:complexType>
  887. <!--Green Button OpenADR Adaptor Types-->
  888. <xs:complexType name="oadrGBItemBase">
  889. <xs:complexContent>
  890. <xs:extension base="emix:ItemBaseType">
  891. <xs:sequence>
  892. <xs:element ref="atom:feed"/>
  893. </xs:sequence>
  894. </xs:extension>
  895. </xs:complexContent>
  896. </xs:complexType>
  897. <xs:complexType name="oadrGBStreamPayloadBase">
  898. <xs:complexContent>
  899. <xs:extension base="strm:StreamPayloadBaseType">
  900. <xs:sequence>
  901. <xs:element ref="atom:feed"/>
  902. </xs:sequence>
  903. </xs:extension>
  904. </xs:complexContent>
  905. </xs:complexType>
  906. <xs:element name="oadrGBPayload" type="oadr:oadrGBStreamPayloadBase" substitutionGroup="strm:streamPayloadBase"/>
  907. <xs:element name="oadrGBDataDescription" type="oadr:oadrGBItemBase" substitutionGroup="emix:itemBase"/>
  908. <!--oadrDeviceClass-->
  909. <xs:element name="oadrDeviceClass" type="ei:EiTargetType">
  910. <xs:annotation>
  911. <xs:documentation>Device Class target - use only endDeviceAsset.</xs:documentation>
  912. </xs:annotation>
  913. </xs:element>
  914. <!--oadrReportPayload-->
  915. <xs:element name="oadrReportPayload" type="oadr:oadrReportPayloadType" substitutionGroup="strm:streamPayloadBase">
  916. <xs:annotation>
  917. <xs:documentation>Data point values for reports</xs:documentation>
  918. </xs:annotation>
  919. </xs:element>
  920. <xs:complexType name="oadrReportPayloadType">
  921. <xs:annotation>
  922. <xs:documentation>Report payload for use in reports.</xs:documentation>
  923. </xs:annotation>
  924. <xs:complexContent>
  925. <xs:extension base="ei:ReportPayloadType">
  926. <xs:sequence>
  927. <xs:element ref="oadr:oadrDataQuality" minOccurs="0">
  928. <xs:annotation>
  929. <xs:documentation>Enumerated value for the quality of this data item</xs:documentation>
  930. </xs:annotation>
  931. </xs:element>
  932. </xs:sequence>
  933. </xs:extension>
  934. </xs:complexContent>
  935. </xs:complexType>
  936. <!--oadrDataQuality-->
  937. <xs:element name="oadrDataQuality" type="oadr:oadrDataQualityTypeType"/>
  938. <xs:simpleType name="oadrDataQualityTypeType">
  939. <xs:union memberTypes="oadr:oadrDataQualityType ei:EiExtensionTokenType"/>
  940. </xs:simpleType>
  941. <xs:simpleType name="oadrDataQualityType">
  942. <xs:restriction base="xs:token">
  943. <xs:enumeration value="No Quality - No Value"/>
  944. <xs:enumeration value="No New Value - Previous Value Used"/>
  945. <xs:enumeration value="Quality Bad - Non Specific"/>
  946. <xs:enumeration value="Quality Bad - Configuration Error"/>
  947. <xs:enumeration value="Quality Bad - Not Connected"/>
  948. <xs:enumeration value="Quality Bad - Device Failure"/>
  949. <xs:enumeration value="Quality Bad - Sensor Failure"/>
  950. <xs:enumeration value="Quality Bad - Last Known Value"/>
  951. <xs:enumeration value="Quality Bad - Comm Failure"/>
  952. <xs:enumeration value="Quality Bad - Out of Service"/>
  953. <xs:enumeration value="Quality Uncertain - Non Specific"/>
  954. <xs:enumeration value="Quality Uncertain - Last Usable Value"/>
  955. <xs:enumeration value="Quality Uncertain - Sensor Not Accurate"/>
  956. <xs:enumeration value="Quality Uncertain - EU Units Exceeded"/>
  957. <xs:enumeration value="Quality Uncertain - Sub Normal"/>
  958. <xs:enumeration value="Quality Good - Non Specific"/>
  959. <xs:enumeration value="Quality Good - Local Override"/>
  960. <xs:enumeration value="Quality Limit - Field/Not"/>
  961. <xs:enumeration value="Quality Limit - Field/Low"/>
  962. <xs:enumeration value="Quality Limit - Field/High"/>
  963. <xs:enumeration value="Quality Limit - Field/Constant"/>
  964. </xs:restriction>
  965. </xs:simpleType>
  966. </xs:schema>