מגבלות משתמשים ותעריפים

פרויקטים שלDevice Access מוגבלים לפי משתמש, מבנה ומגבלות קצב, בהתאם לסביבה ולסוג של מוצר מסחרי.

אנחנו רוצים שהמפתחים ייצרו חוויות משתמש מושכות, אבל אנחנו גם רוצים שהשירות והמכשירים של Nest יהיו זמינים למשתמשים תמיד. שילובים ששולחים מספר גדול של בקשות בפרק זמן נתון עלולים להשפיע על הזמינות של השירות והמכשיר, ולכן ה-SDM API כולל מגבלות קצב. הגבלת קצב שליחת הבקשות מגבילה את מספר הקריאות ל-API לפרק זמן מסוים ומונעת שימוש יתר במשאבים.

הגבלות לפי סביבה

כל הפרויקטים מתחילים בסביבת   Sandbox  . ארגז החול מיועד להערכה של SDM API ולשימוש אישי, והמגבלות מוגבלות בהתאם. בסביבות עם בסיס משתמשים גדול יותר, כמו   פיתוח מסחרי  , יש מגבלות שונות.

מגבלות משתמשים בארגז חול

בחשבון פיתוח בסביבת Sandbox יש מגבלה של 25 משתמשים ב-5 מבנים בכל הפרויקטים. יש מגבלה של 3 פרויקטים לכל חשבון.

כל מבנה מוגבל ל-5 משתמשים, כך שמגבלת המשתמשים תושג רק אם בכל 5 המבנים יהיו 5 משתמשים. חשבון הפיתוח (שהפרויקט בבעלותו) לא נספר במסגרת המגבלה של 5 משתמשים במבנה.

לעומת זאת, אם בפרויקט יש 15 משתמשים ב-5 מבנים, אפשר להוסיף משתמשים רק ל-5 המבנים הקיימים, כי כבר הגעתם למגבלת המבנים.

מגבלות קצב בארגז חול

יש הגבלה על קצב יצירת הבקשות בארגז החול ב-3 רמות שונות. ההגבלות מוגדרות לפי מספר השאילתות לדקה (QPM), אלא אם צוין אחרת.

רמת ממשק API:

יש מגבלה על מספר קריאות ה-API לכל פרויקט ולכל משתמש. מידע נוסף על שיטות ספציפיות זמין בהפניית ה-API.

שיטת ה-API מגבלת קצב
devices.executeCommand ‫10 QPM
devices.get ‫10 QPM
devices.list ‫5 QPM
structures.get ‫5 QPM
structures.list ‫5 QPM
structures.rooms.get ‫5 QPM
structures.rooms.list ‫5 QPM

רמת הפקודה

כל פקודת מאפיין (devices.executeCommand) מוגבלת ל-5 שאילתות לדקה לכל פרויקט, לכל משתמש ולכל מכשיר.

המשמעות היא שאם בפרויקט יש 2 משתמשים עם 2 מכשירים כל אחד (4 מכשירים בסך הכול), אפשר להפעיל את אותה פקודה 5 פעמים בדקה לכל אחד מ-4 המכשירים האלה.

עם זאת, אם בפרויקט יש 2 משתמשים עם 3 מכשירים כל אחד, כלומר 6 מכשירים בסך הכול, אי אפשר להפעיל את אותה פקודה 5 פעמים בדקה לכל אחד מ-6 המכשירים האלה. במקרה כזה, כל משתמש יקבל 15 QPM, כשמגבלת הקצב ברמת ה-API של devices.executeCommand בפרויקט היא 10 QPM.

רמת מופע המכשיר

בנוסף, הוטמעו הגבלות ברמת מופע המכשיר בפרויקטים ובפקודות (devices.executeCommand) להגנה על הסוללה של המכשיר. המגבלות האלה חלות ברמות QPM ו-QPH, ולא חלות על שיטות ה-API‏ get ו-list.

לדוגמה, נניח שלפרויקט א' ולפרויקט ב' יש גישה לאותו מכשיר, מכשיר א' (יכול להיות שהמשתמש אישר שני שילובים מסחריים שונים שמשתמשים באותו מכשיר). אם פרויקט א' שלח 4 פקודות למכשיר א' בתוך דקה, פרויקט ב' יכול לשלוח רק פקודה אחת למכשיר א' באותה דקה לפני שמגיעים למגבלת הקצב ברמת מופע המכשיר. בשלב הזה, הפקודות משני הפרויקטים למכשיר א' מוגבלות עד לסוף הדקה שהתחילה עם הפקודה הראשונה למכשיר א'.

אם סוג מכשיר לא מופיע ברשימה שלמטה, לא חלות עליו הגבלות על קצב בקשות ברמת מופע המכשיר.

סוג מכשיר מגבלת קצב ליצירת בקשות ממופע מכשיר
THERMOSTAT ‫5 QPM או 100 QPH
מצלמה ‫30 QPM או 100 QPH
פעמון דלת ‫30 QPM או 100 QPH

שגיאות

יכול להיות שיוחזרו קודי השגיאה הבאים בהקשר של המדריך הזה:

הודעת השגיאה הכנסה לקליק פתרון בעיות
קצב יצירת הבקשות מוגבל. RESOURCE_EXHAUSTED לכל מפתח יש מכסת שיחות שמוגבלת למספר מסוים. אם תבצעו יותר שיחות מהמכסה, תוצג לכם ההודעה Rate limited. כדי לפתור את הבעיה, צריך לשלוח מחדש את הקריאה אחרי שהמכסה פגה.

רשימה מלאה של קודי שגיאה של API זמינה במאמר API Error Code Reference.