我在 Discovery 中遇到问题。
当我发现设备时,它似乎没有调用我定义的 Lambda 函数。Lambda 函数在 Skill 上配置,事件源在 Lambda 函数上配置。
我从监控日志中检查了当我尝试从 Alexa 界面发现设备时没有调用 lambda 函数。
如果我尝试使用 lambda 测试接口进行测试,它会给我响应。
从 lambda 测试接口发出的示例请求
{
"header": {
"messageId": "6d6d6e14-8aee-473e-8c24-0d31ff9c17a2",
"name": "DiscoverAppliancesRequest",
"namespace": "Alexa.ConnectedHome.Discovery",
"payloadVersion": "2"
},
"payload": {
"accessToken": "some string"
}
}
我从我的 API 端点得到的响应如下
{
"header": {
"messageId": "6d6d6e14-8aee-473e-8c24-0d31ff9c17a2",
"name": "DiscoverAppliancesResponse",
"namespace": "Alexa.ConnectedHome.Discovery",
"payloadVersion": "2"
},
"payload": {
"discoveredAppliances": [
{
"actions": [
"incrementPercentage",
"decrementPercentage",
"setPercentage",
"turnOn",
"turnOff"
],
"additionalApplianceDetails": {
"serialNumber": "CRED DEVICE 1456842949167",
"firmwareVersion": "0.7.1.1"
},
"applianceId": "d4cab60d-b2e5-4d0f-ae50-c566e0de26ce",
"friendlyDescription": "Den",
"friendlyName": "Den",
"isReachable": true,
"manufacturerName": "CredSmartLabs",
"modelName": "H+1140-87-",
"version": "1"
}
]
}
}