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

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

Требования SYNC

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

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

Документацию по таким намерениям, как SYNC можно найти в руководстве Cloud-to-Cloud Primer .

Пример ответа 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 . Устройства могут не быть структурированы по другим причинам.

If a user moves a Cloud-to-cloud device which failed automatic structure association into a structure manually, deduplication may take place on the next SYNC so long as SYNC responses conform to the requirements noted in SYNC requirements .