智能家居 intent 是简单的消息传递对象,用于说明要执行什么 smart home 操作,例如开灯或向音响设备投放音频。
所有 smart home intent 都包含在 action.devices
命名空间中,您必须为它们提供执行方式。每当 Google Assistant 向执行方式发送 intent 时,系统都会在 Authorization 标头中传递用户的第三方 OAuth 2 访问令牌。
以下是受支持的 smart home intent:
SYNC
action.devices.SYNC
intent 用于请求用户已连接且可供使用的 smart home 设备的列表。
当用户使用 Google Home app (GHA) 设置其设备时,他们也会针对您的云基础架构进行身份验证。然后,Assistant 会收到一个 OAuth2 令牌。此时,Assistant 会向您的执行方式发送 action.devices.SYNC
intent,以从您的云基础架构中检索用户设备和功能的初始列表。
为避免解除关联并重新关联用户帐号,您可以向 Assistant 发送请求同步。这会向您的执行方式发送 action.devices.SYNC
intent,以同步设备和功能列表。如需了解详情,请参阅实现请求同步。
在设置本地执行方式期间,Local Home 平台会检查来自 smart home Action 云执行方式的 SYNC
响应。如需详细了解如何修改 SYNC
响应以支持本地执行方式,请参阅在云执行方式中更新 SYNC 响应。
查询
action.devices.QUERY
intent 用于查询 smart home 设备的当前状态。
当用户查询设备状态时,为了回答“Hey Google,厨房里打开了哪些灯?”这样的问题,
Assistant 会向您的执行方式发送 action.devices.QUERY
intent。
为了提供最佳用户体验,您应实现报告状态,以主动向 Google Home Graph 直接报告用户设备的当前状态。例如,这样可以让 Assistant 知道用户是否使用实体灯开关打开了智能灯。
执行
action.devices.EXECUTE
intent 用于提供在 smart home 设备上执行的命令。
当用户使用 Assistant 向设备发送命令时,您的执行方式会收到您的执行方式的 action.devices.EXECUTE
intent,该 intent 描述了所执行的操作以及要采取操作的设备。用户可以使用“Hey Google,打开客厅的灯”等命令在设备上执行操作。
断开连接
当用户解除应用帐号与 Assistant 的关联时,就会触发 action.devices.DISCONNECT
intent 来通知您。收到 action.devices.DISCONNECT
intent 后,您不应报告此用户设备的状态。