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

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

דרישות לגבי SYNC

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

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

מסמכים שמבוססים על כוונות כמו SYNC תוכלו למצוא אותו בתחילת העבודה מ-Cloud-to-Cloud.

בדוגמה שלמטה 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, מתחת לקטע בשם מקושר אל , מחוץ לכל חדר. הכפילויות של מכשירים כאלה לא יבוטלו. המכשירים יפעלו לא יוצבו באופן אוטומטי במבנה כאשר למשתמש יש יותר למבנה (בית) בGHA. ייתכן שמכשירים לא יפעלו מובנה מסיבות אחרות.

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