Home Graph

智能家居 Action 依赖于 Google Home Graph,该数据库用于存储和提供有关住宅及其设备的环境数据。Home Graph 数据库存储有关结构(例如住宅或办公室)、房间(例如卧室或客厅)以及设备(例如音响设备和灯泡)的信息。例如,Home Graph 可以存储具有客厅的住宅这一概念,客厅中包含来自不同制造商的多种类型的设备,如灯、电视和音箱。此信息可供 Google Assistant 使用,以便根据相应的上下文执行用户请求。状态数据(例如灯泡是否开启)不会长期存储,而是临时性的,仅在 Home Graph 中使用。

Home Graph 本质上是住宅的逻辑地图。您可以使用它与 Assistant 进行自然对话。如果您坐在小书房里,想要关闭小书房里的灯,您只需说“Ok Google,把灯关了”就行了,而不用说当前所在的房间。

Home Graph的优势:

  • 隐式命令。您本人、您的 Google Home 设备和灯都在同一个房间内。你只需要说开灯就可以了,您无需指明灯所在的房间。
  • 更好地控制显式定位。你可以从另一个房间关闭厨房内来自多家制造商的灯。系统会为在 Home Graph 中标识的特定房间确定 smart home intent。

结构

借助 Google Home app (GHA),一名用户可以配置多个结构,以便管理多个住宅。每个结构都有自己的一组房间和设备。一个结构由以下部分组成:

  • 管理员 - 结构所有者的账号。每个结构必须至少有一名管理员。定义管理员后,就可以与其他用户共享或停止与其他用户共享结构。
  • 房间 - 属于结构构成部分的房间。
  • 标签 - 用于标识结构的标签,例如“约翰的住宅”。
  • 设备 - 属于结构构成部分的设备。这些设备可能来自多个制造商。

图 1 显示了一个示例房屋,其中包含一个结构、三个房间和多台设备:

下图显示的是一个示例 Home Graph。其中一个结构用蓝色虚线勾勒,三个房间用橙色线勾勒,而房间内的一些设备以绿色圆圈表示。
图 1:示例 Home Graph

聊天室

房间属于结构的一部分,由以下部分构成:

  • 标签 - 用于标识房间的标签,例如“主卧室”。
  • 设备 - 属于房间组成部分的设备。这些设备可能来自多个制造商。

设备

一台设备必须属于至少一个结构,最多可属于 1 个房间,并且具有以下属性:

  • 类型 - 设备的类型,例如灯具、摄像头或空调设备。
  • 特征 - 设备支持的特征类型。每种设备都可以具有多个特征。灯可能具有 BrightnessColorSetting 等特征。

特征

特征具有以下属性:

  • 属性 - 设备静态不变的设备属性。属性可以是温度单位或模式等。
  • 状态 - 设备的状态。灯可能会返回一个亮度状态,以指示特定灯的当前亮度。每个设备特征都会为设备添加不同的设备状态。
  • 标签 - 用于标识设备的标签,例如“卧室灯”。