Cloud-to-cloud and Matter device deduplication

Stay organized with collections Save and categorize content based on your preferences.

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:

  1. matterUniqueId — The UniqueId attribute in string format.
  2. matterOriginalVendorId — The VendorId attribute, in hexadecimal string format.
  3. matterOriginalProductId — The ProductId 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.