Дедупликация устройств Cloud-to-Cloud и Matter

При преобразовании устройства, которое в настоящее время использует ( Cloud-to-cloud ) в Matter , вы должны убедиться, что устройство использует тот же идентификатор в Matter , который оно использует при подключении с использованием API, не относящихся к Matter . Это гарантирует, что устройство будет отображаться на Google Home Graph пользователя только один раз. Устройства Cloud-to-cloud могут быть дедуплицированы только в том случае, если они связаны с определенной структурой (домом) в Google Home app (GHA) .

Требования SYNC

Чтобы избежать появления дубликатов на Home Graph , облако партнера должно отправить в Google три новых строковых поля для каждого устройства в ответе SYNC . Эти поля должны соответствовать атрибутам, определенным в кластере базовой информации для устройства Matter . Кроме того, ответы SYNC должны содержать roomHint :

  1. matterUniqueId — Атрибут UniqueId в строковом формате.
  2. matterOriginalVendorId — Атрибут VendorId в формате шестнадцатеричной строки.
  3. matterOriginalProductId — Атрибут ProductId в формате шестнадцатеричной строки.
  4. roomHint — комната, в которой находится это устройство.

Документацию о таких целях, как 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 , облако партнера должно немедленно отправить REQUEST SYNC в Google, чтобы как можно быстрее обновить эти поля, чтобы избежать поздней дедупликации.

Эти строки никогда не должны меняться после того, как они предоставлены для данного устройства. Уникальный идентификатор должен меняться только при сбросе настроек к заводским настройкам, в результате чего устройство будет отображаться для всех интеграций как совершенно новое устройство.

Автоматическое объединение структур

Устройства Cloud-to-cloud не гарантированно будут автоматически связаны с определенной структурой. В ситуациях, когда автоматическая ассоциация структур невозможна, соответствующие Cloud-to-cloud устройства появятся в специальном разделе главного экрана GHA , в разделе под названием «Связано с вами» , за пределами каких-либо комнат. Такие устройства не будут дедуплицироваться. Устройства не будут автоматически размещаться в структуре, если у пользователя в GHA более одной структуры (дома). Устройства могут не структурироваться по другим причинам.

Если пользователь перемещает устройство Cloud-to-cloud , которому не удалось выполнить автоматическую привязку структуры, к структуре вручную, дедупликация может произойти при следующей SYNC , если ответы SYNC соответствуют требованиям, указанным в требованиях SYNC .