Certifying an OpenADR 3.0 SystemOpenADR 3.0 (3.0) for the most part maintained the general ideas and functions of OpenADR 2.0 (2.0). The main goal was to simplify the implementation which ultimately lead us to a RESTfull API structure using JSON. This if of course a significant change from 2.0 which can generally be seen as a SOAP exchange protocol using XML schema. The 2.0 test tool is a locally installed tool that exercises the necessary exchange patters to validate an implementation. For 3.0 this was not necessary as we are dealing with REST web services. Instead, we created an online test tool and members can purchase an unlimited license to run tests. Purchase a test tool license here (coming soon) The certification test does not require the usage of a test house anymore. Rather, the Certifier (company that wants to get certification for their product) obtains a certification license. The license includes access to the certification test tool and 4 hours time with a Certification Manager (person to witness the testing and confirms 'test pass' status). Purchase a certification license here (coming soon) VTN Testing and CertificationNote: Unless the VTN is only used in a specific environment (not a commercial VTN for sale), the VTN needs to implement OpenADR 2.0b and OpenADR 3.0. Contact us to obtain an exception. The Test Tool (TT) contains over 200 test scripts that make requests to a VTN and evaluate responses. Tests include happy path, authorization, bad methods, bad inputs, and query params. LicensingUser must obtain a testing license from openadr.org. Login to openadr.org with your Alliance member credentials and follow the web flow defined in that application to obtain a testing and/or certification license. TestingOnce a license had been obtained, it must be provisioned into the Test Tool by a TT admin. User's will be notified via email when their license has been provisioned and the Test Tool is ready to be used for testing. Login into the Test Tool with your Alliance credentials. At the top navigation bar of the Test Tool one may select "VTN Tests". If this option is not available, the current user does not have a VTN testing license provisioned in the Test Tool. Selecting "VTN Tests" will transition to a new page where the user may view past test results or select "Create VTN Test Run". Selecting this will prompt the user to input the internet accessible address of their VTN, after which one may execute a test run and view results. VEN Testing and CertificationProfilesProfiles are used to verify VEN interoperability with one or more Demand Response use cases. For example, Continuous Pricing (CP) is a common DR use case. A CP profile is used to ensure a VEN will interoperate with any utility varying price program. The Baseline profile tests a minimal subset of operations of a VEN. We use this in the example below. Test profiles entail launching the VTN RI and executing a Business Logic client to populate the VTN. More detail on profile workflows follow. Any general commercial VEN product shall implement at least the Baseline profile unless it is specifically only used to receive prices. CP products will marked as such. VEN RequirementsA number of VEN requirements are definded in Definitions 3.0.1 (availble from the OpenADR Alliance as a core part of the OpenADR 3 platform defintion). These include: * VEN MUST enroll with VTN provider to be provisioned with security credentials (Definitions 3.0.1 section 5.3). * For testing and certification VENs will use the following credentials: client_id: ven_client, client_secret: 999. * VEN MUST use a ven name unique to a vtn instance, and resource names unique to their associated VEN (Definitions 3.0.1 section 6.10). * For testing, VENs may use any name as their is only one VTN in scope and one resource per ven in certain tests. * VEN MUST make a request to <>/auth/token to exchange client_id and client_secret for a bearer token. * VEN MUST include bearer token in all API requests except to <>/auth/token (Definitions 3.0.1 section 11.1). * VEN MUST be manually provisioned with VTN URL (Definitions 3.0.1 section 11.2) Additional requirements per profile are detailed below. Profile DetailsThe general test workflow is: - A business logic client populates a test VTN with program, events, and other relevant objects for the profile - The business logic client subscribes to reports and other relevant objects to detect objects reads and writes by a VEN - A VEN client reads objects from the test VTN. May also be required to subscribe to changes in object state, and write ven and resource objects and responds to report requests. Baseline ProfileThe baseline profile simply evaluates a VENs ability to read programs and events. VEN requirements
BL Workflow
Continuous Pricing (CP) profileContinuous Pricing publishes events that include 24 hourly prices. VEN requirementsA VEN is expected to poll for events, and on receipt of any that include a report request, write a report. Workflow
Local execution of baseline VEN testsFor developers who have access to the to Test Tool, test callback service and VTN Reference Implementation GitHub repos and have cloned the repo into . In terminal window 1Start VTN Reference Implementation Follow instructions in /openadr3-vtn-reference-implementation README In terminal window 2Start callback service Follow instructions in /test_callback_service README In terminal window 3Start Business Logic test client open terminal window and change directory to client setup test tool start ven test In terminal window 4Start VEN test client open terminal window and change directory to client setup test tool start ven test Execute VENExecute a VEN implementation by configuring it to address the local Reference Implementation VTN. Restart the RI between tests. |