ביטול כפילויות של מכשירים בענן ובענן Matter

כשממירים מכשיר שמשתמש כרגע (Cloud-to-cloud) ל-Matter, צריך לוודא שהמכשיר משתמש באותו מזהה ב-Matter שבו הוא משתמש, כשהוא מחובר דרך ממשקי ה-API שהם לא של Matter. כך מובטח שהמכשיר יוצג פעם אחת בלבד ב-Google Home Graph של המשתמש. אפשר לבטל כפילויות של Cloud-to-cloud מכשירים רק כשהם משויכים למבנה (בית) מסוים במסגרת Google Home app (GHA).

SYNC דרישות

כדי שלא יופיעו כפילויות ב-Home Graph, הענן של השותף צריך לשלוח שלושה שדות מחרוזת חדשים לכל מכשיר בתגובה ל-Google של SYNC. השדות האלה צריכים להיות זהים למאפיינים שהוגדרו באשכול המידע הבסיסי של המכשיר Matter. בנוסף, SYNC התשובות חייבות להכיל roomHint:

  1. matterUniqueId – המאפיין UniqueId בפורמט מחרוזת.
  2. matterOriginalVendorId - המאפיין VendorId, בפורמט מחרוזת הקסדצימלית.
  3. matterOriginalProductId - המאפיין ProductId, בפורמט מחרוזת הקסדצימלית.
  4. roomHint – החדר שבו נמצא המכשיר הזה.

תוכלו למצוא מסמכים על אובייקטים מסוג Intent כמו SYNC בגרסת הבסיס של 'ענן לענן'.

בתגובה לדוגמה של SYNC שבהמשך אפשר לראות את השימוש בשלושת השדות החדשים, וגם ב-roomHint:

SYNC תגובה
{
  "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",
          }
        ]
      }
    ]
  }
}

כשמכשיר שפעל בעבר ברשת הביתית של משתמש באמצעות ענן של שותף מומר למכשיר Matter, מהענן של השותף צריך מיד לשלוח את הפרמטר REQUEST SYNC ל-Google כדי לעדכן את השדות האלה בהקדם האפשרי, כדי למנוע ביטול כפילויות.

המחרוזות האלה אף פעם לא משתנות אחרי שהן נמסרות למכשיר נתון. יש לשנות את המזהה הייחודי רק באיפוס להגדרות המקוריות, וכך המכשיר ייראה לכל השילובים כמכשיר חדש לגמרי.

שיוך אוטומטי של מבנה

לא מובטח שמכשירי Cloud-to-cloud ישויכו באופן אוטומטי למבנה מסוים. במצבים שבהם אי אפשר לשייך את המבנה באופן אוטומטי, המכשירים הרלוונטיים מסוג Cloud-to-cloud יופיעו בקטע ייעודי במסך הראשי של GHA, בקטע Linked to you (מקושר אליך), מחוץ לחדרים. לא יתבצע ביטול כפילויות של מכשירים כאלה. המכשירים לא ימוקמו באופן אוטומטי במבנה אם למשתמש יש יותר ממבנה (ביתי) אחד ב-GHA. ייתכן שהמבנה של המכשירים נכשל מסיבות אחרות.

אם משתמשים יעבירו מכשיר Cloud-to-cloud למבנה באופן ידני, יכול להיות ביטול כפילויות ב-SYNC הבא, כל עוד התשובות של SYNC עומדות בדרישות שמפורטות בדרישות הסנכרון.