将当前使用 (Cloud-to-cloud) 的设备转换为 Matter 时,您必须确保设备在 Matter 上使用的 ID 与使用非 Matter API 连接时使用的 ID 相同。这样可以确保设备仅在用户的 Google Home Graph 中显示一次。只有当 Cloud-to-cloud 设备与 Google Home app (GHA) 中的特定结构(住宅)相关联时,才能删除重复项。
SYNC
的相关要求
为避免 Home Graph 中出现重复项,合作伙伴的云端必须在向 Google 发送的 SYNC
响应中,为每台设备发送三个新的字符串字段。这些字段必须与 Matter 设备的基本信息集群中定义的属性一致。此外,SYNC
响应必须包含 roomHint
:
matterUniqueId
- 字符串格式的UniqueId
属性。matterOriginalVendorId
-VendorId
属性,采用十六进制字符串格式。matterOriginalProductId
-ProductId
属性,采用十六进制字符串格式。roomHint
- 此设备所在的房间。
如需了解 SYNC
等 intent 的文档,请参阅云到云入门。
以下 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
响应符合同步要求中所述的要求。