क्लाउड-टू-क्लाउड और Matter से जुड़े डिवाइस की डुप्लीकेट कॉपी हटाने की तकनीक

फ़िलहाल, (Cloud-to-cloud) का इस्तेमाल कर रहे किसी डिवाइस को Matter पर स्विच करते समय, आपको यह पक्का करना होगा कि डिवाइस Matter पर उसी आईडी का इस्तेमाल करे जिसका इस्तेमाल वह 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 - वह कमरा जहां यह डिवाइस मौजूद है.

इरादों के बारे में दस्तावेज़, जैसे कि SYNC क्लाउड-टू-क्लाउड प्राइमर में मिल सकते हैं.

यहां दिए गए उदाहरण SYNC में, तीन नए फ़ील्ड के साथ-साथ roomHint का इस्तेमाल दिखाया गया है:

SYNC Response
{
  "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 डिवाइस में बदला जाता है जो पहले किसी उपयोगकर्ता के होम नेटवर्क पर पार्टनर के क्लाउड का इस्तेमाल करके काम कर रहा था, तो पार्टनर के क्लाउड को Google को तुरंत REQUEST SYNC भेजना होगा, ताकि इन फ़ील्ड को जल्द से जल्द अपडेट किया जा सके. इससे डुप्लीकेट डिवाइसों का पता लगाने में देरी नहीं होगी.

किसी डिवाइस के लिए ये स्ट्रिंग देने के बाद, इन्हें कभी नहीं बदला जाना चाहिए. यूनीक आईडी सिर्फ़ फ़ैक्ट्री रीसेट करने पर बदलना चाहिए. इससे सभी इंटिग्रेशन के लिए, डिवाइस पूरी तरह से नया दिखता है.

स्ट्रक्चर अपने-आप जुड़ने की सुविधा

इस बात की कोई गारंटी नहीं है कि Cloud-to-cloud डिवाइस, किसी स्ट्रक्चर से अपने-आप जुड़ जाएंगे. अगर स्ट्रक्चर को अपने-आप डिवाइसों से नहीं जोड़ा जा सकता, तो Cloud-to-cloud की मुख्य स्क्रीन पर, Cloud-to-cloud से जुड़े डिवाइसों को एक अलग सेक्शन में दिखाया जाएगा. यह सेक्शन, आपके खाते से लिंक किए गए डिवाइस के नाम से होगा. इसमें, किसी भी कमरे से बाहर के डिवाइस दिखेंगे.GHA ऐसे डिवाइसों को डुप्लीकेट नहीं माना जाएगा. अगर उपयोगकर्ता के पास GHA में एक से ज़्यादा स्ट्रक्चर (होम) हैं, तो डिवाइसों को किसी स्ट्रक्चर में अपने-आप नहीं रखा जाएगा. डिवाइसों को अन्य वजहों से भी स्ट्रक्चर नहीं किया जा सकता.

अगर कोई उपयोगकर्ता, Cloud-to-cloud डिवाइस को मैन्युअल तरीके से किसी स्ट्रक्चर में ले जाता है, तो अगले SYNC पर डुप्लीकेट हटाने की प्रोसेस हो सकती है. ऐसा तब तक होगा, जब तक SYNC के जवाब, सिंक करने की ज़रूरी शर्तों में बताई गई शर्तों के मुताबिक हों.