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