智能家居 intent 是一种简单的消息传递对象,用于说明 要执行的 Cloud-to-cloud 集成,例如开灯或 向音响设备投射音频。
所有 smart home intent 都包含在
action.devices 命名空间中,并且您必须为 intent 提供执行方式。每当
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 响应。
QUERY
action.devices.QUERY intent 用于查询 smart home 设备的当前状态
。
当用户查询设备状态时,为了回答
Hey Google,厨房里开了哪些灯?
之类的问题,Assistant 会向您的
执行方式发送 action.devices.QUERY intent。
为了提供最佳用户体验,您应实现 报告状态,以主动向 直接报告用户设备的当前状态 Google Home Graph。例如,这会让 Assistant知道用户是否使用 实体灯开关打开了智能灯。
EXECUTE
action.devices.EXECUTE intent 用于提供命令
在 smart home 设备上执行。
当用户使用 Assistant 向设备发送命令时,您的
执行方式会接收到您的执行方式的 action.devices.EXECUTE intent,该
intent 说明了要执行的 Action 以及要操作的设备。用户可以使用“Hey Google,打开客厅的灯”等命令在设备上执行 Action。
DISCONNECT
系统会在用户解除应用帐号与 Assistant 的关联时触发 action.devices.DISCONNECT intent 来通知您。收到 action.devices.DISCONNECT intent 后,您不应报告此用户设备的状态。