When converting a device currently using ( Cloud-to-cloud ) to Matter , you must ensure that the device uses the same ID on Matter that it uses when connected using the non- Matter APIs. Doing so ensures that the device shows just once on the user's Google Home Graph .
To avoid duplicates appearing on the
Home Graph, the partner's
cloud must send three new string fields for each device in the
SYNC
response to Google. These fields should match attributes defined in the Basic
Information Cluster for the
Matter device:
matterUniqueId
— TheUniqueId
attribute in string format.matterOriginalVendorId
— TheVendorId
attribute, in hexadecimal string format.matterOriginalProductId
— TheProductId
attribute, in hexadecimal string format.
Documentation on intents such as
SYNC
may be found in the Cloud-to-Cloud primer.
The example SYNC
response below shows
the use of the three new fields:
SYNC
Response
{ "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", } ] } ] } }
When a device that had previously been operating on a user's home network using
a partner's cloud is converted to a
Matter device, the
partner's cloud must immediately send a
REQUEST SYNC
to Google to update these fields as quickly as possible to avoid late
deduplication.
These strings should never change once they are provided for a given device. The Unique ID should only change on a factory-default reset, which makes the device appear to all integrations as an entirely new device.