我是 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"
}
}]
您能详细解释一下discoveredAppliances json对象吗?在设备云中为客户生成这些详细信息背后的逻辑是什么?
最佳答案
有效负载中的所有信息都是为了让您告诉 Alexa 您的设备,并且可以是您想要的任何信息。真正重要的字段是:
applianceId:不得包含空格,并将与每个控制消息一起传递给您的技能。因此,请使其能够识别特定设备。
FriendlyName:包含用户识别该设备所需说出的确切单词;例如,“车库灯”。
FriendlyDescription:是将在 Alexa 应用程序中显示的有关此设备的文本。
actions:列出您可以处理的控制事件。您列出的示例包含恒温器类型控件。灯可能支持打开、关闭,还可能支持 setPercentage 调光。
如何检测和识别您的设备完全取决于您。
我希望这个解释有帮助。请注意,您还可以创建自定义技能来控制您的设备。还有更多创建自定义技能的示例。我在 Github 上发布了更多自定义技能信息和代码
关于node.js - Alexa 自定义技能设备发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43189935/