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