将当前使用 (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:
matterUniqueId- 字符串格式的UniqueId属性。matterOriginalVendorId-VendorId属性,采用十六进制字符串格式。matterOriginalProductId-ProductId属性,采用十六进制字符串格式。roomHint- 设备所在的房间。
有关 SYNC 等意图的文档可在 Cloud-to-Cloud 入门指南中找到。
以下示例 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 时进行去重。