Smart Device Management API

एसडीएम एपीआई एक REST API है, जो Google Nest डिवाइसों को मैनेज करने के लिए विशेषताएं बताने और निर्देश बताने के कई तरीके उपलब्ध कराता है. हर एपीआई कॉल के साथ अनुमति पाने की प्रक्रिया के दौरान दिए गए ऐक्सेस टोकन का इस्तेमाल करें.

विशेषताएं

एसडीएम एपीआई, डिवाइस की जानकारी और काम करने के तरीके के लिए, ट्रेल-आधारित मॉडल का इस्तेमाल करता है. अलग-अलग डिवाइस गाइड देखकर जानें कि किसी डिवाइस पर क्या-क्या विशेषताएं उपलब्ध हैं:

तरीके

एसडीएम एपीआई के लिए उपलब्ध सभी तरीकों के बारे में पूरी जानकारी के लिए एपीआई का संदर्भ देखें.

निर्देश दें

अनुमति वाले डिवाइस को निर्देश देता है.

निर्देश देने के लिए, 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 को व्यावसायिक ऑफ़र के तौर पर शामिल किया है, तो:

गड़बड़ियां

एपीआई गड़बड़ी कोड की पूरी सूची देखने के लिए, एपीआई में गड़बड़ी कोड का रेफ़रंस देखें.