云到云和 Matter 设备的重复信息删除

将当前使用 (Cloud-to-cloud) 的设备转换为 Matter 时,您必须确保设备在 Matter 上使用的 ID 与通过非 Matter API 连接时使用的 ID 相同。这样做可确保设备在用户的 Google Home Graph 上仅显示一次。Cloud-to-cloud 设备只有在与 Google Home app (GHA) 中的特定结构(住宅)相关联时,才能删除重复信息。

SYNC 的相关要求

为避免 Home Graph 中出现重复项,合作伙伴的云必须在 SYNC 响应中为每台设备发送三个新的字符串字段,以发送给 Google。这些字段必须与 Matter 设备的基本信息集群中定义的属性一致。此外,SYNC 响应必须包含 roomHint

  1. matterUniqueId - 字符串格式的 UniqueId 属性。
  2. matterOriginalVendorId - VendorId 属性,采用十六进制字符串格式。
  3. matterOriginalProductId - ProductId 属性,采用十六进制字符串格式。
  4. roomHint - 此设备所在的房间。

如需查看有关 intent(例如 SYNC)的文档,请参阅云到云入门指南

下面的 SYNC 响应示例显示了三个新字段以及 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 设备时,合作伙伴的云必须立即向 Google 发送 REQUEST SYNC,以尽快更新这些字段,以避免延迟重复信息删除。

这些字符串在提供给指定设备后绝不应更改。唯一 ID 应该仅在恢复出厂设置时更改,这会使设备在所有集成中都显示为全新设备。

自动关联结构

我们无法保证 Cloud-to-cloud 设备会自动与特定结构相关联。在无法进行自动结构关联的情况下,相关的 Cloud-to-cloud 设备将显示在 GHA 主屏幕的专用部分(标题为已关联到您的部分)下,位于任何房间之外。系统不会删除此类设备上的重复信息。当用户的 GHA 中有多个结构(住宅)时,设备不会自动放置在某个结构中。设备可能会因其他原因而构建失败。

如果用户手动将未通过自动结构关联的 Cloud-to-cloud 设备移入结构中,只要 SYNC 响应符合 SYNC 要求中所述的要求,系统就会对下一个 SYNC 执行重复信息删除操作。