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

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

Requisitos do SYNC

Para evitar que os duplicados 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 para o dispositivo Matter. Além disso, as respostas SYNC precisam conter roomHint:

  1. matterUniqueId: o atributo UniqueId em formato de string.
  2. matterOriginalVendorId: o atributo VendorId, no formato de string hexadecimal.
  3. matterOriginalProductId: o atributo ProductId, no formato de string hexadecimal.
  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 e do 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 para o Google para atualizar esses campos o mais rápido possível e evitar a duplicação tardia.

Essas strings não podem mudar depois de fornecidas para um determinado dispositivo. O ID exclusivo só vai mudar em uma redefinição para a configuração original, 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 automaticamente associados 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 vão aparecer em uma seção dedicada da tela principal do GHA, em uma seção intitulada Vinculado a você, fora de qualquer sala. Esses dispositivos não serão duplicados. 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 um dispositivo Cloud-to-cloud que falhou na associação automática de estrutura para uma estrutura manualmente, a eliminação de duplicação poderá ocorrer na próxima SYNC, desde que as respostas da SYNC estejam em conformidade com os requisitos indicados nos Requisitos de SYNC.