Alexa的自定义技能设备发现

Alexa的自定义技能设备发现

问题描述:

我是新来的Alexa技能集,我有一个设备,需要由alexa发现。我对Alexa SMART HOME SKILL API的设备发现功能感到困惑。我需要一些关于如何连接由您构建的设备(使用树莓派)的详细信息,让Alexa通过自定义技能发现。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应用程序中显示的关于此设备的文本。

    • 操作:列出您可以处理的控制事件。您列出的示例包含恒温器类型控制。一个灯可能支持turnOn,turnOff,并可能调整setPercentage。

你如何检测和识别你的设备是完全由你决定。

我希望这个解释有帮助。请注意,您还可以创建自定义技能来控制您的设备。创建自定义技能的例子还有很多。我已经发布了更多自定义技能信息和代码Github

+0

您能解释或共享代码吗?如何使用alexa进行设备发现? Alexa没有使用wifi或发送直接信号来检测设备。相反,它会调用互联网(制造商服务器),然后获得有关可在alexa附近使用的设备的响应。你有没有示例代码或有确切的逻辑。我可以看到提到的框图,但需要深入细节...... –

+0

看看已发布的一些Alexa智能家居技能示例,例如kvarma的这一个:https://github.com/krvarma/particle-alexa - 智能家庭技能。 查看handleDiscovery方法中的lambda.js代码。在那里,他正在定义厨房卧室灯。 –

+0

任何关于'Custom Skill'的例子,运行'Discovery'流程? – AechoLiu