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>
64 lines
1.5 KiB
JSON
64 lines
1.5 KiB
JSON
{
|
|
"event": {
|
|
"header": {
|
|
"namespace": "Alexa",
|
|
"name": "ChangeReport",
|
|
"messageId": "Unique identifier, preferably a version 4 UUID",
|
|
"payloadVersion": "3"
|
|
},
|
|
"endpoint": {
|
|
"scope": {
|
|
"type": "BearerToken",
|
|
"token": "OAuth2.0 bearer token"
|
|
},
|
|
"endpointId": "Endpoint ID"
|
|
},
|
|
"payload": {
|
|
"change": {
|
|
"cause": {
|
|
"type": "PHYSICAL_INTERACTION"
|
|
},
|
|
"properties": [
|
|
{
|
|
"namespace": "Alexa.SecurityPanelController",
|
|
"name": "armState",
|
|
"value": "DISARMED",
|
|
"timeOfSample": "2024-07-03T10:20:50.52Z",
|
|
"uncertaintyInMilliseconds": 0
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"context": {
|
|
"properties": [
|
|
{
|
|
"namespace": "Alexa.SecurityPanelController",
|
|
"name": "burglaryAlarm",
|
|
"value": {
|
|
"value": "OK"
|
|
},
|
|
"timeOfSample": "2024-07-03T09:20:50.52Z",
|
|
"uncertaintyInMilliseconds": 0
|
|
},
|
|
{
|
|
"namespace": "Alexa.SecurityPanelController",
|
|
"name": "fireAlarm",
|
|
"value": {
|
|
"value": "OK"
|
|
},
|
|
"timeOfSample": "2024-07-03T09:20:50.51Z",
|
|
"uncertaintyInMilliseconds": 0
|
|
},
|
|
{
|
|
"namespace": "Alexa.EndpointHealth",
|
|
"name": "connectivity",
|
|
"value": {
|
|
"value": "OK"
|
|
},
|
|
"timeOfSample": "2024-07-03T10:19:00.00Z",
|
|
"uncertaintyInMilliseconds": 600000
|
|
}
|
|
]
|
|
}
|
|
}
|