用于智能家居 API 的 Amazon Alexa 设备发现,Lambda 失败

dav*_*ter 5 alexa aws-lambda alexa-skills-kit amazon-echo

我已经设置了 Alexa 智能家居技能,完成了所有设置,完成了 oauth2 处理,并且在我的 Amazon Echo 设备上启用了技能。Lambda 函数已设置并链接到技能。当我“发现设备”时,我可以在日志中看到负载命中了我的 Lambda 函数。我实际上是通过 context.succeed() 方法返回以下带有测试设备的 JSON。但是 Echo 告诉我它找不到任何设备。

{
  "header": {
    "messageId": "42e0bf9c-18e2-424f-bb11-f8a12df1a79e",
    "name": "DiscoverAppliancesResponse",
    "namespace": "Alexa.ConnectedHome.Discovery",
    "payloadVersion": "2"
  },
  "payload": {
    "discoveredAppliances": [
      {
        "actions": [
          "incrementPercentage",
          "decrementPercentage",
          "setPercentage",
          "turnOn",
          "turnOff"
        ],
        "applianceId": "0d6884ab-030e-8ff4-ffffaa15c06e0453",
        "friendlyDescription": "Study Light connected to Loxone Kit",
        "friendlyName": "Study Light",
        "isReachable": true,
        "manufacturerName": "Loxone",
        "modelName": "Spot"
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

上面的payload看起来正确吗?

mas*_*565 0

编辑:答案是错误的。唯一有用的信息是这个

这种 context.fail 语法实际上已被弃用。查找 Lambda 上下文对象属性,它现在看起来应该更像“callback(null, resultObj)”。