Cloud-to-cloud の統合では、Google Home Graph が使用されます。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
などのトレイトがあります。
トレイト
トレイトには次のプロパティがあります。
- 属性 - デバイス属性のうち、デバイスにとって静的なものをいいます。たとえば、温度単位やモードがこれに該当します。
- 状態 - デバイスの状態。ランプは、その特定のランプの現在の明るさを示す明るさの状態を返すことができます。デバイスのトレイトごとに、さまざまなデバイス状態がデバイスに追加されます。
- ラベル - 「寝室のランプ」のようにデバイスを識別するラベル。