|
| 1 | +# OpenADE Task Force Meeting 2026-01-14 |
| 2 | + |
| 3 | +## Agenda |
| 4 | +* Welcome |
| 5 | +* Introduction of attendees |
| 6 | +* Review and approve minutes |
| 7 | + |
| 8 | + |
| 9 | +## NAESB ESPI Standard Proposed Changes for ESPI Version 4.1 |
| 10 | +* Remove SFTP as a transport option from the ESPI standard |
| 11 | + * The NAESB ESPI Task Force will meet on January 29th at 1:00 PM EST to discuss Standard Request R25005 |
| 12 | + * If your company is a member of NAESB, please consider attending to represent the OpenADE Task Force |
| 13 | + * Non-members of NAESB can attend but must register in advance and pay a meeting participation fee |
| 14 | + |
| 15 | +## GBA Technical Resource Sample Code Segments |
| 16 | +* Over the last few months we have received several requests for code segments to help implementers get started |
| 17 | +* What code segments would be most helpful to include in the GBA Technical Resource? |
| 18 | + * Examples might include: |
| 19 | + * UUID Generation |
| 20 | + * BatchList handling |
| 21 | + * DateTime formatting |
| 22 | + * What else? |
| 23 | + * In what programming languages? |
| 24 | + * In what formats (e.g., code snippets, libraries, etc.)? |
| 25 | + * Where should these code segments be hosted (e.g., GitHub, GBA website, etc.)? |
| 26 | + |
| 27 | +## Customer Bulk Authorization Use Case |
| 28 | +* Is there a need for a customer to simplify account authorization for multiple accounts at once? |
| 29 | + * Open Discussion |
| 30 | + |
| 31 | + |
| 32 | +## Open Discussion |
| 33 | + |
| 34 | +## Attendees |
| 35 | +* Donald F Coffin (Green Button Alliance) (Maintainer) |
| 36 | +* Dee Hastey (Big Data Energy Services) |
| 37 | +* Gary Cook (Josten) |
| 38 | +* Valdis Hellevik (Green Button Alliance) |
| 39 | +* Morgan Harrison (UtilityAPI) |
| 40 | +* Ekaterina (Kat) Rubin (City of Toronto) |
| 41 | + |
| 42 | + |
| 43 | +## Minutes |
| 44 | + |
| 45 | +## Key takeaways |
| 46 | +- The SFTP removal proposal has been accepted by NAESB and will be discussed at the ESPI Task Force meeting on January 29th |
| 47 | +- The team will develop code samples and libraries to help third parties implement Green Button, focusing on TypeScript/JavaScript and Python |
| 48 | +- A bulk authorization concept is being developed to allow customers with multiple accounts to authorize access without needing to repeating the OAuth Authorization portion for each account |
| 49 | +- New sandbox development is underway with separate resource and authorization servers to better support third-party testing |
| 50 | + |
| 51 | + |
| 52 | +# Discussed topics |
| 53 | +## SFTP removal proposal status |
| 54 | + Donald updated the group on the status of the proposal to remove SFTP as a transport option. |
| 55 | +- Details |
| 56 | + - Donald: The request to remove SFTP as a transport option has been accepted by NASB |
| 57 | + - Donald: The proposal will be discussed at the SB Task Force meeting on January 29th |
| 58 | + - Donald: If it passes the SB Task Force, it will go to the RMQ Executive Committee meeting |
| 59 | + - Jeremy: The first meeting of SB will be on January 29th |
| 60 | + - Donald: The RMQ Executive Committee meetings are held approximately every 6 months, with the last one in October |
| 61 | +- Conclusion |
| 62 | + - The proposal is moving forward in the approval process |
| 63 | + - After passing both committees, there will be a 30 or 90-day period for public comment |
| 64 | + |
| 65 | + |
| 66 | +## Code samples and libraries for third parties |
| 67 | + Donald and Jeremy discussed providing code samples to help third parties implement Green Button. |
| 68 | +- Details |
| 69 | + - Donald: They receive frequent requests for code samples, particularly for parsing software |
| 70 | + - Donald: A recent request was for Python parsing software, which they found but had limitations |
| 71 | + - Gary: Code snippets around XML transaction handling would be helpful for new developers |
| 72 | + - Gary: Their implementation uses TypeScript and converts XML to JSON for processing |
| 73 | + - Morgan: Confirmed that TypeScript/JavaScript and Python are the most common languages used by third parties |
| 74 | + - Kat: Mentioned she's most familiar with Python and will be using it for her implementation |
| 75 | + - Donald: Suggested providing code for UUID calculation, XML marshalling/unmarshalling, and OAuth flows |
| 76 | +- Conclusion |
| 77 | + - The team will work on developing code samples in multiple languages, prioritizing TypeScript/JavaScript and Python |
| 78 | + - They will focus on common challenges like UUID handling, XML processing, and OAuth implementation |
| 79 | + - The samples will be generic enough to be useful without providing complete solutions |
| 80 | + |
| 81 | +## Bulk authorization concept |
| 82 | + Donald discussed a concept for allowing customers with multiple accounts to authorize access without repeating the OAuth flow for each account. |
| 83 | +- Details |
| 84 | + - Donald: A utility requested a way for customers to issue bulk authorizations |
| 85 | + - Donald: The use case involves commercial customers with multiple facilities/accounts who want to authorize access without repeating the process for each account |
| 86 | + - Donald: The customer would authenticate once with the utility, select all accounts they want to authorize, and the system would handle the authorization codes sequentially |
| 87 | + - Gary: Expressed interest in the concept for commercial properties with multiple meters |
| 88 | + - Kat: Mentioned this would be useful for the City of Toronto, which has about 300 properties to manage |
| 89 | + - Morgan: Asked for clarification on whether this would handle both single-login multiple-account scenarios and multiple-login scenarios |
| 90 | +- Conclusion |
| 91 | + - Donald will develop diagrams showing the flow and share them with Gary, Ekaterina, and Morgan |
| 92 | + - The concept would help commercial customers with multiple accounts streamline the authorization process |
| 93 | + - The implementation would require both utility and third-party support |
| 94 | + |
| 95 | +## Sandbox development |
| 96 | + Donald shared updates on the development of a new sandbox environment. |
| 97 | +- Details |
| 98 | + - Donald: The new sandbox will have separate resource and authorization servers |
| 99 | + - Donald: It will support the OpenID dynamic registration interface |
| 100 | + - Gary: Suggested including the ability to test OAuth processes including token refresh |
| 101 | + - Donald: The sandbox will initially only support GET operations as that's what utilities allow third parties to do |
| 102 | + - Donald: The authorization server will be full-featured to support OAuth flows |
| 103 | + - Donald: They're considering ways to generate data periodically so it looks current |
| 104 | +- Conclusion |
| 105 | + - The new sandbox will better support third-party testing |
| 106 | + - It will include OpenAPI documentation |
| 107 | + - The design will focus on realistic utility API behavior |
| 108 | + |
| 109 | +## Action items |
| 110 | +- Donald |
| 111 | +- [ ] Develop diagrams showing the bulk authorization flow |
| 112 | +- [ ] Share the bulk authorization concept with Gary, Ekaterina, and Morgan before the next meeting |
| 113 | +- [ ] Continue development of the new sandbox with separate resource and authorization servers |
| 114 | +- [ ] Work with Jeremy on code samples for third parties in TypeScript/JavaScript and Python |
| 115 | + |
| 116 | + |
| 117 | +- Jeremy |
| 118 | +- [ ] Work with Donald on code samples for the technical page |
| 119 | +- [X] Add Ekaterina to the email list for future meetings |
| 120 | + |
| 121 | + |
| 122 | +- Gary |
| 123 | +- [ ] Provide notes on challenges encountered when implementing Green Button |
| 124 | +- [ ] Connect with Ekaterina to discuss third-party implementation |
| 125 | + |
| 126 | + |
| 127 | +- Kat |
| 128 | +- [ ] Review the email from Jeremy with membership information |
| 129 | +- [ ] Consider options for technical support from the Green Button Alliance |
0 commit comments