スマートホーム インテントは、実行する Cloud-to-cloud 統合(ライトの点灯やスピーカーへの音声のキャストなど)を記述するシンプルなメッセージ オブジェクトです。
smart home インテントはすべて action.devices 名前空間に含まれており、それらのフルフィルメントを提供する必要があります。Google Assistant がフルフィルメントにインテントを送信するたびに、ユーザーのサードパーティ OAuth 2 アクセス トークンが Authorization ヘッダーで渡されます。
サポートされている smart home インテントは次のとおりです。
SYNC
action.devices.SYNC インテントは、ユーザーが接続していて使用可能な smart home デバイスのリストをリクエストするために使用されます。
ユーザーが Google Home app (GHA) を使用してデバイスをセットアップすると、クラウド インフラストラクチャでも認証されます。次に、Assistant が OAuth2 トークンを受け取ります。この時点で、Assistant は action.devices.SYNC インテントをフルフィルメントに送信し、クラウド インフラストラクチャからユーザーのデバイスと機能の初期リストを取得します。
ユーザーのアカウントのリンクを解除して再リンクすることを避けるには、Assistant に同期リクエストを送信します。これにより、action.devices.SYNC インテントがフルフィルメントに送信され、デバイスと機能のリストが同期されます。詳細については、Request Sync を実装するをご覧ください。
ローカル フルフィルメントのセットアップ中に、ローカルホーム プラットフォームは、smart home アクションのクラウド フルフィルメントからの SYNC レスポンスをチェックします。ローカル フルフィルメントをサポートするように SYNC レスポンスを変更する方法については、クラウド フルフィルメントで SYNC レスポンスを更新するをご覧ください。
QUERY
action.devices.QUERY インテントは、smart home デバイスの現在の状態をクエリするために使用されます。
ユーザーがデバイスのステータスをクエリしているときに、「OK Google, キッチンで点灯しているライトは?」などの質問に答える。Assistant がフルフィルメントに action.devices.QUERY インテントを送信します。
最適なユーザー エクスペリエンスを実現するには、Report State を実装して、ユーザーのデバイスの現在の状態を Google Home Graph に直接報告する必要があります。たとえば、ユーザーが物理的なライトスイッチでスマートライトをオンにしたかどうかを Assistant が把握できます。
EXECUTE
action.devices.EXECUTE インテントは、smart home デバイスで実行するコマンドを提供するために使用されます。
ユーザーが Assistant を使用してデバイスにコマンドを送信すると、フルフィルメントは、アクションと操作対象のデバイスを記述した action.devices.EXECUTE インテントを受信します。ユーザーは、「OK Google, リビングルームの照明をつけて」などのコマンドを使用して、デバイスでアクションを実行できます。
DISCONNECT
action.devices.DISCONNECT インテントは、ユーザーが Assistant からアプリアカウントのリンクを解除したときにトリガーされます。action.devices.DISCONNECT インテントを受信した後は、このユーザーのデバイスの状態を報告しないでください。