সমর্থন ডিভাইস আবিষ্কার

যখন Google আপনার ক্লাউড পূরণ থেকে SYNC প্রতিক্রিয়ায় ফিরে আসা কোনও ডিভাইসের সাথে স্থানীয়ভাবে নিয়ন্ত্রণযোগ্য ডিভাইসটি মেলায়, তখন একটি স্থানীয় পূরণ পথ প্রতিষ্ঠিত হয়।

স্থানীয় নেটওয়ার্কে আপনার ডিভাইসটি আবিষ্কার করতে এবং স্থানীয় পরিপূর্ণতার পথ স্থাপন করতে Google-কে সক্ষম করতে, আপনাকে অ্যাকশন কনসোলে আবিষ্কারের তথ্য যোগ করতে হবে। স্থানীয়ভাবে নিয়ন্ত্রিত ডিভাইস সম্পর্কে Google-কে জানাতে আপনার ক্লাউড পরিপূর্ণতা থেকে SYNC প্রতিক্রিয়া আপডেট করতে হবে।

স্ক্যান কনফিগারেশন তথ্য সেট আপ করুন

আবিষ্কারের তথ্য নির্দিষ্ট করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. Google Home Developer Console আপনার Cloud-to-cloud ইন্টিগ্রেশনে যান:

    ডেভেলপার কনসোলে যান

  2. স্ক্রিনের বাম দিকে Project > Cloud-to-cloud- এ যান, তারপর ইন্টিগ্রেশনের জন্য Edit নির্বাচন করুন। সেটআপ এবং কনফিগারেশন পৃষ্ঠায়, Local fulfillment- এ স্ক্রোল করুন এবং সেটিংটি চালু করুন। প্রতিটি পরীক্ষার URL ক্ষেত্রে নিম্নলিখিত URLটি লিখুন, আপনার প্রকল্প আইডি প্রবেশ করান এবং সংরক্ষণ করুন : এ ক্লিক করুন।

    https://<project-id>.web.app/local-home/index.html

  3. একটি নতুন স্ক্যান কনফিগারেশন যোগ করতে ডিভাইস আবিষ্কারের অধীনে + স্ক্যান কনফিগারেশন যোগ করুন ক্লিক করুন।

  4. ড্রপ-ডাউন থেকে একটি স্ক্যান ম্যাচিং প্রোটোকল টাইপ নির্বাচন করুন এবং Google-এর স্ক্যান করার জন্য মান লিখুন।

আপনার ডিভাইস স্ক্যান করার জন্য Google কোন প্রোটোকল ব্যবহার করুক, তার উপর ভিত্তি করে আপনি কোন বৈশিষ্ট্যগুলি যোগ করতে পারেন তা নিম্নলিখিত টেবিলগুলিতে দেখানো হয়েছে:

mDNS সম্পর্কে
বৈশিষ্ট্য বিবরণ উদাহরণ মান
পরিষেবার নাম প্রয়োজনীয়। ডিভাইস দ্বারা পরিষেবার নাম service . domain ফর্ম্যাটে প্রকাশিত। _http._tcp.local
নাম

আবশ্যক। instance . service . domain ফর্ম্যাটে একটি অনন্য পরিষেবা উদাহরণের জন্য ফিল্টার করুন।

প্ল্যাটফর্মটি এই মানটিকে একটি নিয়মিত এক্সপ্রেশন হিসেবে বিবেচনা করে এবং যেকোনো মিলযুক্ত ডিভাইস ফেরত দেয়।
my-device-[0-9]{4}\._http\._tcp\.local
UPnP সম্পর্কে
বৈশিষ্ট্য বিবরণ উদাহরণ মান
পরিষেবার ধরণ আবশ্যক। domain :service: type : version ফর্ম্যাটে UPnP পরিষেবার সম্পূর্ণ যোগ্য শনাক্তকারী। schemas-upnp-org:service:SwitchPower:1
ওইউআই

ঐচ্ছিক। সাংগঠনিকভাবে অনন্য শনাক্তকারী

ডিভাইস প্রস্তুতকারক শনাক্তকারী ২৪-বিট মান। সাধারণত, ডিভাইসের MAC ঠিকানার প্রথম তিনটি অক্টেট।
1A:2B:3C
ইউডিপি
বৈশিষ্ট্য বিবরণ উদাহরণ মান
আবিষ্কারের ঠিকানা প্রয়োজনীয়। UDP সম্প্রচারের জন্য গন্তব্য IP ঠিকানা। 255.255.255.255
সম্প্রচার পোর্ট প্রয়োজনীয়। UDP সম্প্রচারের জন্য গন্তব্য পোর্ট। 5555
লিসেনিং পোর্ট প্রয়োজনীয়। UDP আবিষ্কারের প্রতিক্রিয়ার জন্য লিসেন পোর্ট। 5556
ডিসকভারি প্যাকেট

প্রয়োজন। UDP সম্প্রচার পাঠানোর জন্য পেলোড।

বাইটের একটি হেক্সাডেসিমেল এনকোডেড স্ট্রিং হিসেবে ফর্ম্যাট করা হয়েছে।
48454C4C4F

ক্লাউড পরিপূর্ণতায় SYNC প্রতিক্রিয়া আপডেট করুন

SYNC ইন্টেন্ট ব্যবহারকারী কোন ডিভাইসগুলি নিয়ন্ত্রণ করে এবং তাদের ক্ষমতা সম্পর্কে সহকারীকে রিপোর্ট করে।

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

SYNC রেসপন্সের otherDeviceIds ফিল্ডে, আপনাকে স্থানীয়ভাবে নিয়ন্ত্রিত হতে পারে এমন স্মার্ট হোম ডিভাইসের ডিভাইস আইডি সেট করতে হবে। রেসপন্সে device লেভেলে ফিল্ডটি দেখা যাবে। প্রদত্ত আইডি সহ যেকোনো ডিভাইসে গুগল একটি স্থানীয় পরিপূর্ণতা পথ স্থাপন করতে পারে।

একটি স্বতন্ত্র ডিভাইসের সাথে সংযোগ স্থাপনের জন্য Google-এর প্রয়োজনীয় অতিরিক্ত ডেটা নির্দিষ্ট করতে, অথবা একটি হাব ব্যবহার করে শেষ ডিভাইসগুলিকে লক্ষ্য করতে (যেমন, পোর্ট নম্বর এবং অন্যান্য প্রোটোকল-নির্দিষ্ট তথ্য) customData ফিল্ড ব্যবহার করুন।

উদাহরণ

নিম্নলিখিত স্নিপেটটি দেখায় কিভাবে আপনি আপনার SYNC হ্যান্ডলার তৈরি করতে পারেন।

স্বতন্ত্র/হাব
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [{
      "id": "123",
      "type": "action.devices.types.OUTLET",
      "traits": [
        "action.devices.traits.OnOff"
      ],
      "name": {
        "name": "Night light"
      },
      "willReportState": false,
      "otherDeviceIds": [{
        "deviceId": "local-device-id"
      }],
      "customData": {
        "port": 5555,
        "authToken": "..."
      }
    }]
  }
}