क्लाउड-टू-क्लाउड और 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. matterOriginalVendorIdVendorId एट्रिब्यूट, हेक्साडेसिमल स्ट्रिंग फ़ॉर्मैट में.
  3. matterOriginalProductIdProductId एट्रिब्यूट, हेक्साडेसिमल स्ट्रिंग फ़ॉर्मैट में.
  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 डिवाइस, किसी स्ट्रक्चर से अपने-आप जुड़ जाएंगे. अगर स्ट्रक्चर को अपने-आप डिवाइसों से नहीं जोड़ा जा सकता, तो GHA की मुख्य स्क्रीन पर, आपके खाते से लिंक किए गए डिवाइस नाम के सेक्शन में, Cloud-to-cloud से जुड़े डिवाइस दिखेंगे. ये डिवाइस, किसी भी कमरे के बाहर दिखेंगे. ऐसे डिवाइसों को डुप्लीकेट नहीं माना जाएगा. अगर उपयोगकर्ता के पास GHA में एक से ज़्यादा स्ट्रक्चर (होम) हैं, तो डिवाइसों को किसी स्ट्रक्चर में अपने-आप नहीं रखा जाएगा. डिवाइसों को अन्य वजहों से भी स्ट्रक्चर नहीं किया जा सकता.

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