【发布时间】:2018-07-20 08:08:35
【问题描述】:
我通过实现SYNC、EXECUTE 和DISCONNECT 操作实现了基本的智能家居服务。在SYNC 操作中,所有设备都将willReportState 设置为false。
但是,在https://developers.google.com/actions/smarthome/report-state 上,我了解到我们需要自己报告状态变化。这意味着所有设备都必须将willReportState 设置为true,我假设?
我的主要问题是如果最后报告的状态与现实不同步会发生什么?
例如,假设我们在 5 分钟前报告了某个设备(具有 OnOff 特征)已关闭电源。几秒钟前,客户通过按下开机按钮手动为设备供电。假设 Smart Home Graph 尚未报告或知道这一事实。
如果客户要求 Google 助理:关闭我的设备,现在会发生什么?这个请求会被拒绝吗?也就是说,即使 Graph Home 服务认为设备已经断电,履行服务是否会收到此后端?
另外,如果我们实施报告状态,我们是否还必须实施QUERY 操作?还是两者都需要?
在旁注中,本文档也没有真正解决必须报告状态更改的频率。它是否记录在其他地方?
【问题讨论】:
-
我为这个问题添加了价值 100 声望点的赏金!
-
如果您的服务不支持,为什么要使用报告状态?如果您不能支持报告状态,您可以简单地将
willReportState设置为false。如您发布的链接中所述,您的服务将不符合视觉助手的条件。如果你将willReportState设置为false,每次请求动作时,都会执行动作,每次请求状态时,都会执行查询 -
@pincopallino 您的推荐描述了所需的流程。但是文档说报告状态实现是公开启动智能家居代理的要求(请参阅有问题的链接),所以我想知道这到底意味着什么。不幸的是,我将其解释为必须实施报告状态。如果这是真的,我对此要求有一些问题或疑虑。
-
我认为(我希望有人可以确认)他们的意思是公开发布比以前更直观的新 Google 助理。查看他们在上次 IO 中展示的内容,例如 this article,其中展示了与智能设备交互的新方式(例如 thermostat)
标签: actions-on-google google-smart-home