Cloud-to-cloud インテグレーションは、家とそのデバイスに関するコンテキスト データを保存して提供するデータベースである Google Home Graph に依存しています。Home Graph データベースには、構造(家屋やオフィスなど)、部屋(寝室やリビングルームなど)、デバイス(スピーカーやライトなど)に関する情報が格納されます。たとえば、Home Graph は、さまざまなメーカーの複数種類のデバイス(ライト、テレビ、スピーカー)が置かれたお宅のリビングルームをコンセプトとして保存できます。この情報を利用して、Google Assistant は適切なコンテキストに基づいてユーザーのリクエストを処理できます。ライトが点灯しているかどうかなどの状態データは長期的には保存されません。このようなデータは一時的なものであり、Home Graph でのみ使用されます。
Home Graph はその性質から、家の論理的な地図のようなものと言えます。これにより、Assistant との自然な会話が可能になります。書斎にいてそこのライトを消そうとする場合は「OK Google, ライトを消して」と言うだけで、現在どの部屋にいるかを伝える必要はありません。
Home Graph のメリット:
- 暗黙的に指示ができる。Google Home デバイスとライトがある部屋にいる場合は、「ライトを点けて」というだけで済みます。ライトが置かれた部屋を指定する必要はありません。
- 特定の対象を制御できる。他の部屋にいるときでも、キッチンのライトを消すことができます。複数のメーカーのライトが混在していても問題ありません。smart home インテントは、Home Graph で特定された部屋に対して決定されます。
構造
Google Home app (GHA) では、ユーザーが複数のストラクチャを構成できるため、複数の家を管理できます。構造ごとに固有の部屋とデバイスがあります。構造は以下から構成されます。
- 管理者 - 構造の所有者のアカウント。構造ごとに 1 人以上の管理者が必要です。定義された管理者は他のユーザーと構造を共有または共有解除できます。
- 部屋 - 構造の一部である部屋。
- ラベル - 「John の家」のようにストラクチャを識別するラベル。
- デバイス - 構造の一部であるデバイス。複数のメーカー製のデバイスが混在していてもかまいません。
図 1 は、1 つのストラクチャ、3 つの部屋、いくつかのデバイスを備えた家のサンプルです。
Rooms
部屋は構造に属し、次のもので構成されています。
- ラベル - 「メイン ベッドルーム」のように部屋を識別するラベル。
- デバイス - 部屋の一部であるデバイス。複数のメーカー製のデバイスが混在していてもかまいません。
デバイス
デバイスは少なくとも 1 つの構造に属する必要があり、最大で 1 つの部屋に属することができます。デバイスには次のプロパティがあります。
- 種類 - ランプ、カメラ、空調機器などのデバイスの種類。
- トレイト - デバイスがサポートするトレイトの種類。トレイトはデバイスごとに異なります。たとえば、照明には
Brightness
やColorSetting
などのトレイトがあります。
トレイト
トレイトには次のプロパティがあります。
- 属性 - デバイス属性のうち、デバイスにとって静的なものをいいます。たとえば、温度単位やモードがこれに該当します。
- 状態 - デバイスの状態。ランプは、その特定のランプの現在の明るさを示す明るさの状態を返すことができます。デバイスのトレイトごとに、さまざまなデバイス状態がデバイスに追加されます。
- ラベル - 「寝室のランプ」のようにデバイスを識別するラベル。