Eight descriptors written from their pages, each with its version, the value of its property and the payload of every directive. Seven replace a stub; Alexa.HumiditySensor is new, as AlexaInterfaceType.HUMIDITY_SENSOR. LockController is deferrable: defer() on a lock logs no warning. A 1.x declaration of LockController, MotionSensor, PercentageController or PowerLevelController now lists its property in discovery, where 1.5.2 listed none: the zoo's lock, motion sensor and heater come out as the JSON Alexa accepted. A payload that does not fit (hue 361, 900 K) is answered with INVALID_VALUE. 48 examples of the eight pages are saved as fixtures. 191 tests pass, 168 before. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
80 lines
2.4 KiB
JSON
80 lines
2.4 KiB
JSON
{
|
|
"event": {
|
|
"header": {
|
|
"namespace": "Alexa.Discovery",
|
|
"name": "Discover.Response",
|
|
"payloadVersion": "3",
|
|
"messageId": "Unique identifier, preferably a version 4 UUID"
|
|
},
|
|
"payload": {
|
|
"endpoints": [
|
|
{
|
|
"endpointId": "Unique ID of the endpoint",
|
|
"manufacturerName": "Manufacturer name of the endpoint",
|
|
"description": "Description to be shown in the Alexa app",
|
|
"friendlyName": "Weather station",
|
|
"displayCategories": [
|
|
"TEMPERATURE_SENSOR"
|
|
],
|
|
"additionalAttributes": {
|
|
"manufacturer": "Manufacturer name of the endpoint",
|
|
"model": "Model of the device",
|
|
"serialNumber": "Serial number of the device",
|
|
"firmwareVersion": "Firmware version of the device",
|
|
"softwareVersion": "Software version of the device",
|
|
"customIdentifier": "Optional custom identifier for the device"
|
|
},
|
|
"capabilities": [
|
|
{
|
|
"type": "AlexaInterface",
|
|
"interface": "Alexa.HumiditySensor",
|
|
"version": "3",
|
|
"properties": {
|
|
"supported": [
|
|
{
|
|
"name": "relativeHumidity"
|
|
}
|
|
],
|
|
"proactivelyReported": true,
|
|
"retrievable": true
|
|
}
|
|
},
|
|
{
|
|
"type": "AlexaInterface",
|
|
"interface": "Alexa.TemperatureSensor",
|
|
"version": "3",
|
|
"properties": {
|
|
"supported": [
|
|
{
|
|
"name": "temperature"
|
|
}
|
|
],
|
|
"proactivelyReported": true,
|
|
"retrievable": true
|
|
}
|
|
},
|
|
{
|
|
"type": "AlexaInterface",
|
|
"interface": "Alexa.EndpointHealth",
|
|
"version": "3.2",
|
|
"properties": {
|
|
"supported": [
|
|
{
|
|
"name": "connectivity"
|
|
}
|
|
],
|
|
"proactivelyReported": true,
|
|
"retrievable": true
|
|
}
|
|
},
|
|
{
|
|
"type": "AlexaInterface",
|
|
"interface": "Alexa",
|
|
"version": "3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|