クラウド間および Matter デバイスの重複除去

現在(Cloud-to-cloud)を使用しているデバイスを Matter に変換する場合は、Matter 以外の API を使用して接続するときに使用する ID と同じ ID を Matter で使用するようにする必要があります。これにより、デバイスがユーザーの Google Home Graph に 1 回だけ表示されるようになります。Cloud-to-cloud デバイスは、Google Home app (GHA) の特定のストラクチャ(家)に関連付けられている場合にのみ重複除去できます。

SYNC の要件

Home Graph に重複が表示されないようにするには、パートナーのクラウドは、Google への SYNC レスポンスで、デバイスごとに 3 つの新しい文字列フィールドを送信する必要があります。これらのフィールドは、Matter デバイスの基本情報クラスタで定義されている属性と一致する必要があります。また、SYNC レスポンスには roomHint を含める必要があります。

  1. matterUniqueId - 基本情報クラスタの UniqueId 属性(文字列形式)。
  2. matterOriginalVendorId - 基本情報クラスタの VendorId 属性(16 進数の文字列形式)。
  3. matterOriginalProductId - 基本情報クラスタの ProductId 属性(16 進数の文字列形式)。
  4. roomHint - このデバイスが設置されている部屋。

SYNC などのインテントに関するドキュメントは、Cloud-to-Cloud の概要にあります。

以下の SYNC レスポンスの例は、3 つの新しいフィールドと roomHint の使用を示しています。

SYNC 回答
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [
      {
        "id": "456",
        "type": "action.devices.types.LIGHT",
        "traits": [
          "action.devices.traits.OnOff",
          "action.devices.traits.Brightness",
          "action.devices.traits.ColorSetting",
        ],
        "willReportState": true,
        "roomHint": "office",
        "deviceInfo": { ... },
        "matterUniqueId": "00112233aabbccddeeff",
        "matterOriginalVendorId": "0xfff1",
        "matterOriginalProductId": "0x1234",
        "otherDeviceIds": [
          {
            "deviceId": "local-device-id",
          }
        ]
      }
    ]
  }
}

パートナーのクラウドを使用してユーザーのホーム ネットワークで以前に動作していたデバイスが Matter デバイスに変換された場合、パートナーのクラウドはすぐに REQUEST SYNC を Google に送信して、これらのフィールドをできるだけ早く更新し、重複除去の遅延を回避する必要があります。

これらの文字列は、特定のデバイスに提供された後は変更しないでください。一意の ID は、出荷時の設定にリセットした場合にのみ変更されます。これにより、デバイスはすべての統合に対してまったく新しいデバイスとして表示されます。

ストラクチャの自動関連付け

Cloud-to-cloud デバイスが特定のストラクチャに自動的に関連付けられるとは限りません。ストラクチャの自動関連付けが不可能な状況では、関連する Cloud-to-cloud デバイスは、GHA のメイン画面の専用セクション([あなたにリンク済み] というセクション)に表示され、どの部屋にも属しません。このようなデバイスは重複除去されません。GHA に複数のストラクチャ(家)がある場合、デバイスは自動的にストラクチャに配置されません。デバイスが構造化されない理由は他にもあります。

自動ストラクチャ関連付けに失敗した Cloud-to-cloud デバイスをユーザーが手動でストラクチャに移動した場合、SYNC レスポンスが SYNC の要件に記載されている要件に準拠している限り、次の SYNC で重複除去が行われる可能性があります。