データモデル

Home API は、Google Home エコシステム内のすべてのデバイスを統合されたデータモデルで表します。このデータモデルは、基盤となるスマートホーム テクノロジー(MatterCloud-to-cloud など)に関係なく、すべての種類のデバイス(Google Nest またはサードパーティ メーカー製)を対象としています。また、smart home とモバイルアプリ デベロッパーの両方のユーザー エクスペリエンスを構築するための共通の API サーフェスを提供します。

デバイスタイプ

Home API で提示されるデバイスタイプは、Matter データモデルと Cloud-to-cloud データモデルを統合したものです。一部は Matter から直接派生したもの、一部は Matter デバイスタイプの拡張機能、一部は Cloud-to-cloud から派生したものです。

デバイスタイプには、デバイスの制御と管理に使用されるトレイトが含まれています。デバイスタイプと同様に、特徴は Matter クラスタと Cloud-to-cloud 特徴から派生し、Matter クラスタに似た共通形式で提示されます。Home API では、Matter から派生した特徴は、クラスタではなく特徴と呼ばれます。

そのため、Home API のデバイスタイプとトレイトは Matter を優先しています。Matter デバイスタイプまたはトレイトは、Cloud-to-cloud アナログよりも優先されます。

デバイスタイプとそのトレイトの一覧については、サポートされているデバイスタイプをご覧ください。

トレイト

Kotlin バージョンのトレイトは、Home API で使用するために生成され、Home API に固有の追加機能(MatterCloud-to-cloud には存在しない機能)が含まれています。たとえば、各トレイトには、トレイトが特定の属性またはコマンドをサポートしているかどうかを確認するメソッドがあります。これは、デバイスタイプ内のすべてのデバイスに同じ機能が備わっているとは限らないため、ユーザーのデバイスで状態の読み取りや特定のアクションを実行できるかどうかを判断する際に役立ちます。

各トレイトは独自の名前空間に含まれており、使用するには個別にインポートする必要があります。

たとえば、Matter オン/オフの特性とオン/オフのプラグイン ユニットのデバイスタイプを使用するには、次のパッケージをアプリケーションにインポートします。

import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice

ガレージ デバイスの種類(Google スマートホーム)の場合は、Matter と Google のトレイトの組み合わせを指定します。

import com.google.home.google.LockUnlock
import com.google.home.matter.standard.DoorLock
import com.google.home.matter.standard.GoogleGarageDevice

Android Studio には自動補完機能があり、プロジェクトのソースファイルに import 行を追加すると、多くの場合、パッケージ名全体が自動的に処理されます。ただし、パッケージ名はすべてのデバイスタイプと特性で一貫しているわけではありません。各 DeviceType または Trait の正しいパッケージ名を確認するには、リファレンスをご覧ください。

自動化での使用もサポートされていますが、制限される場合があり、一部の特徴は自動化でのみ使用できます。一覧については、Automation API の特性サポートをご覧ください。

デバイスタイプの構成

Home API は、データモデル内の特性としてほとんどの Matter 1.3 アプリケーション クラスタをサポートしています。デバイスの制御や状態に対応しておらず、エンドユーザーに有用性を提供しない特性(バインディングやグループなど)は、Home API で公開されません。

Cloud-to-cloud スマートホーム トレイトから派生したトレイトは、通常、Cloud-to-cloud と Home API で同じ名前になります(OpenClose の例など)。その他の特性は、Matter メーカー固有の拡張機能を使用して作成された Matter 特性の拡張機能として表されます。これらのトレイトは、機能が Matter SDK と Google Home エコシステムに分割されている smart home トレイトのギャップを埋めます。具体的な例として、Cloud-to-cloud から派生した Google* デバイスタイプが挙げられます。このデバイスタイプには Matter の類似デバイスはまだありません。

デバイスタイプは、Matter または Cloud-to-cloud の 1 つまたは両方のソースのトレイトから構成されます。

たとえば、ファン デバイスタイプは両方で構成され、2 つの FanControl トレイトを備えています。

  • FanControl Matter トレイトは、Matter FanControl トレイトのすべての機能を提供します。
  • ExtendedFanControl Google トレイトは、FanControl Matter トレイトでカバーされていない Google smart home FanSpeed トレイトのすべての機能を提供します。

このタイプのトレイトの合成は、基盤となる smart home データモデルを抽象化して、完全なデバイスタイプの機能を実現する柔軟なモデルを提供します。