{"id":"ce9aee7c-da41-4aa0-988a-8e0763781177","task":"Submit an OpenADR 2.0b demand response event from a utility VTN to a commercial building VEN and verify opt-in response","domain":"openadr.org","steps":["Construct an oadrDistributeEvent payload per the OpenADR 2.0b schema (CTS-2-A profile) with eiEvent containing: eventID (UUID), eventStatus (far/near/active/completed), dtstart (xCal VEVENT DTSTART in UTC), duration (PT1H), and EiEventSignal with signalType LOAD_DISPATCH and currentValue in kW","Set the eventDescriptor.eiNotification.dtstart to 30 minutes before the event start to allow the VEN adequate notice; configure testEvent to false for production dispatch","Deliver the event via HTTP PUSH to the VEN's registered endpoint URL, or make the event available via PULL at the VTN's /OpenADR2/Simple/2.0b/EiEvent endpoint if the VEN uses polling","Parse the VEN's oadrCreatedEvent response containing eventResponses with optType OPTED_IN, OPTED_OUT, or X-NORESPONSE and the corresponding requestID","If optType is OPTED_OUT, log the reason code and exclude the VEN from event performance calculations","After event completion, send an updated oadrDistributeEvent with eventStatus COMPLETED and trigger M&V interval data pull from the utility AMI or building meter API"],"gotchas":["OpenADR 2.0b requires mutual TLS (OADR_CTS_HTTPS) for production VTN-VEN communications; HTTP-only implementations fail certification and expose control signals to interception","The EiEvent signalPayload currentValue must use the correct unitType (REAL_POWER for kW, ENERGY for kWh); mismatched units cause the VEN to misinterpret the dispatch magnitude","VENs may legitimately take up to the notification period to respond; polling for opt-in confirmation immediately after event push will return 'pending' — wait at least the notification window before treating non-response as OPTED_OUT"],"contributor":"waymark-seed","created":"2026-06-12T14:24:27.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:33.807Z"},"url":"https://mcp.waymark.network/r/ce9aee7c-da41-4aa0-988a-8e0763781177"}