iOS のデータモデル

iOS 用の Home API は、Google Home エコシステム内のすべてのデバイスを統合されたデータ モデルで提供します。このデータモデルは、基盤となるスマートホームテクノロジー(例えば、MatterまたはCloud-to-cloud)と、両方のユーザーエクスペリエンスを構築するための共通の API サーフェスを提供します。smart homeモバイル アプリ開発者向け。

デバイスタイプ

ホーム API で提供されるデバイスタイプは、MatterそしてCloud-to-cloudデータ モデル。一部は Matter から直接派生し、一部は Matter デバイスタイプの拡張であり、一部は Cloud-to-cloud から派生しています。

デバイス タイプには、デバイスの制御と管理に使用される特性が含まれています。デバイスタイプと同様に、特性はMatterクラスターとCloud-to-cloud特性と、それに似た共通の形式で提示されますMatterクラスター。ホーム API では、Matter由来形質は特性、 ないクラスター

そのため、ホーム API のデバイスタイプと特性は、Matter -初め。あMatterデバイスタイプまたは特性は、Cloud-to-cloudアナログ。

デバイスの種類とその特性の一覧については、iOS でサポートされているデバイスの種類をご覧ください。

トレイト

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

特性とデバイスタイプをインポートするには、GoogleHomeTypesモジュールをアプリケーションに組み込みます。

import GoogleHomeTypes

また、typealiasコードを短縮し、名前空間の繰り返しを避けるための特性とデバイスタイプ名:

import GoogleHomeTypes

typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType

ほとんどのトレイトは自動化で使用できますが、一部のトレイトは自動化でのみ使用できます。詳細については、Android での Automation API 特性のサポートをご覧ください。

デバイスタイプの構成

ホーム API はほとんどのMatterアプリケーション クラスターをデータ モデル内の特性として扱います。デバイス制御や状態に対応せず、エンドユーザーにユーティリティを提供しない特性 (バインディングやグループなど) は、ホーム API を通じて公開されません。

Cloud-to-cloud スマートホーム トレイトから派生したトレイトは、通常、OpenCloseTrait の例のように、Cloud-to-cloud と Home API 間で同じ名前を持ちます。その他は、Matter メーカー固有の拡張機能を使用して作成された Matter 特性の拡張機能として表されます。これらの特性は、smart home機能が分割されている特性MatterSDK と Google Home エコシステム。具体的な例としては、Google*デバイスの種類はCloud-to-cloudしかし、Matter 類似品はまだありません。

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

たとえば、FanDeviceType は両方で構成され、次の 3 つの特性を備えています。

  • IdentifyTrait Matter トレイトは、Matter IdentifyTrait のすべての機能を提供します。
  • FanControlTrait Matter トレイトは、Matter FanControlTrait のすべての機能を提供します。
  • そのExtendedFanControlTraitGoogle トレイトは Google のすべての機能を提供しますsmart home FanSpeedTraitカバーされていないFanControlTrait Matter特性。

このタイプの特性構成は、基礎となる機能を抽象化し、完全なデバイスタイプの機能のための柔軟なモデルを提供します。smart homeデータ モデル。