ক্লাউড-টু-ক্লাউড এবং ম্যাটার ডিভাইস ডিডপ্লিকেশন

বর্তমানে Cloud-to-cloud ব্যবহার করছে এমন কোনো ডিভাইসকে Matter -এ রূপান্তর করার সময়, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে ডিভাইসটি Matter -এ সেই একই আইডি ব্যবহার করছে যা এটি নন- Matter এপিআই ব্যবহার করে সংযুক্ত থাকার সময় ব্যবহার করে। এটি নিশ্চিত করে যে ডিভাইসটি ব্যবহারকারীর Google Home Graph কেবল একবারই প্রদর্শিত হবে। Cloud-to-cloud ডিভাইসগুলোকে শুধুমাত্র তখনই ডিডুপ্লিকেট করা যাবে যখন সেগুলো Google Home app (GHA) একটি নির্দিষ্ট স্ট্রাকচারের (বাড়ির) সাথে যুক্ত থাকে।

SYNC প্রয়োজনীয়তা

Home Graph ডুপ্লিকেট প্রদর্শিত হওয়া এড়ানোর জন্য, পার্টনারের ক্লাউডকে অবশ্যই গুগলের কাছে পাঠানো 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 ডিভাইসে রূপান্তর করা হয়, তখন লেট ডিডুপ্লিকেশন এড়ানোর জন্য পার্টনারের ক্লাউডকে অবশ্যই অবিলম্বে গুগলকে একটি REQUEST SYNC পাঠাতে হবে, যাতে এই ফিল্ডগুলি যত দ্রুত সম্ভব আপডেট করা যায়।

কোনো নির্দিষ্ট ডিভাইসের জন্য একবার এই স্ট্রিংগুলো প্রদান করা হলে তা আর কখনো পরিবর্তন করা উচিত নয়। ইউনিক আইডি শুধুমাত্র ফ্যাক্টরি রিসেটের সময় পরিবর্তন হওয়া উচিত, যার ফলে ডিভাইসটি সমস্ত ইন্টিগ্রেশনের কাছে একটি সম্পূর্ণ নতুন ডিভাইস হিসেবে প্রদর্শিত হয়।

স্বয়ংক্রিয় কাঠামো সংযুক্তি

Cloud-to-cloud ডিভাইসগুলো স্বয়ংক্রিয়ভাবে কোনো নির্দিষ্ট কাঠামোর সাথে যুক্ত হবে, এমন কোনো নিশ্চয়তা নেই। যেসব ক্ষেত্রে স্বয়ংক্রিয়ভাবে কাঠামো যুক্ত করা সম্ভব নয়, সেসব ক্ষেত্রে প্রাসঙ্গিক Cloud-to-cloud ডিভাইসগুলো GHA এর মূল স্ক্রিনের একটি নির্দিষ্ট অংশে, যেকোনো রুমের বাইরে, 'আপনার সাথে লিঙ্ক করা' (Linked to you) শিরোনামের একটি বিভাগের অধীনে প্রদর্শিত হবে। এই ধরনের ডিভাইসগুলোর ডুপ্লিকেট অপসারণ করা হবে না। যখন কোনো ব্যবহারকারীর GHA তে একাধিক কাঠামো (বাড়ি) থাকে, তখন ডিভাইসগুলো স্বয়ংক্রিয়ভাবে কোনো কাঠামোতে স্থাপন করা হবে না। অন্যান্য কারণেও ডিভাইসগুলো কাঠামোবদ্ধ হতে ব্যর্থ হতে পারে।

যদি কোনো ব্যবহারকারী স্বয়ংক্রিয় স্ট্রাকচার অ্যাসোসিয়েশনে ব্যর্থ হওয়া একটি Cloud-to-cloud ডিভাইসকে ম্যানুয়ালি কোনো স্ট্রাকচারে স্থানান্তর করেন, তাহলে পরবর্তী SYNC সময় ডিডুপ্লিকেশন সম্পন্ন হতে পারে, তবে শর্ত থাকে যে SYNC রেসপন্সগুলো SYNC requirements- এ উল্লিখিত শর্তাবলী মেনে চলবে।