Alexa自定义技能设备发现

时间:2017-04-03 16:40:09

标签: node.js aws-lambda alexa-skills-kit

我是Alexa技能组的新手,我有一个需要被alexa发现的设备。我对Alexa SMART HOME SKILL API的设备发现功能感到困惑。我需要一些有关如何连接由您构建的设备(使用树莓派)以让Alexa通过自定义技能发现的详细信息。

需要示例代码或良好指南。

我知道应该从设备云返回有效负载(产品制造商拥有此功能)。您如何确保哪个设备与客户和设备是否正确的客户?

示例有效负载在下面..

"discoveredAppliances": [{
    "applianceId": "sample-1",
    "manufacturerName": "Sample Manufacturer",
    "modelName": "Sample Thermostat",
    "version": "1",
    "friendlyName": "Sample Thermostat",
    "friendlyDescription": "Thermostat by Sample Manufacturer",
    "isReachable": true,
     "actions": [
        "setTargetTemperature",
        "incrementTargetTemperature",
        "decrementTargetTemperature"
     ],
     "additionalApplianceDetails": {
     "extraDetail1": "This is a thermostat that is reachable"
    }
 }]

您能详细解释一下discoverAppliances json对象吗?在设备云中为客户生成这些细节的逻辑?

1 个答案:

答案 0 :(得分:0)

有效负载中的所有信息都是为​​了告诉Alexa您的设备,并且可以是您想要的任何内容。真正重要的领域是:

  • applianceId:不得包含空格,并将与每条控制消息一起传递给您的技能。因此,请将其标识为特定设备。

  • friendlyName:包含用户识别此设备所需的确切字词;例如,"车库灯"。

    • friendlyDescription:将在Alexa应用中显示有关此设备的文字。

    • 操作:列出您可以处理的控件事件。您列出的示例包含恒温器类型控件。灯可能支持turnOn,turnOff和可能的setPercentage进行调光。

如何检测和识别您的设备完全取决于您。

我希望这个解释有所帮助。请注意,您还可以创建自定义技能来控制您的设备。还有很多创建自定义技能的示例。我已在Github

上发布了更多自定义技能信息和代码