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

Ao converter um dispositivo que está usando (Cloud-to-cloud) para Matter, é necessário garantir que ele use o mesmo ID em Matter que usa quando conectado por APIs que não são Matter. Isso garante que o dispositivo seja mostrado apenas uma vez no Google Home Graph do usuário. A duplicação de dispositivos Cloud-to-cloud só pode ser eliminada quando eles estão associados a uma estrutura específica (casa) no Google Home app (GHA).

SYNC requisitos

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 no 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 do Cloud para a nuvem.

O exemplo de resposta SYNC abaixo mostra o uso dos três novos campos, bem como 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 tardia.

Essas strings nunca devem mudar depois de fornecidas para um determinado dispositivo. O ID exclusivo só pode ser alterado 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 dispositivos Cloud-to-cloud sejam associados automaticamente a uma estrutura específica. Nos casos 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 vão ser eliminados. 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 um dispositivo Cloud-to-cloud que falhou na associação automática de estrutura para uma 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 nos requisitos de sincronização.