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

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

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

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

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

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

    বিকাশকারী কনসোলে যান

  2. স্ক্রিনের বাম দিকে প্রজেক্ট > ক্লাউড-টু-ক্লাউড- এ যান, তারপর ইন্টিগ্রেশনের জন্য সম্পাদনা নির্বাচন করুন। সেটআপ এবং কনফিগারেশন পৃষ্ঠায়, স্থানীয় পরিপূর্ণতায় স্ক্রোল করুন এবং সেটিংটি টগল করুন। প্রতিটি পরীক্ষার 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 . schemas-upnp-org:service:SwitchPower:1
OUI

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

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

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

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

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

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

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

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

একটি স্বতন্ত্র ডিভাইসের সাথে সংযোগ করার জন্য 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": "..."
      }
    }]
  }
}