כשממירים מכשיר שמשתמש כרגע ב-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:
-
matterUniqueId– המאפייןUniqueId, בפורמט מחרוזת, מקבוצת המידע הבסיסי. -
matterOriginalVendorId– מאפייןVendorId, בפורמט של מחרוזת הקסדצימלית, מקבוצת המידע הבסיסי. -
matterOriginalProductId– מאפייןProductId, בפורמט של מחרוזת הקסדצימלית, מקבוצת המידע הבסיסי. -
roomHint– החדר שבו נמצא המכשיר.
אפשר למצוא תיעוד על כוונות כמו SYNC במאמר המבוא בנושא העברה מ-Cloud ל-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 עומדות בדרישות שמפורטות במאמר דרישות הסנכרון.