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

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

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

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

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

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

בארגז החול, חשבון פיתוח מוגבל ל-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 בקשות לדקה, כשdevices.executeCommand מגבלת הקצב ברמת ה-API למשתמש בפרויקט היא 10 בקשות לדקה.

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

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

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

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

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

שגיאות

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

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

רשימה מלאה של קודי השגיאה של ה-API מפורטת בדף קודי השגיאה.