थर्मोस्टैट

स्मार्ट डिवाइस मैनेजमेंट (एसडीएम) एपीआई के साथ, Google Nest Thermostat के सभी मॉडल काम करते हैं. ये डिवाइस, THERMOSTAT डिवाइस टाइप दिखाते हैं:

sdm.devices.types.THERMOSTAT

विशेषताएं

रेफ़रंसJSON

ये ट्रैट, निर्देश या इवेंट इस ग्रुप से जुड़े हैं:

विशेषताब्यौरानिर्देश
कनेक्टिविटीयह ट्रैट किसी भी ऐसे डिवाइस से जुड़ा होता है जिसमें कनेक्टिविटी की जानकारी होती है.
फ़ैनयह ट्रैट किसी भी ऐसे डिवाइस से जुड़ा होता है जिसमें फ़ैन को कंट्रोल करने की सिस्टम की सुविधा होती है.SetTimer
नमीयह ट्रैट किसी भी ऐसे डिवाइस से जुड़ा होता है जिसमें नमी का पता लगाने के लिए सेंसर होता है.
जानकारीयह ट्रैट, डिवाइस से जुड़ी जानकारी के लिए किसी भी डिवाइस से जुड़ा होता है.
सेटिंगयह ट्रैट, डिवाइस से जुड़ी सेटिंग की जानकारी के लिए किसी भी डिवाइस से जुड़ा होता है.
तापमानयह ट्रैट किसी भी ऐसे डिवाइस से जुड़ा होता है जिसमें तापमान मापने के लिए सेंसर मौजूद हो.
ThermostatEcoयह ट्रैट, THERMOSTAT टाइप के उन डिवाइसों से जुड़ा है जो ईको मोड के साथ काम करते हैं.SetMode
ThermostatHvacयह ट्रैट, THERMOSTAT के उन डिवाइस टाइप से जुड़ा है जो एचवीएसी की जानकारी रिपोर्ट कर सकते हैं.
ThermostatModeयह विशेषता, THERMOSTAT के उन डिवाइस टाइप से जुड़ी है जो अलग-अलग थर्मोस्टैट मोड के साथ काम करते हैं.SetMode
ThermostatTemperatureSetpointयह ट्रैट, THERMOSTAT के उन डिवाइस टाइप से जुड़ा है जो टारगेट तापमान और तापमान की सीमा सेट करने की सुविधा देते हैं.SetHeat
SetCool
SetRange

GET रिस्पॉन्स में किसी ट्रैट की मौजूद न होने का मतलब है कि ट्रैट या सुविधा फ़िलहाल डिवाइस के लिए उपलब्ध नहीं है. ज़्यादा जानकारी के लिए, डिवाइस टाइप देखें.

{
  "type" : "sdm.devices.types.THERMOSTAT",
  "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
    }
  }
}

तापमान और नमी

थर्मोस्टैट के आस-पास के तापमान को पढ़ने के लिए,तापमान ट्रैट का इस्तेमाल करें. आस-पास के तापमान को डिवाइस पर मेज़र किया जाता है.

थर्मोस्टैट के आस-पास की आर्द्रता का पता लगाने के लिए,आर्द्रता ट्रैट का इस्तेमाल करें. डिवाइस पर, आस-पास के वातावरण में मौजूद नमी का पता लगाया जाता है.

तापमान का स्केल

Google Nest Thermostat, तापमान को डिग्री सेल्सियस या डिग्री फ़ैरनहाइट में दिखा सकता है. हालांकि, SDM API से तापमान का स्केल सेट नहीं किया जा सकता. उपयोगकर्ता ने फ़िलहाल तापमान का जो स्केल सेट किया है उसे पता लगाने के लिए,सेटिंग एट्रिब्यूट का इस्तेमाल करें.

मोड बदलना

थर्मोस्टैट के मोड को दो अलग-अलग ट्रैट से मैनेज किया जाता है: ThermostatMode और ThermostatEco.

स्टैंडर्ड मोड

थर्मोस्टैट के मोड को HEAT, COOL या HEATCOOL पर बदलने के लिए, ThermostatMode ट्रीट के SetMode कमांड का इस्तेमाल करें.

इस निर्देश का इस्तेमाल, थर्मोस्टैट के मोड को बंद करने के लिए भी किया जा सकता है. हालांकि, इसका इस्तेमाल इको मोड को चालू करने के लिए नहीं किया जा सकता.

उदाहरण के लिए, थर्मोस्टैट के किसी स्टैंडर्ड मोड को बदलने के लिए:

अनुरोधजवाब
POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatMode.SetMode",
  "params" : {
    "mode" : "HEAT"
  }
}
{}

ईको मोड

