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

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