Deduplikacja urządzeń w chmurze i urządzeń Matter

Podczas konwertowania urządzenia, które obecnie korzysta z (Cloud-to-cloud) na Matter, musisz się upewnić, że urządzenie używa w systemie Matter tego samego identyfikatora, którego używa w przypadku połączenia z interfejsami API innych niż Matter. Dzięki temu urządzenie będzie widoczne tylko raz na Google Home Graph użytkownika. Urządzenia Cloud-to-cloud można usuwać z duplikatów tylko wtedy, gdy są powiązane z konkretną strukturą (domem) w Google Home app (GHA).

Wymagania SYNC

Aby uniknąć wyświetlania duplikatów w usłudze Home Graph, chmura partnera musi wysłać do Google 3 nowe pola ciągu znaków dla każdego urządzenia w odpowiedzi SYNC. Te pola muszą odpowiadać atrybutom zdefiniowanym w klastrze informacji podstawowych dla urządzenia Matter. Dodatkowo odpowiedzi SYNC muszą zawierać:

  1. matterUniqueId – atrybut UniqueId w formacie ciągu znaków.
  2. matterOriginalVendorId – atrybut VendorId w postaci szesnastkowej ciągu znaków.
  3. matterOriginalProductId – atrybut ProductId w formacie ciągu szesnastkowym.
  4. roomHint – pomieszczenie, w którym znajduje się to urządzenie.

Dokumentację dotyczącą intencji, takich jak SYNC, znajdziesz w podręczniku Cloud-to-Cloud.

Przykładowa odpowiedź SYNC poniżej pokazuje użycie 3 nowych pól oraz pola roomHint:

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

Gdy urządzenie, które wcześniej działało w sieci domowej użytkownika w chmurze partnera, zostanie przekształcone w urządzenie Matter, chmura partnera musi natychmiast wysłać do Google wiadomość REQUEST SYNC, aby jak najszybciej zaktualizować te pola i uniknąć opóźnień w usuwaniu duplikatów.

Te ciągi znaków nie powinny się nigdy zmieniać po ich podaniu na danym urządzeniu. Identyfikator unikalny powinien się zmienić tylko po przywróceniu ustawień fabrycznych, co spowoduje, że urządzenie będzie się wyświetlać wszystkim integracjom jako zupełnie nowe urządzenie.

Automatyczne łączenie struktur

Nie ma gwarancji, że urządzenia z Cloud-to-cloud zostaną automatycznie powiązane z konkretną strukturą. W sytuacjach, gdy automatyczne powiązanie struktury nie jest możliwe, odpowiednie urządzenia Cloud-to-cloud będą widoczne w specjalnej sekcji ekranu głównego GHA, w sekcji Połączone z Tobą, poza pomieszczeniami. Takie urządzenia nie zostaną odduplikowane. Urządzenia nie będą automatycznie umieszczane w strukturze, jeśli użytkownik ma więcej niż jedną strukturę (dom) w GHA. Urządzenia mogą nie zostać uporządkowane z innych powodów.

Jeśli użytkownik ręcznie przeniesie urządzenie Cloud-to-cloud, które nie zostało automatycznie powiązane ze strukturą, deduplikacja może nastąpić podczas następnego SYNC, o ile odpowiedzi SYNC są zgodne z wymaganiami opisanymi w wymaganiach dotyczących SYNC.