智能家居 intent 是一种简单的消息传递对象,用于说明要执行的 Cloud-to-cloud 集成,例如开灯或向音响设备投射音频。
所有 smart home intent 都包含在 action.devices
命名空间中,并且您必须为 intent 提供执行方式。每当 Google Assistant 向执行方式发送 intent 时,系统都会在 Authorization 标头中传递用户的第三方 OAuth 2 访问令牌。
以下是受支持的 smart home intent:
同步
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 说明了要执行的 Action 以及要操作的设备。用户可以使用“Hey Google,打开客厅的灯”等命令在设备上执行 Action。
断开连接
当用户解除应用账号与 Assistant 的关联时,系统就会触发 action.devices.DISCONNECT
intent 来通知您。收到 action.devices.DISCONNECT
intent 后,您不应报告此用户设备的状态。