Android の Automation API の概要

自動化とは、家の中のタスクやデバイスの設定を自動化する方法です。Google Home エコシステムでは、Google Home app (GHA) のルーティンと Google Home for webautomation script editor を通じて自動化を利用できます。

Google Home エコシステムの自動化は、Android 用の Home API を通じて利用できるようになりました。GHA ルーティンと script editor で使用される基本的なコンセプトは同じですが、Home API でのみ可能な機能が強化されています。たとえば、次のような機能があります。

  • Home API で提示される、デバイスのすべての Matter 標準トレイトと smart home トレイトへのアクセス。
  • 順次、並列、選択の実行フローをサポートします。

自動化は、Kotlin で自動化を構築するために設計されたドメイン固有言語である Automation DSL を使用して記述されます。

Device & Structure API または Automation API を使用してアプリで使用する予定の特性とタイプは、初期化時に登録する必要があります。Android でホームを初期化するをご覧ください。

デベロッパーが実施する手順

Automation API は、より大きな開発ジャーニーの一部です。これは、ユーザーが自動化を使用したいときに使用できるように、Structure API と Device API を統合した後に提供されます。

  1. デベロッパーが自動化を計画し、Automation DSL を使用して定義します。
  2. デベロッパーは、自動化の定義を Kotlin Android アプリに埋め込みます。
  3. アプリは、Discovery API または Device API を使用して収集された、特性、属性、コマンド、イベントなどのデバイスに関する情報に基づいて、ユーザーに自動化を提示します。
    1. Discovery API を使用すると、アプリはユーザーの構造に存在するデバイスタイプと特性に合わせてカスタマイズされた自動化の下書きを、ユーザーの入力を伴うか伴わないかにかかわらず生成できます。
    2. Device API は Discovery API とほぼ同じ情報を提供できますが、自動化のユースケース向けに最適化されていません。詳しくは、Device API と Discovery API の比較をご覧ください。
  4. アプリは、選択した構造にキー設定された実際の自動化を作成します。
  5. 自動化はユーザーの構造で使用できるようになり、Structure API メソッドを使用して実行または削除できます。

ユーザーは、いつでも自動化の新しいインスタンスを作成し、別の構造を選択できます。アプリのロジックによっては、別のデバイスセットを選択することもできます。そのたびに、アプリは自動化の新しいインスタンスを生成します。

最も基本的なシナリオでは、比較的基本的なタスクを実行する事前定義された自動化をユーザーに提案できます。または、ユーザーがニーズに合わせてカスタマイズする自動化のスケルトンを提示することもできます。また、ユーザーが Automation API で利用可能なすべてのビルディング ブロックを使用して複雑な自動化を構築できる、オープン エンドの自動化エディタを作成することもできます。

リソースに関する上限

Home API の自動化には次の上限が適用されます。

表: Automation API のリソース上限
指標 上限
ストラクチャあたりのオートメーションの最大数 64
自動化あたりのノードの最大数 128
自動化あたりの式ノードの最大数 64
構造あたりの自動化インスタンスの最大数 1024
構造ごとのデベロッパーあたりの自動化インスタンスの最大数 64
1 日あたりの構造ごとの最大実行数 1024
デベロッパー、構造体ごとの 1 日あたりの最大実行数 128