スマートホーム インテントは、照明の点灯やスピーカーへの音声のキャストなど、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
インテントを受信した後は、そのユーザーのデバイスの状態を報告しないでください。