Android 向け Home API は、Google Home エコシステムのすべてのデバイスを統合データモデルで表現します。このデータモデルは、基盤となるスマートホーム テクノロジー(Matter や Cloud-to-cloud など)に関係なく、すべてのタイプのデバイス(Google Nest やサードパーティ メーカーのデバイスなど)を対象としており、smart home とモバイルアプリの両方のデベロッパーがユーザー エクスペリエンスを構築するための共通の API サーフェスを提供します。
デバイスタイプ
Home API で提供されるデバイスタイプは、Matter と Cloud-to-cloud のデータモデルを統合したものです。Matter から直接派生したもの、Matter デバイスタイプの拡張機能、Cloud-to-cloud から派生したものがあります。
デバイスタイプには、デバイスの制御と管理に使用されるトレイトが含まれています。デバイスタイプと同様に、特性はMatterクラスターとCloud-to-cloud特性と、それに似た共通の形式で提示されますMatterクラスター。ホーム API では、Matter由来形質は特性、 ないクラスター。
そのため、ホーム API のデバイスタイプと特性は、Matter -初め。Matter デバイスタイプまたはトレイトは Cloud-to-cloud アナログよりも優先されます。
デバイスタイプとそのトレイトのリストについては、Android でサポートされているデバイスタイプをご覧ください。
トレイト
Kotlin 版のトレイトはホーム API で使用するために生成され、ホーム API に固有の追加機能(MatterまたはCloud-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 の正しいパッケージ名を確認するには、リファレンスを参照してください。
ほとんどのトレイトは自動化で使用できますが、一部のトレイトは自動化でのみ使用できます。詳細については、Android での Automation API 特性のサポートをご覧ください。
デバイスタイプの構成
Home API は、データモデルの特性としてほとんどの Matter アプリケーション クラスタをサポートしています。デバイスの制御や状態に対応しておらず、エンドユーザーに有用性を提供しないトレイト(Binding や Groups など)は、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 のいずれか一方または両方のソースのトレイトで構成されます。
たとえば、扇風機デバイスタイプは、両方で構成され、3 つのトレイトを備えています。
IdentifyMatter トレイトは、MatterIdentifyのすべての機能を提供します。FanControlMatter トレイトは、MatterFanControlトレイトのすべての機能を提供します。ExtendedFanControlGoogle トレイトは、FanControlMatter トレイトでカバーされていない Google smart homeFanSpeedトレイトのすべての機能を提供します。
このタイプのトレイト構成は、基盤となる smart home データモデルを抽象化し、デバイス タイプの完全な機能のための柔軟なモデルを提供します。