Alexa.SecurityPanelController is described from its page: version 3 (the stub of 1.5.2 said 1), armState and the four alarms, Arm and Disarm. ctx.respond() answers Arm with Arm.Response under the namespace of the interface, its payload checked (exitDelayInSeconds 0 to 255, bypassedEndpoints), and Disarm with a Response. A Disarm carries the PIN the user said when the panel is declared with supportedAuthorizationTypes; the handler checks it and answers UNAUTHORIZED, which goes under Alexa.SecurityPanelController like the five other error types. A panel declared without options lists armState, where 1.5.2 listed no property; alarms are declared. 17 examples of the two pages are saved as fixtures. 215 tests pass, 207 before. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
25 lines
541 B
JSON
25 lines
541 B
JSON
{
|
|
"directive": {
|
|
"header": {
|
|
"namespace": "Alexa.SecurityPanelController",
|
|
"name": "Disarm",
|
|
"messageId": "Unique version 4 UUID",
|
|
"correlationToken": "Opaque correlation token",
|
|
"payloadVersion": "3"
|
|
},
|
|
"endpoint": {
|
|
"scope": {
|
|
"type": "BearerToken",
|
|
"token": "OAuth2.0 bearer token"
|
|
},
|
|
"endpointId": "Endpoint ID",
|
|
"cookie": {}
|
|
},
|
|
"payload": {
|
|
"authorization": {
|
|
"type": "FOUR_DIGIT_PIN",
|
|
"value": "1234"
|
|
}
|
|
}
|
|
}
|
|
}
|