थर्मोस्टैट

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

sdm.devices.types.THERMOSTAT

विशेषताएं

रेफ़रंस

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

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

JSON

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 trait के 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 Trait के लिए दिए गए निर्देश अस्वीकार कर दिए गए हैं.
    • तापमान के सेटपॉइंट, 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" : "366dcbfb-2b0d-4c8c-9ad9-2ff7434f1dc7",
  "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" : "1e9d0340-7543-4a6f-b498-7c12a77f0b27",
  "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 थर्मोस्टैट के मैन्युअल ईको मोड में होने पर, तापमान का सेटपॉइंट सेट नहीं किया जा सकता.

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