SDM API एक REST API है. यह Google Nest डिवाइसों को मैनेज करने के लिए, ट्रैट देखने और ट्रैट के निर्देशों को लागू करने के कई तरीके उपलब्ध कराता है. अनुमति देने की प्रोसेस के दौरान मिले ऐक्सेस टोकन का इस्तेमाल, हर एपीआई कॉल के साथ करें.
विशेषताएं
SDM API, डिवाइस की जानकारी और सुविधाओं के लिए, विशेषता पर आधारित मॉडल का इस्तेमाल करता है. किसी डिवाइस के लिए कौनसे ट्रैट उपलब्ध हैं, यह जानने के लिए उस डिवाइस के लिए बनी गाइड देखें:
- कैमरा
- कैमरा (बैटरी)
- Floodlight वाला कैमरा
- कैमरा (वायर वाला)
- डिसप्ले
- डोरबेल
- डोरबेल (बैटरी)
- डोरबेल (तार वाली)
- थर्मोस्टैट
तरीके
SDM API के लिए उपलब्ध सभी तरीकों के बारे में पूरी जानकारी पाने के लिए, एपीआई का रेफ़रंस देखें.
executeCommand
अनुमति वाले डिवाइस पर कोई निर्देश लागू करता है.
कोई निर्देश लागू करने के लिए, POST
कॉल का इस्तेमाल करें. उदाहरण के लिए, थर्मोस्टैट का मोड बदलने के लिए:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
निर्देशों के और उदाहरण, हर एक ट्रीट की जानकारी वाले पेज पर देखे जा सकते हैं. ज़्यादा जानकारी के लिए, ट्रेट की पूरी लिस्टिंग देखें.
सदस्यता लें
अनुमति वाले स्ट्रक्चर या डिवाइस के बारे में जानकारी मिलती है.
GET
कॉल, किसी ऐसे स्ट्रक्चर या डिवाइस के लिए उपलब्ध सभी विशेषताओं के मौजूदा फ़ील्ड और वैल्यू के साथ एक रिस्पॉन्स दिखाता है जिसके लिए user ने अनुमति दी है. साथ ही, यह एक `parentRelations' ऑब्जेक्ट दिखाता है, जो मौजूदा संसाधन के पैरंट संसाधन को दिखाता है. यह संसाधन, कोई स्ट्रक्चर या रूम हो सकता है.
उदाहरण के लिए, Nest Thermostat से ये जानकारी मिल सकती है:
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
Google Assistant के साथ इंटिग्रेशन
जब किसी डिवाइस को एसडीएम के लिए अनुमति मिल जाती है, तो Google को होम ग्राफ़ में उस डिवाइस के बारे में पता चल जाता है. साथ ही, वह सीधे तौर पर उस डिवाइस की स्थिति को मैनेज करता है. अगर आपने व्यावसायिक तौर पर उपलब्ध कराए जाने वाले अपने प्रॉडक्ट के साथ Google Assistant इंटिग्रेशन का इस्तेमाल किया है, तो:
- SDM डिवाइसों के लिए, सिंक करने का अनुरोध न भेजें
- SYNC intent के किसी भी जवाब से SDM डिवाइसों को हटाना
गड़बड़ियां
एपीआई से जुड़ी गड़बड़ियों के कोड की पूरी सूची के लिए, एपीआई से जुड़ी गड़बड़ी के कोड का रेफ़रंस देखें.