Device Access पर्यावरण और व्यावसायिक ऑफ़र के टाइप के आधार पर, प्रोजेक्ट पर उपयोगकर्ता, स्ट्रक्चर, और दर की सीमाएं लागू होती हैं.
हम चाहते हैं कि डेवलपर, उपयोगकर्ताओं को बेहतर अनुभव दें. साथ ही, हम यह भी चाहते हैं कि उपयोगकर्ताओं के लिए Nest की सेवा और डिवाइस हमेशा उपलब्ध रहें. किसी तय समयावधि में ज़्यादा अनुरोध करने वाले इंटिग्रेशन से, सेवा और डिवाइस की उपलब्धता पर असर पड़ सकता है. इसलिए, SDM API अनुरोध की दर पर सीमाएं लागू करता है. अनुरोधों की संख्या सीमित करने से, एक तय समयावधि के लिए एपीआई कॉल की संख्या सीमित हो जाती है. साथ ही, संसाधनों का ज़्यादा इस्तेमाल नहीं होता.
एनवायरमेंट के हिसाब से सीमाएं
सभी प्रोजेक्ट, सैंडबॉक्स एनवायरमेंट में शुरू होते हैं. सैंडबॉक्स का मकसद, SDM API का आकलन करना और निजी तौर पर इस्तेमाल करना है. इसलिए, इस पर पाबंदियां लगाई गई हैं. कमर्शियल डेवलपमेंट जैसे बड़े उपयोगकर्ता आधार वाले एनवायरमेंट की सीमाएं अलग-अलग होती हैं.
सैंडबॉक्स के उपयोगकर्ताओं की सीमाएं
सैंडबॉक्स में मौजूद डेवलपर खाते में, सभी प्रोजेक्ट के लिए पांच स्ट्रक्चर में 25 उपयोगकर्ताओं को जोड़ा जा सकता है. हर खाते में ज़्यादा से ज़्यादा तीन प्रोजेक्ट हो सकते हैं.
इनमें से हर स्ट्रक्चर में पांच उपयोगकर्ता हो सकते हैं. इसलिए, जब सभी पांच स्ट्रक्चर तय करने होंगे, तब ही उपयोगकर्ता सीमा पूरी हो जाएगी. हर स्ट्रक्चर में पांच उपयोगकर्ता हो सकते हैं. किसी स्ट्रक्चर में उपयोगकर्ताओं की संख्या पांच से ज़्यादा नहीं हो सकती. हालांकि, प्रोजेक्ट का मालिकाना हक रखने वाले डेवलपर खाते को इस संख्या में नहीं गिना जाता.
इसके उलट, अगर किसी प्रोजेक्ट में पांच स्ट्रक्चर में 15 उपयोगकर्ता हैं, तो अतिरिक्त उपयोगकर्ताओं को सिर्फ़ मौजूदा पांच स्ट्रक्चर में जोड़ा जा सकता है. ऐसा इसलिए, क्योंकि स्ट्रक्चर की सीमा पहले ही पूरी हो चुकी है.
सैंडबॉक्स की दर की सीमाएं
सैंडबॉक्स के रेट तीन अलग-अलग लेवल पर सीमित हैं. जब तक कुछ और न बताया जाए, तब तक सीमाएं हर मिनट की क्वेरी (क्यूपीएम) के हिसाब से सेट की जाती हैं.
API स्तर
हर उपयोगकर्ता और हर प्रोजेक्ट के लिए, एपीआई कॉल की संख्या सीमित होती है. अलग-अलग तरीकों के बारे में ज़्यादा जानकारी के लिए, एपीआई रेफ़रंस देखें.
एपीआई मेथड | अनुरोध की संख्या सीमित है |
---|---|
devices.executeCommand |
10 क्यूपीएम |
devices.get |
10 क्यूपीएम |
devices.list |
5 क्यूपीएम |
structures.get |
5 क्यूपीएम |
structures.list |
5 क्यूपीएम |
structures.rooms.get |
5 क्यूपीएम |
structures.rooms.list |
5 क्यूपीएम |
कमांड लेवल
हर ट्रेट कमांड (devices.executeCommand
) के लिए, हर प्रोजेक्ट, हर उपयोगकर्ता, और हर डिवाइस पर 5 क्यूपीएम की सीमा तय है.
इसका मतलब है कि अगर किसी प्रोजेक्ट में दो उपयोगकर्ता हैं और हर उपयोगकर्ता के पास दो डिवाइस हैं (कुल चार डिवाइस), तो उन चारों डिवाइसों पर एक ही निर्देश को एक मिनट में पांच बार चलाया जा सकता है.
हालांकि, अगर किसी प्रोजेक्ट में कुल छह डिवाइसों के लिए तीन डिवाइस के साथ दो उपयोगकर्ता हैं, तो उन छह डिवाइसों में से हर डिवाइस के लिए एक मिनट में पांच बार एक ही निर्देश को कॉल नहीं किया जा सकता. अगर किसी प्रोजेक्ट के उपयोगकर्ता के लिए, devices.executeCommand
एपीआई लेवल की दर की सीमा 10 क्यूपीएम है, तो हर उपयोगकर्ता के लिए 15 क्यूपीएम होगा.
डिवाइस इंस्टेंस लेवल
इसके अलावा, बैटरी की सुरक्षा के लिए, सभी प्रोजेक्ट और कमांड (devices.executeCommand
) के लिए, डिवाइस इंस्टेंस लेवल की सीमाएं लागू की जाती हैं. ये सीमाएं, हर घंटे की क्वेरी (क्यूपीएच) और हर मिनट की क्वेरी (क्यूपीएम) के लेवल, दोनों पर लागू होती हैं. ये सीमाएं, get
और list
एपीआई के तरीकों पर लागू नहीं होती हैं.
उदाहरण के लिए, मान लें कि प्रोजेक्ट A और प्रोजेक्ट B, दोनों के पास एक ही डिवाइस, डिवाइस A का ऐक्सेस है. ऐसा तब हो सकता है, जब उपयोगकर्ता ने एक ही डिवाइस का इस्तेमाल करने वाले दो अलग-अलग व्यावसायिक इंटिग्रेशन को अनुमति दी हो. अगर प्रोजेक्ट A ने एक मिनट के अंदर डिवाइस A को चार निर्देश भेजे हैं, तो डिवाइस इंस्टेंस के लेवल पर दर की सीमा पूरी होने से पहले, प्रोजेक्ट B उसी मिनट में डिवाइस A को सिर्फ़ एक निर्देश भेज सकता है. उस समय, डिवाइस A पर दोनों प्रोजेक्ट से मिलने वाले निर्देशों को, उस मिनट के आखिर तक कम कर दिया जाता है जब डिवाइस A पर पहला निर्देश मिलता है.
अगर किसी डिवाइस टाइप का नाम यहां नहीं दिया गया है, तो इसका मतलब है कि उस डिवाइस के लिए, डिवाइस इंस्टेंस के लेवल पर अनुरोध दर की सीमाएं नहीं हैं.
डिवाइस का टाइप | डिवाइस इंस्टेंस की दर की सीमा |
---|---|
थर्मोस्टैट | 5 क्यूपीएम या 100 क्यूपीएच |
कैमरा | 30 क्यूपीएम या 100 क्यूपीएच |
DOORBELL | 30 क्यूपीएम या 100 क्यूपीएच |
गड़बड़ियां
इस गाइड के बारे में गड़बड़ी के ये कोड दिख सकते हैं:
गड़बड़ी का मैसेज | RPC | समस्या का हल |
---|---|---|
अनुरोधों की संख्या सीमित है. | RESOURCE_EXHAUSTED |
हर डेवलपर के लिए एक तय समय होता है कि वह कितने कॉल कर सकता है. अगर आपने कोटे से ज़्यादा कॉल किए, तो आपको 'कॉल की संख्या सीमित है' मैसेज मिलेगा. इसे ठीक करने के लिए, कोटा खत्म होने पर कॉल फिर से सबमिट करें. |
एपीआई से जुड़ी गड़बड़ियों के कोड की पूरी सूची के लिए, एपीआई से जुड़ी गड़बड़ी के कोड का रेफ़रंस देखें.