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
您能解释或共享代码吗?如何使用alexa进行设备发现? Alexa没有使用wifi或发送直接信号来检测设备。相反,它会调用互联网(制造商服务器),然后获得有关可在alexa附近使用的设备的响应。你有没有示例代码或有确切的逻辑。我可以看到提到的框图,但需要深入细节...... –
看看已发布的一些Alexa智能家居技能示例,例如kvarma的这一个:https://github.com/krvarma/particle-alexa - 智能家庭技能。 查看handleDiscovery方法中的lambda.js代码。在那里,他正在定义厨房卧室灯。 –
任何关于'Custom Skill'的例子,运行'Discovery'流程? – AechoLiu