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 no Matter que usa quando conectado com as APIs não Matter. Isso garante que o dispositivo apareça apenas uma vez no Google Home Graph do usuário. Cloud-to-cloud dispositivos só podem ser desduplicados quando estão associados a uma estrutura específica (casa) no Google Home app (GHA).

Requisitos de SYNC

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

  1. matterUniqueId: o atributo UniqueId, no 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 no manual de nuvem a nuvem.

O exemplo SYNC de resposta abaixo mostra o uso dos três novos campos e 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 desduplicação tardia.

Essas strings nunca devem mudar depois de serem fornecidas para um determinado dispositivo. O ID exclusivo só muda 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 relevantes Cloud-to-cloud aparecerão em uma seção dedicada da tela principal do GHA, em uma seção intitulada Vinculado 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 um dispositivo Cloud-to-cloud que falhou na associação automática de estrutura para uma estrutura, a desduplicação poderá ocorrer no próximo SYNC, desde que as respostas SYNC estejam em conformidade com os requisitos observados em Requisitos de SYNC.