スマートホーム インテントは、照明の点灯、スピーカーへの音声のキャストなど、実行する smart home アクションを記述するシンプルなメッセージ オブジェクトです。
すべての 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 レスポンスを更新するをご覧ください。
クエリ
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, リビングルームの電気をつけて」などのコマンドで、デバイスでアクションを実行できます。

接続解除
action.devices.DISCONNECT
インテントは、ユーザーが Assistant からアプリ アカウントのリンクを解除したことを知らせるためにトリガーされます。action.devices.DISCONNECT
インテントを受け取った後は、このユーザーのデバイスの状態を報告しないでください。