![](https://developers.google.cn/nest/device-access/images/device-thermostat.png?authuser=19&hl=hi)
सभी Google Nest Thermostat मॉडल में इस्तेमाल किए जा सकते हैं Smart Device Management (एसडीएम) एपीआई का इस्तेमाल करना होगा. इन डिवाइसों पर THERMOAT वापस आ जाता है डिवाइस प्रकार:
sdm.devices.types.THERMOSTAT
विशेषताएं
रेफ़रंस
यहां दिए गए लक्षण, निर्देश या इवेंट इस ग्रुप से जुड़े हैं:
विशेषता | ब्यौरा | निर्देश |
---|---|---|
कनेक्टिविटी | यह विशेषता ऐसे किसी भी डिवाइस से जुड़ी है जिसमें कनेक्टिविटी की जानकारी है. | |
प्रशंसक | यह विशेषता ऐसे किसी भी डिवाइस पर लागू होती है जिसमें पंखे को कंट्रोल करने की क्षमता होती है. | SetTimer |
नमी | यह विशेषता ऐसे किसी भी डिवाइस से जुड़ी है जिसमें नमी को मापने वाला सेंसर होता है. | |
जानकारी | यह Trait, डिवाइस से जुड़ी जानकारी के लिए इस्तेमाल किए जा रहे किसी भी डिवाइस से जुड़ा है. | |
सेटिंग | यह Trait, डिवाइस से जुड़ी सेटिंग की जानकारी के लिए इस्तेमाल किए जा रहे किसी भी डिवाइस से जुड़ा है. | |
तापमान | यह विशेषता ऐसे किसी भी डिवाइस से जुड़ी है जिसमें तापमान मापने वाला सेंसर होता है. | |
ThermostatEco | यह Trait, अलग-अलग तरह के उन डिवाइसों से जुड़ा है जो ECO मोड के साथ काम करते हैं. | SetMode |
ThermostatHvac | यह विशेषता, उस तरह के थर्मोस्टैट से जुड़ी है जो एचवीएसी की जानकारी दे सकते हैं. | |
ThermostatMode | यह खासियत, अलग-अलग तरह के थर्मोस्टैट के साथ काम करने वाले THERMOAT के अलग-अलग तरह के डिवाइसों से जुड़ी है. | SetMode |
ThermostatTemperatureSetpoint | यह विशेषता THERMOAT के उन डिवाइस से जुड़ी है जो टारगेट तापमान और तापमान की सीमा सेट करने की सुविधा देते हैं. | SetHeat SetCool SetRange |
JSON
GET जवाब में Trait न होने का मतलब है कि Trait या फ़िलहाल, डिवाइस के लिए यह सुविधा उपलब्ध नहीं है. यहां जाएं: डिवाइस के टाइप में अन्य सुविधाओं का इस्तेमाल करें जानकारी.
{ "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 and ThermostatEco.
स्टैंडर्ड मोड
थर्मोस्टैट मोड को HEAT, COOL या HEATCOOL में बदलने के लिए, ThermostatMode trait के SetMode निर्देश का इस्तेमाल करें.
इस निर्देश का इस्तेमाल थर्मोस्टैट का मोड बंद करने के लिए. इसे चालू करने के लिए इसका इस्तेमाल नहीं किया जा सकता ईको मोड पर.उदाहरण के लिए, थर्मोस्टैट के किसी स्टैंडर्ड मोड को बदलने के लिए:
अनुरोध
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatMode.SetMode
",
"params" : {
"mode" : "HEAT"
}
}
जवाब
{}
ईको मोड
ईको मोड को चालू करने के लिए, MANUAL_ECO का इस्तेमाल मोड के तौर पर करें. ThermostatEco Trait का SetMode निर्देश:
अनुरोध
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatEco.SetMode
",
"params" : {
"mode" : "MANUAL_ECO"
}
}
जवाब
{}
इस निर्देश का असर, ईको मोड की मौजूदा स्थिति या उसमें हुए बदलावों के आधार पर, अन्य विशेषताओं पर पड़ता है:
- ईको मोड बंद होने पर, थर्मोस्टैट मोड डिफ़ॉल्ट रूप से उस स्टैंडर्ड मोड (HEAT, COOL, HEATCOOL या ) के बंद होने पर) पर सेट हो जाएगा जो चालू था.
- अगर ईको मोड MANUAL_ECO है, तो:
- ThermostatTemperatureSetpoint Trait के लिए दिए गए निर्देश अस्वीकार कर दिए गए हैं.
- तापमान के सेट किए गए पॉइंट, ThermostatTemperatureSetpoint एट्रिब्यूट के हिसाब से नहीं दिखाए जाते.
सेट किए गए तापमान में बदलाव करें
तापमान के सेट पॉइंट सिर्फ़ तब बदले जा सकते हैं, जब थर्मोस्टैट चालू हो HEAT, COOL या HEATCOOL मोड, और सेटपॉइंट थर्मोस्टैट के मौजूदा मोड के हिसाब से हैं. तापमान सेटपॉइंट तब नहीं बदला जा सकता, जब मोड बंद हो या जब ईको मोड को MANUAL_ECO पर सेट किया गया है.
थर्मोस्टैट को उस मोड में होना चाहिए जो बदलाव से पहले कॉल किए गए निर्देश से मेल खाता हो सेट किए गए तापमान. सेटपॉइंट बदलने के निर्देश और फ़ील्ड, थर्मोस्टैट के हिसाब से अलग-अलग होते हैं मोड.
उदाहरण के लिए, SetHeat निर्देश देने के लिए, पहले थर्मोस्टैट को HEAT मोड पर सेट करना होगा:
मोड | आदेश | फ़ील्ड |
---|---|---|
की सुविधा चालू है | SetHeat | heatCelsius |
कूल | SetCool | coolCelsius |
हीटकूल | SetRange | heatCelsius , coolCelsius |
ध्यान दें कि सेटपॉइंट के निर्देश, पैरामीटर के तौर पर सिर्फ़ सेल्सियस में डिग्री लेते हैं. हालांकि, Google Nest Thermostat तापमान को डिग्री सेल्सियस या फ़ैरनहाइट में दिखा सकता है.
अगर थर्मोस्टैट ईको मोड में है, तोउदाहरण के लिए, थर्मोस्टैट के चालू होने पर तापमान का सेटपॉइंट बदलने के लिए एचएटी मोड को चालू करने के लिए, ThermostatTemperatureSetpoint Trait का SetHeat निर्देश:
अनुरोध
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat
",
"params" : {
"heatCelsius" : 22.0
}
}
जवाब
{}
ईको मोड सेटपॉइंट
heatCelsius
और coolCelsius
सेटपॉइंट
ThermostatEco विशेषता को उपयोगकर्ता सेट करता है और
एसडीएम एपीआई की मदद से बदला नहीं जा सकता.
पंखा चालू या बंद करें
अगर थर्मोस्टैट, पंखे के साथ काम करता है, तो उसे चालू या बंद करने के लिए फ़ैन Trait के SetTimer निर्देश का इस्तेमाल करें. इसे चालू करने पर, यह तय किया जा सकता है कि पंखा कितनी देर तक चालू रहे. सेकंड.
उदाहरण के लिए, एक घंटे तक पंखा चलाने के लिए:
अनुरोध
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.Fan.SetTimer
",
"params" : {
"timerMode" : "ON",
"duration" : "3600s"
}
}
जवाब
{}
अगर duration
फ़ील्ड को शामिल नहीं किया जाता है, तो पंखा 15 डिफ़ॉल्ट समय तक चलेगा
मिनट.
डिवाइस की कनेक्टिविटी देखें
अगर डिवाइस निर्देशों का जवाब नहीं दे रहा है या इवेंट नहीं भेज रहा है या आपको एपीआई की गड़बड़ियों की जानकारी देने के लिए, कनेक्टिविटी यह सुविधा, किसी ऑफ़लाइन स्थिति के लिए डिवाइस की कनेक्टिविटी. डिवाइस के इंटरनेट से कनेक्ट करें और पक्का करें कि Nest सेवा चालू है.
अगर आपने इवेंट चालू किए हैं, तो आपको संसाधन इवेंट भी मिला होगा यह बताता है कि डिवाइस ऑफ़लाइन हो गया है:
पेलोड
{
"eventId" : "0cb5bc58-0efd-4c2e-a00b-1403ffaf8c27",
"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"
]
}
डिवाइस से जुड़े इवेंट पर प्रतिक्रिया दें
Trait फ़ील्ड में किया गया कोई भी बदलाव, इवेंट जनरेट करता है.
उदाहरण के लिए, आपको
अगर थर्मोस्टैट का एचवीएसी, इस resourceUpdate
इवेंट से जुड़ा है
स्टेटस को बदलकर गर्म किया गया:
पेलोड
{
"eventId" : "94088ed1-1e7b-4b40-84bc-efedf88f7bd0",
"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 and थर्मोस्टैट टेंपरेचरसेटपॉइंट ट्रेट में बदलाव आता है. ऐसा ThermostatHvas ट्रेट में बदलाव को बाद में, एक अलग इवेंट ट्रिगर करता है. अगर एचवीएसी सिस्टम को चालू करने में देरी नहीं हुई, तो एक ही समय पर तीन इवेंट भेजे जाएंगे.
गड़बड़ियां
इस डिवाइस के संबंध में ये गड़बड़ी कोड दिखाए जा सकते हैं:
गड़बड़ी संदेश | RPC | समस्या का हल |
---|---|---|
कूल वैल्यू, ऊष्मा की वैल्यू से ज़्यादा होनी चाहिए. | INVALID_ARGUMENT |
पक्का करें कि heatCelsius फ़ील्ड, आपके निर्देश में coolCelsius फ़ील्ड से कम हो. |
मौजूदा थर्मोस्टैट मोड में निर्देश देने की अनुमति नहीं है. | FAILED_PRECONDITION |
ThermostatMode की विशेषता के मुताबिक, थर्मोस्टैट के कुछ मॉडल में ईको मोड के बंद होने पर भी, ईको मोड में बदलाव नहीं किया जा सकता. ईको मोड को बदलने से पहले, थर्मोस्टैट के मोड को HEAT, COOL या HEATCOOL में बदलना ज़रूरी है. |
थर्मोस्टैट का पंखा उपलब्ध नहीं है. | FAILED_PRECONDITION |
थर्मोस्टैट में पंखे की सुविधा नहीं है. इस डिवाइस के लिए, पंखे से जुड़ी विशेषताएं और निर्देश इस्तेमाल नहीं किए जा सकते. |
थर्मोस्टैट के MANUAL_ECO मोड में होने पर निर्देश की अनुमति नहीं है. | FAILED_PRECONDITION |
थर्मोस्टैट के मैन्युअल ईको मोड में होने पर, तापमान का सेटपॉइंट सेट नहीं किया जा सकता. |
इसके लिए एपीआई गड़बड़ी कोड संदर्भ देखें में देखें.