我想使用Actions SDK创建智能家居应用Google Home。就像现在一样,我有一个云服务器及其OAuth 2.0 API和一些真正的物联网设备,所有的云环境都准备好了。当我浏览Smart Home的文档时,我感到困惑,我编辑了一个json文件并将其上传到我的google项目中,但是还没有完成?如果是,如何处理SNYC,QUERY和EXECUTE的响应json?非常感谢。
答案 0 :(得分:1)
在项目的Actions on Google console中,应该有一个webhook字段。你把HomeGraph会调用的URL。在您的webhook中,您将收到一个JSON有效内容,其中包含intent
和其他参数供您处理。
let reqdata = request.body;
let input = reqdata.inputs[0];
let intent = input.intent;
switch (intent) {
case "action.devices.SYNC":
console.log('post /ha SYNC');
// Do sync
break;
case "action.devices.QUERY":
console.log('post /ha QUERY');
// Do query
break;
case "action.devices.EXECUTE":
console.log('post /ha EXECUTE');
// Do execute
break;
default:
response.status(401).set({
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'Content-Type, Authorization'
}).json({error: "missing intent"});
break;
}
您应该返回一个JSON有效负载作为响应。
调整IoT设备的实际方法完全取决于您的服务器和设备实施。
您可以查看the sample project以了解更多内容。