我是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对象吗?在设备云中为客户生成这些细节的逻辑?
答案 0 :(得分:0)
有效负载中的所有信息都是为了告诉Alexa您的设备,并且可以是您想要的任何内容。真正重要的领域是:
applianceId:不得包含空格,并将与每条控制消息一起传递给您的技能。因此,请将其标识为特定设备。
friendlyName:包含用户识别此设备所需的确切字词;例如,"车库灯"。
friendlyDescription:将在Alexa应用中显示有关此设备的文字。
操作:列出您可以处理的控件事件。您列出的示例包含恒温器类型控件。灯可能支持turnOn,turnOff和可能的setPercentage进行调光。
如何检测和识别您的设备完全取决于您。
我希望这个解释有所帮助。请注意,您还可以创建自定义技能来控制您的设备。还有很多创建自定义技能的示例。我已在Github
上发布了更多自定义技能信息和代码