160 likes | 383 Views
Presentation Topics. ESPI / DMD deeper dive Atom feeds ESPI Usage schema Ontario Guidelines CMD Technical Overview Protocols and underlying technologies API overview Ontario Reference Architecture Specifics Useful Resources and Recommended Approach.
E N D
Presentation Topics • ESPI / DMD deeper dive • Atom feeds • ESPI Usage schema • Ontario Guidelines • CMD Technical Overview • Protocols and underlying technologies • API overview • Ontario Reference Architecture Specifics • Useful Resources and Recommended Approach
Composition of Energy Usage Information EUI comes from and to residences and businesses UsagePoint ServiceCategory MeterReading IntervalBlock ElectricPowerSummary IntervalReading ReadingType ElectricPowerQualitySummary ReadingQuality Note: This information is multidimensional. Many different reading types, summaries, and readings possible. i.e. not “flat” Source: David Wollman(NIST)
DMD: EUI Composition and Atom Feeds Syntactic Model Atom Feed View Information Model Profile View AtomFeed LocalTimeParameters 0..1 UsagePoint links entry’s 1 ServiceCategory Entry:UsagePoint 0..* 0..* MeterReading IntervalBlock Entry:MeterReading 0..* Entry:ReadingType 1 0..* ElectricPowerUsageSummary IntervalReading ReadingType Entry:IntervalBlock 0..* 0..* ElectricPowerQualitySummary ReadingQuality Entry:ElectricPowerUsageSummary LocalTimeParameters Source: David Wollman, Martin Burns (NIST)
DMD: Ontario Guidance • Pertains to electricity customers that are covered by the Ontario Smart Meter Initiative and whose data are VEE’d through the IESO’s MDM/R • SeviceCategory::ServiceKind = 0 (electricity) • Data is delayed • TOU information can only be expressed at the MeterReading level, and not at the IntervalBlock / IntervalReading level. • TOU information is optional • Two forms of XML may be constructed depending on the LDC. • ReadingType::tou field, 1=on-peak, 2=mid-peak, 3=off-peak • Optional summary elements will not be present • ElectricPowerUsageSummary • ElectricPowerQualitySummary • Temperature data MAY also be provided, as a separate MeterReading
Ontario DMD TOU File Composition Source: Green Button Download My Data – Ontario Guidance Document
Sample Data File – London Hydro UsagePoint LocalTimeParameters MeterReading IntervalBlock IntervalReading
DMD: Ontario Draft XSLT UsagePoint MeterReading IntervalBlock IntervalReading’s Rendered using XSLT file from: greenbuttondata.ca
CMD: Leveraging DMD For Greater Opportunity Green Button Connect My Data Data Custodian Third Party Automated Transfer Web Service Provider Web Service Consumer Web Portal Web Portal One-time Authorization Retail Customer User (agent) Green Button Download My Data Source: David Wollman, Martin Burns (NIST)
Service Calls – Ontario Reference Architecture • Registration • Register a third party application (generates client_id, client_secret) • Revoke a registered third party application (by Data Custodian) • Authorization • Create Authorization / Create Access Token (generates access token) • Revoke Authorization (by Customer, Data Custodian, Third Party) • Modify Authorization (by Customer) • Synchronous Data Access • Request Synchronous Pull of Data • Asynchronous Data Access • Request Asynchronous Pull of Data • Create Subscription, Delete Subscription • Asynchronous Pull of Data (after notification – subscription or async read request) • Notification • Administrative • ReadServiceStatus • ReadAuthorizationStatus
CMD Ontario Reference Architecture • Security • SSL / TLS – all communications are encrypted • OAuth 2.0 – third party applications provisioned access and refresh tokens for each Customer authorization • Web Service Endpoints • RESTful style - verb identified by HTTP method, resource identified by URI (opaque) • Data Custodian’s endpoints (and related URL’s) discoverable from central directory • Third Party Application’s endpoints discoverable from fields in ApplicationInformation element (specified during registration). • Calls to endpoints make use of HTTP method employed and particular parameters included in order to determine the action being requested. E.g. • create new subscription -> POST request on the Data Custodian’s ”Subscription” endpoint • deleting subscription -> HTTP DELETE method. • Customer’s Shared Resource (i.e. usage point) identified implicitly via the access token included in the HTTP Authorization header. • Data required by the operation may be included in the body of the HTTP request or as query parameters.
Mobile Applications – Ontario RA • Typically unable to expose endpoints for Data Custodian originated service calls • Restricted to Synchronous Data Access • Registration and Authorization workflows currently presume / require a third party portal infrastructure • Mobile app developers can use the Test Lab’s ATP simulator for this during the event • OAuth 2.0 token refresh mechanism utilized • Multiple devices sharing the same authorization (e.g. a Customer using the same application on their mobile phones, tablets) requires refreshed access tokens to be distributed to each device through a Third Party mechanism.
Ontario Architectural Overview – Why LDC centric? Edge Edge Web Utility Enterprise IESO Web Portal GUI Web Interface Green Button Data Green Button Download My Data MDM/RHasEUI RESTful Web Services Green Button Connect My Data Customer Information System Derived from: David Wollman, Martin Burns (NIST)
Useful Reference Materials / Resources • ESPI UML model file (Enterprise Architect) – www.naesb.org/ESPI_Standards.asp • 30 day trial version of EA is available from www.sparxsystems.com • DMD Ontario Guidance Document • Available from www.greenbuttondata.ca • Sample XML data files • Available from www.greenbuttondata.ca, www.greenbuttondata.org • XML data file generator spreadsheet • https://github.com/energyos/OpenESPI/tree/master/greenbuttonsdk/GreenButtonDemoPage/SampleDataGenerator • Ontario Reference Architecture Document • Available from www.naesb.org/ESPI_Standards.asp • Dropbox link with data sets for hackathon: • https://www.dropbox.com/sh/030u7w1htsh7cfq/4qv8MSO8Ue • Test-lab user manual • https://greenbutton.affsys.com/a3p/images/ome_user_manual.pdf
Recommended Approach • Develop “new and novel” concept • Work with sample / generated XML to start • Create means to consume this standardized data in your application • Add in CMD API service calls to gain automated and programmatic access to required data • Likely synchronous data reads only to start • Might leverage Test Lab WADL to auto-generate code stubs