ईको मोड चालू करने के लिए, ThermostatEco ट्रीट की SetMode कमांड के साथ, MANUAL_ECO को मोड के तौर पर इस्तेमाल करें:

अनुरोधजवाब
POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatEco.SetMode",
  "params" : {
    "mode" : "MANUAL_ECO"
  }
}
{}

इस निर्देश का असर, इको मोड के मौजूदा स्टेटस या उसमें हुए बदलावों के आधार पर, अन्य सुविधाओं पर पड़ता है:

  • अगर ईको मोड बंद है, तो थर्मोस्टैट का मोड डिफ़ॉल्ट रूप से उसी स्टैंडर्ड मोड (हीट, कूल, हीटकूल या बंद) पर सेट हो जाएगा जो आखिरी बार चालू था.
  • अगर ईको मोड MANUAL_ECO है, तो:
    • ThermostatTemperatureSetpoint ट्रैट के लिए दिए गए निर्देश अस्वीकार कर दिए जाते हैं.
    • तापमान के सेटपॉइंट, ThermostatTemperatureSetpoint ट्रैट से नहीं मिलते.

सेट किए गए तापमान में बदलाव करना

सेट किए गए तापमान में सिर्फ़ तब बदलाव किया जा सकता है, जब थर्मोस्टैट HEAT, COOL या HEATCOOL मोड में हो. साथ ही, सेट किए गए तापमान, थर्मोस्टैट के मौजूदा मोड के हिसाब से होने चाहिए. मोड बंद होने पर या ईको मोड को MANUAL_ECO पर सेट करने पर, तापमान के सेटपॉइंट नहीं बदले जा सकते.

तापमान के सेटपॉइंट बदलने से पहले, थर्मोस्टैट उसी मोड में होना चाहिए जिस मोड में दिए गए निर्देश को लागू करना है. सेटपॉइंट बदलने के लिए इस्तेमाल होने वाले निर्देश और फ़ील्ड, थर्मोस्टैट के मोड के हिसाब से अलग-अलग होते हैं.

उदाहरण के लिए, SetHeat कमांड देने के लिए, थर्मोस्टैट को पहले HEAT मोड में होना चाहिए:

मोड कमांड फ़ील्ड
की सुविधा चालू है SetHeat heatCelsius
COOL SetCool coolCelsius
HEATCOOL SetRange heatCelsius, coolCelsius

ध्यान दें कि सेटपॉइंट कमांड में पैरामीटर के तौर पर सिर्फ़ सेल्सियस डिग्री का इस्तेमाल किया जाता है. हालांकि, Google Nest Thermostat, तापमान को सेल्सियस या फ़ैरनहाइट में दिखा सकता है.

उदाहरण के लिए, जब थर्मोस्टैट HEAT मोड में हो, तब तापमान का सेटपॉइंट बदलने के लिए, ThermostatTemperatureSetpoint ट्रीट की SetHeat कमांड का इस्तेमाल करें:

अनुरोधजवाब
POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat",
  "params" : {
    "heatCelsius" : 22.0
  }
}
{}

ईको मोड के सेटपॉइंट

ThermostatEco ट्रीट की मदद से मिले heatCelsius और coolCelsius सेटपॉइंट, उपयोगकर्ता सेट करता है. इनमें SDM API की मदद से बदलाव नहीं किया जा सकता.

पंखे को चालू या बंद करना

अगर थर्मोस्टैट में पंखे की सुविधा है, तो उसे चालू या बंद करने के लिए, पंखे की विशेषता के SetTimer निर्देश का इस्तेमाल करें. पंखे को चालू करते समय, सेकंड में यह तय किया जा सकता है कि पंखा कितनी देर तक चलेगा.

उदाहरण के लिए, पंखे को एक घंटे के लिए चलाने के लिए:

अनुरोधजवाब
POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.Fan.SetTimer",
  "params" : {
    "timerMode" : "ON",
    "duration" : "3600s"
  }
}
{}

अगर duration फ़ील्ड को शामिल नहीं किया जाता है, तो फ़ैन डिफ़ॉल्ट रूप से 15 मिनट तक चलेगा.

डिवाइस की कनेक्टिविटी की जांच करना

अगर डिवाइस, निर्देशों का जवाब नहीं दे रहा है या इवेंट भेज नहीं रहा है या आपको डिवाइस से जुड़े एपीआई से गड़बड़ियां मिल रही हैं, तो डिवाइस के ऑफ़लाइन स्टेटस की जांच करने के लिए,कनेक्टिविटी ट्रैट का इस्तेमाल करें. डिवाइस के इंटरनेट कनेक्शन की जांच करें और पक्का करें कि Nest सेवा चालू हो.

