क्लाउड-टू-क्लाउड और 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 जवाब सिंक करने की ज़रूरी शर्तों में बताई गई ज़रूरी शर्तों के मुताबिक हों.