Eliminação de duplicação de dispositivos entre nuvens e Matter

Ao converter um dispositivo que usa (Cloud-to-cloud) para Matter, é preciso garantir que ele use o mesmo ID em Matter que usa quando conectado usando as APIs que não são do Matter. Isso garante que o dispositivo apareça apenas uma vez no Google Home Graph do usuário. Os dispositivos do Cloud-to-cloud só podem ser desduplicados quando estão associados a uma estrutura específica (casa) no Google Home app (GHA).

Requisitos do SYNC

Para evitar que duplicatas apareçam no Home Graph, a nuvem do parceiro precisa enviar três novos campos de string para cada dispositivo na resposta SYNC ao Google. Esses campos precisam corresponder aos atributos definidos no cluster de informações básicas do dispositivo Matter. Além disso, as respostas de SYNC precisam conter roomHint:

  1. matterUniqueId: o atributo UniqueId, em formato de string, do cluster de informações básicas.
  2. matterOriginalVendorId: o atributo VendorId, no formato de string hexadecimal, do cluster de informações básicas.
  3. matterOriginalProductId: o atributo ProductId, no formato de string hexadecimal, do cluster de informações básicas.
  4. roomHint: o ambiente em que o dispositivo está.

A documentação sobre intents como SYNC pode ser encontrada na introdução ao Cloud-to-Cloud.

O exemplo de resposta SYNC abaixo mostra o uso dos três novos campos, além de roomHint:

SYNC Resposta
{
  "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",
          }
        ]
      }
    ]
  }
}

Quando um dispositivo que estava operando na rede doméstica de um usuário usando a nuvem de um parceiro é convertido em um dispositivo Matter, a nuvem do parceiro precisa enviar imediatamente um REQUEST SYNC ao Google para atualizar esses campos o mais rápido possível e evitar a eliminação de duplicação atrasada.

Essas strings nunca devem mudar depois de serem fornecidas para um determinado dispositivo. O ID exclusivo só deve mudar em uma redefinição de fábrica, o que faz com que o dispositivo apareça para todas as integrações como um dispositivo totalmente novo.

Associação automática de estrutura

Não há garantia de que os dispositivos Cloud-to-cloud sejam associados automaticamente a uma estrutura específica. Em situações em que a associação automática de estrutura não é possível, os dispositivos Cloud-to-cloud relevantes aparecem em uma seção dedicada da tela principal do GHA, em uma seção chamada Vinculados a você, fora de qualquer ambiente. Esses dispositivos não serão desduplicados. Os dispositivos não serão colocados automaticamente em uma estrutura quando o usuário tiver mais de uma estrutura (casa) no GHA. Os dispositivos podem não ser estruturados por outros motivos.

Se um usuário mover manualmente para uma estrutura um dispositivo Cloud-to-cloud que falhou na associação automática de estrutura, a eliminação de duplicação poderá ocorrer na próxima SYNC, desde que as respostas de SYNC estejam em conformidade com os requisitos indicados em Requisitos de SYNC.