SDM API হলো একটি REST API যা Google Nest ডিভাইস পরিচালনার জন্য ট্রেইট দেখা এবং ট্রেইট কমান্ড কার্যকর করার বিভিন্ন পদ্ধতি প্রদান করে। প্রতিটি API কলের সাথে অনুমোদন প্রক্রিয়ার সময় প্রদত্ত অ্যাক্সেস টোকেনটি ব্যবহার করুন।
বৈশিষ্ট্য
SDM API ডিভাইসের তথ্য ও কার্যকারিতার জন্য একটি ট্রেইট-ভিত্তিক মডেল ব্যবহার করে। কোনো ডিভাইসের জন্য কী কী ট্রেইট উপলব্ধ আছে তা দেখতে প্রতিটি ডিভাইসের নির্দেশিকা দেখুন:
- ক্যামেরা
- ক্যামেরা (ব্যাটারি)
- ফ্লাডলাইট সহ ক্যামেরা
- ক্যামেরা (তারযুক্ত)
- প্রদর্শন
- ডোরবেল
- ডোরবেল (ব্যাটারি)
- ডোরবেল (তারযুক্ত)
- থার্মোস্ট্যাট
পদ্ধতি
SDM API-এর জন্য উপলব্ধ সমস্ত পদ্ধতির সম্পূর্ণ বিবরণের জন্য API রেফারেন্স দেখুন।
executeCommand
একটি অনুমোদিত ডিভাইসে কমান্ড কার্যকর করে।
কোনো কমান্ড কার্যকর করতে POST কল ব্যবহার করুন। উদাহরণস্বরূপ, থার্মোস্ট্যাট মোড পরিবর্তন করতে:
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatMode.SetMode",
"params" : {
"mode" : "HEAT"
}
}কমান্ডের আরও উদাহরণ প্রতিটি স্বতন্ত্র বৈশিষ্ট্যের রেফারেন্স পৃষ্ঠায় পাওয়া যাবে। আরও তথ্যের জন্য সম্পূর্ণ বৈশিষ্ট্যের তালিকা দেখুন।
পেতে
কোনো অনুমোদিত কাঠামো বা ডিভাইস সম্পর্কে তথ্য সংগ্রহ করে।
একটি GET কল কোনো স্ট্রাকচার বা ডিভাইসের জন্য উপলব্ধ সমস্ত বৈশিষ্ট্যের বর্তমান ফিল্ড এবং মান সহ একটি একক প্রতিক্রিয়া ফেরত দেয়। user একটি অনুমোদিত 'parentRelations' অবজেক্ট রয়েছে, যা বর্তমান রিসোর্সের (একটি স্ট্রাকচার বা রুম) প্যারেন্ট রিসোর্সকে প্রতিনিধিত্ব করে।
উদাহরণস্বরূপ, একটি নেস্ট থার্মোস্ট্যাট নিম্নলিখিত ফলাফল দিতে পারে:
GET /enterprises/project-id/devices/device-id
{
"name" : "enterprises/project-id/devices/device-id",
"type" : "sdm.devices.types.THERMOSTAT",
"assignee" : "enterprises/project-id/structures/structure-id/rooms/room-id",
"traits" : {
"sdm.devices.traits.Connectivity" : {
"status" : "ONLINE"
},
"sdm.devices.traits.Fan" : {
"timerMode" : "ON",
"timerTimeout" : "2019-05-10T03:22:54Z"
},
"sdm.devices.traits.Humidity" : {
"ambientHumidityPercent" : 35.0
},
"sdm.devices.traits.Info" : {
"customName" : "My device"
},
"sdm.devices.traits.Settings" : {
"temperatureScale" : "CELSIUS"
},
"sdm.devices.traits.Temperature" : {
"ambientTemperatureCelsius" : 23.0
},
"sdm.devices.traits.ThermostatEco" : {
"availableModes" : ["MANUAL_ECO", "OFF"],
"mode" : "MANUAL_ECO",
"heatCelsius" : 20.0,
"coolCelsius" : 22.0
},
"sdm.devices.traits.ThermostatHvac" : {
"status" : "HEATING"
},
"sdm.devices.traits.ThermostatMode" : {
"availableModes" : ["HEAT", "COOL", "HEATCOOL", "OFF"],
"mode" : "COOL"
},
"sdm.devices.traits.ThermostatTemperatureSetpoint" : {
"heatCelsius" : 20.0,
"coolCelsius" : 22.0
}
},
"parentRelations" : [
{
"parent" : "enterprises/project-id/structures/structure-id/rooms/room-id",
"displayName" : "Lobby"
}
]
}তালিকা
অনুমোদিত কাঠামো, কক্ষ বা ডিভাইসের তালিকা।
একটিমাত্র অ্যাক্সেস টোকেনের অধীনে অনুমোদিত সমস্ত কাঠামো, কক্ষ বা ডিভাইসের তালিকা পেতে, উপযুক্ত রিসোর্স এন্ডপয়েন্টে একটি GET কল করুন:
GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices
গুগল অ্যাসিস্ট্যান্ট ইন্টিগ্রেশন
একবার কোনো ডিভাইস SDM-এর জন্য অনুমোদিত হলে, Google Home Graph-এ ডিভাইসটি সম্পর্কে অবগত হয় এবং সরাসরি এর অবস্থা পরিচালনা করে। যদি আপনার বাণিজ্যিক অফারের অংশ হিসেবে Google Assistant ইন্টিগ্রেশন থাকে:
- SDM ডিভাইসগুলির জন্য রিকোয়েস্ট সিঙ্ক অনুরোধ পাঠাবেন না।
- SYNC ইন্টেন্টের যেকোনো প্রতিক্রিয়া থেকে SDM ডিভাইসগুলি বাদ দিন।
ত্রুটি
এপিআই ত্রুটি কোডগুলির সম্পূর্ণ তালিকার জন্য এপিআই ত্রুটি কোড রেফারেন্স দেখুন।