अगर आपने इवेंट की सुविधा चालू की है, तो आपको एक संसाधन इवेंट भी मिला होगा. इससे पता चलता है कि डिवाइस ऑफ़लाइन हो गया है:

पेलोड
{
  "eventId" : "7bfa9f08-b07a-4839-bf2f-3c64b2b40660",
  "timestamp" : "2019-01-01T00:00:01Z",
  "resourceUpdate" : {
    "name" : "enterprises/project-id/devices/device-id",
    "traits" : {
      "sdm.devices.traits.Connectivity" : {
        "status" : "OFFLINE"
      }
    }
  },
  "userId": "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
  "resourceGroup" : [
    "enterprises/project-id/devices/device-id"
  ]
}

डिवाइस पर होने वाले इवेंट पर प्रतिक्रिया देना

किसी ट्रैट फ़ील्ड में किया गया कोई भी बदलाव, एक इवेंट जनरेट करता है. उदाहरण के लिए, अगर थर्मोस्टैट के एचवीएसी का स्टेटस, हीटिंग पर बदलता है, तो आपको यह resourceUpdate इवेंट मिलेगा:

पेलोड
{
  "eventId" : "bb46ea3e-e674-4d45-a5da-1eb163bc2b3e",
  "timestamp" : "2019-01-01T00:00:01Z",
  "resourceUpdate" : {
    "name" : "enterprises/project-id/devices/device-id",
    "traits" : {
      "sdm.devices.traits.ThermostatHvac" : {
        "status" : "HEATING"
      }
    }
  },
  "userId": "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
  "resourceGroup" : [
    "enterprises/project-id/devices/device-id"
  ]
}

इस तरह के डिवाइस से जुड़े सभी ट्रैट के लिए इवेंट ट्रिगर होते हैं. अगर आपको किसी इंटिग्रेशन के हिस्से के तौर पर, उन पर किसी तरह से प्रतिक्रिया देनी है, तो इवेंट चालू करें.

इवेंट का समय

ध्यान दें कि होम हीटिंग, वेंटिलेशन, और एयर कंडीशनिंग (एचवीएसी) के स्टेटस में बदलाव होने पर जनरेट होने वाला इवेंट, थर्मोस्टैट के मोड में बदलाव होने पर जनरेट होने वाले इवेंट के साथ डिलीवर नहीं किया जा सकता.

उदाहरण के लिए, कभी-कभी एचवीएसी सिस्टम को सुरक्षित रखने के लिए, थर्मोस्टैट के हीटिंग या कूलिंग मोड को शुरू करने में देरी हो सकती है. इस स्थिति में, थर्मोस्टैट का मोड बदलने पर, शुरुआत में सिर्फ़ ThermostatMode और ThermostatTemperatureSetpoint ट्रैट में हुए बदलावों के लिए इवेंट भेजे जा सकते हैं. सिस्टम के चालू होने के बाद, ThermostatHvac ट्रैट में हुए बदलावों के लिए, अलग इवेंट भेजा जाता है. अगर एचवीएसी सिस्टम को चालू करने में कोई देरी नहीं हुई थी, तो सभी तीन इवेंट एक ही समय पर भेजे जाते.

गड़बड़ियां

इस डिवाइस से जुड़ी गड़बड़ी के लिए, ये कोड दिख सकते हैं:

गड़बड़ी का मैसेज RPC समस्या का हल
कूल वैल्यू, हीट वैल्यू से ज़्यादा होनी चाहिए. INVALID_ARGUMENT पक्का करें कि आपके निर्देश में heatCelsius फ़ील्ड, coolCelsius फ़ील्ड से छोटा हो.
थर्मोस्टैट के मौजूदा मोड में, निर्देश देने की अनुमति नहीं है. FAILED_PRECONDITION ThermostatMode ट्रैट के मुताबिक, कुछ थर्मोस्टैट मॉडल में ईको मोड को तब नहीं बदला जा सकता, जब थर्मोस्टैट मोड बंद हो. ईको मोड बदलने से पहले, थर्मोस्टैट मोड को HEAT, COOL या HEATCOOL पर बदलना होगा.
थर्मोस्टैट फ़ैन उपलब्ध नहीं है. FAILED_PRECONDITION थर्मोस्टैट में फ़ैन की सुविधा नहीं है. इस डिवाइस के लिए, पंखे से जुड़े ट्रैट और निर्देशों का इस्तेमाल नहीं किया जा सकता.
थर्मोस्टैट के MANUAL_ECO मोड में होने पर, निर्देश देने की अनुमति नहीं है. FAILED_PRECONDITION थर्मोस्टैट के मैन्युअल ईको मोड में होने पर, तापमान का सेटपॉइंट सेट नहीं किया जा सकता.

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