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

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

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

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

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