שאלות נפוצות על בית חכם

כללי

שאלה:איפה ובאיזו שפה כדאי להטמיע את תשתית מילוי ההזמנות של Actions on Google?

תשובה: כל עוד הפלטפורמה תומכת ב-SSL (TLS) מודרני וב-OAuth 2.0, אתם מוזמנים להטמיע את התשתית שלכם בכל פלטפורמה ובכל שפה שתבחרו. מומלץ לפרוס ככל האפשר את שאר התשתית בארגון, כדי לשפר את האמינות ולצמצם את זמן האחזור של הביצוע במכשירים של המשתמשים בפועל.


שאלה:האם מזהי מכשירים צריכים להיות ייחודיים?

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


שאלה:האם שמות מכשירים צריכים להיות ייחודיים?

ת: השמות לא חייבים להיות ייחודיים, אבל לאורך זמן אנחנו עשויים לעודד אנשים לשפר שמות לא נכונים לאחר ההגדרה, כדי לשפר את חוויית המשתמש.

הנה מדריך מהיר למתן שמות:

  • שמות צריכים להיות דברים שאנשים יכולים לומר בפועל.
  • אנחנו מזהים קבוצות משנה של מחרוזות, כך שאם יש לכם 'acme color light' נענה גם על 'acme light'.
  • מומלץ להשתמש גם בשם תיאורי למוצר וגם בשם אחד או יותר בהגדרת המשתמש.
  • המשתמשים לא צריכים לתת שמות לחדרי תאורה, כי יש חדרים מתאימים. הם צריכים להיות שמות ייחודיים לכל חדר, אבל הם יכולים תמיד להשתמש בפורמטי רבים כדי לפקוד על כל דבר (לדוגמה, שתי הנורות במשרדים הן 'נורה צפון' ו'אור מזרחי'), אבל אפשר פקודה רק 'lights').

שאלה:באיזו תדירות מתעדכן מצב המכשיר?

ת: המצב הזמני מאוחזר בעקבות QUERY או EXECUTE, שהן פעולות ביוזמת המשתמש. אם המשתמש שואל "האם הנורה דולקת?" או אם הוא רוצה להדליק נורה, נצטרך להריץ שאילתה כדי לברר מה המצב הנוכחי.


שאלה:האם אפשר לעדכן את 'תרשים הבית' ישירות במצב הנוכחי של המכשיר?

תשובה: כן, אני רוצה להשתמש בקריאה ל-API Report State.


קישור חשבונות ו-OAuth

תשובה: כן, צריך לקשר חשבונות כדי לחבר מכשירים של משתמשים לשירותי הענן של הספק.


ש: לגבי OAuth, התוקף של אסימוני הגישה פג כל 15.213 שעות, זה בסדר?

תשובה: כן, אבל מומלץ לבדוק עם זמן תפוגה קצר למדי, למשל 10-20 דקות. לקוח OAuth שלנו אמור לרענן אסימונים לפי הצורך, ובדיקה עם זמן תפוגה קצר תוכיח שהעיבוד פועל.


כוונות

שאלה:מתי מתבצע הסנכרון?

תשובה: הסנכרון מתרחש מיד אחרי השלמת OAuth ואחרי ביצוע קריאה של Request Sync.


ש: למה SYNC לא פועל?

תשובה: יש כמה סיבות נפוצות לכישלון.

  • ניסית לשלוח סוגי מכשירים שגויים.

    • לדוגמה, אנחנו מצפים ל-action.devices.types.LIGHT, אבל אתם שולחים action.devices.types.Light.
  • בחרת לשלוח סוגי מכשירים שלא נתמכים.

    • לדוגמה, שולחים action.devices.types.FLASHLIGHT – אנחנו לא תומכים שם כזה.
  • ניסית לשלוח שדות לא תקינים/לא נתמכים.

    • לדוגמה, יש שדה של גרסה או שדה אחר שלא כלול במפרט שלנו.
  • יש בעיית פורמט אחרת בתגובת הסנכרון שלך.

    • צריך לבדוק את הסוגריים המרובעים!
  • נתקלת בבעיית קישור חשבונות.

    • אתם צריכים לוודא שקיבלתם אסימון גישה חוקי בכותרת 'אימות' של בקשת הסנכרון.
  • לוקח יותר מדי זמן להגיב לבקשה לסנכרון.

    • עליכם לוודא שמגיבים לבקשת הסנכרון תוך 5 שניות.

שאלה:האם תשובה מסוג 'בהמתנה' מתאימה?

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


בדיקה ושליחה

שאלה:האם אפשר להגדיר סביבת Staging?

תשובה: כן, צריך ליצור פרויקט נפרד ולהפעיל את ההגדרה שלו. אתם מוזמנים ליצור כמה פרויקטים שצריך כדי למפות לתהליכי פיתוח ולתשתית.


שאלה:באיזו תדירות צריך לעדכן את טיוטת הפרויקט?

תשובה: צריך לרענן טיוטה של פרויקט מדי 3 ימים. לאחר 3 ימים, סוכן הבדיקה ייעלם מההגדרות של mobile-HomeControl. אם נתקלים באפשרות הזו, לוחצים על הלחצן TEST DRAFT של הפרויקט ב-Actions on Google Console.


שאלה:האם אפשר לבצע בדיקות ביותר ממכשיר אחד בו-זמנית?

תשובה: Actions on Google תומך רק ב-AP אחד מסוג "try-on-device" בכל פעם. אם תשתמשו בפעם הראשונה ב-TEST DRAFT ב-'ap1' ובסנכרון המכשירים, אז (בלי לבטל את הקישור של ap1) תוכלו להריץ ישירות את TEST DRAFT "ap2", "ap1" ייעלם מ-mobile-HomeControl-settings. כדי לפתור את הבעיה, מריצים שוב את TEST DRAFT ב-ap1, ואפשר לבטל את הקישור של 'ap1' בהגדרות.

שימו לב שחבילת הפעולות הבודדת הזו תהיה זמינה לכל מכשירי Google Assistant שלכם עבור המשתמש. לדוגמה, תוכלו לבדוק את שילוב החומרה החדש ברמקולים עם הפעלה קולית וגם ב-Android.


שאלה:הגשת הפרויקט 'פעולות שלי' נדחתה בגלל השם או ההגייה של הקובץ. מה צריך לשנות?

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

כדי להמשיך להשתמש באותו שם, פנו לתמיכה כדי שצוות הדיבור יוסיף את השם המוצג אל Assistant.


שאלה:מה קורה? הפעולה שלי לא מופיעה בקטע 'בקרה על הבית' באפליקציית Google Home?

תשובה: הבעיה יכולה להיות אחת מהאפשרויות הבאות:

  • לא לחצתם על הלחצן בדיקת טיוטה של הפרויקט ב-Actions Console.
  • אפשר לבצע רק פעולה אחת בבדיקה במכשיר בכל פעם.
  • באפליקציה Actions Console, נכנסים לכרטיסייה 'סימולטור' של פרויקט הפעולות, ומחליפים שוב את המצבים 'פעיל/לא פעיל' ל'לא פעיל' ואז ל'פעיל'.
  • אם מישהו שיתף איתכם פעולה, חשוב לוודא שקיבלתם את כל הוראות השיתוף.
  • תוקף הבדיקה במכשיר יפוג לאחר שלושה ימים. לוחצים על הלחצן TEST DRAFT של הפרויקט ב-Actions Console.

שאלה:למה מופיעה הודעת שגיאה כשאני מקלידה בסימולטור 'דיבור אל <my agent name>'?

תשובה: בפעולות בבית חכם לא נעשה שימוש בשמות הפעלה. כדי לבדוק בסימולטור, צריך להריץ את קישור החשבונות בטלפון Android או iOS שבו מותקן Google Home app (GHA). לפני שמפעילים את קישור החשבון, צריכים להיות לכם מכשירים שמשויכים לחשבון.


שאלה:למה מופיעות שגיאות כשאני מנסה להשתמש בסימולטור?

תשובה: לא ניתן להשתמש בסימולטור כדי לבדוק פעולות smart home שנפרסו. כדי להשתמש בסימולטור לפרויקט אוטומציה של הבית שנמצא בסביבת ייצור, צריך ליצור פרויקט חדש למטרות בדיקה.


סטטוס הדיווח

ש: האם יש דרישות מוקדמות להטמעת מצב הדוח?

תשובה: הפרויקט צריך להשתמש ב-Smart Home API, לתמוך ב-OAuth2 והוא צריך לכלול מאפיינים שיש להם את המצבים לדיווח.


שאלה:באיזו תדירות צריך לדווח על מצב במכשיר?

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


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

תשובה: אין תמיכה בעדכוני מצב חלקיים, כך שקריאות Report State צריכות תמיד לכלול את כל הנתונים של מאפיין מסוים שעודכן. אם שתי תכונות מובילות לחוסר עקביות, צריך לדווח עליהן יחד.


ש: האם Google יכולה לשלוח שאילתה למכשיר שלי כדי לקבל את המצב (כלומר, דגימה של המכשיר)?

ת: אנו לא ממליצים על מנגנון חלופי הזה. אם נצטרך לחזור ולבדוק מכשירים לעיתים קרובות עבור המשתמשים האלה, לא נוכל להבטיח מה יהיה העומס הנוסף. הצורך מגיע מהפלטפורמות הוויזואליות החדשות. בנוסף לבעיית הטעינה הלא ידועה, חוויית המשתמש תפגע. אנחנו סבורים ש-Report State חיוני לפלטפורמה.


ש: באילו תכונות אפשר להשתמש כרגע בדוח?

א: יש תמיכה בכל התכונות הציבוריות שמשויכות למדינות. כל שינוי במצב האונליין של המכשיר צריך לדווח.

שימו לב שלסצנות אין מצבים. עם זאת, הם עלולים לגרום לשינוי המצבים של המכשירים. אם במצב שינוי כלשהו במכשיר Google Home Graph, צריך לדווח על כך מחדש.


שאלה:האם נדרשת שליחה של חותמת זמן למצב הדוח?

תשובה: לא צריך חותמת זמן. המצב האחרון שנשלח יבטל את הקריאות הקודמות.


שאלה:האם צריך לדווח על מצב הדיווח בנפרד אם כבר שלחתי את המצב בקטע 'שאילתה' ו/או 'ביצוע'?

תשובה: הערך Home Graph שומר רק את המצב שנשלח דרך Report State. המצב שמוחזר בתגובה לאובייקטים מסוג Intent מסוג EXECUTE ו-QUERY משמש רק לתגובות הדיבור של המשתמש, והם לא מאוחסנים. כתוצאה מכך, צריך לקרוא ל-Report State גם אם המצב החדש של המכשיר כבר הוחזר כתגובה ל-Intent מסוג EXECUTE או QUERY.


שאלה:מה ההשלכות של אי-הטמעה מלאה של מצב הדוח בטווח הזמן הנתון?

תשובה: התוצאה תהיה פגיעה בחוויית המשתמש, למשל בפלטפורמות GHA ובפלטפורמות הוויזואליות. המשמעות היא שאובייקטים רבים של Intent מסוג QUERY יישלחו למשאל עבור המדינה, ואנחנו לא יכולים להבטיח מה יהיה יקרה לעומס נוסף על הענן של השותף.


ש: איך אפשר לבדוק את ההטמעה של מצב הדוח?

תשובה: צריך להשתמש ב-Home Graph Viewer – כלי לבדיקה בשירות עצמי, שמציג את מצבי המכשיר הנוכחיים שמאוחסנים ב-Home Graph.


ש: האם אפשר להשתמש ב-requestId אקראי במצב הדוח?

תשובה: אנחנו ממליצים לשותפים להשתמש באותו requestId שהם קיבלו מהבקשה EXECUTE אם Report State הופעל על ידי בקשת EXECUTE. אחרת, אפשר פשוט להשתמש ב-requestId אקראי.


שאלה:אם למשתמש יש כמה מכשירים והמצב של אחד מהם משתנה, צריך לדווח על המצב העדכני של כל המכשירים?

תשובה: לא. אתם צריכים לדווח רק על המצב של המכשיר הספציפי הזה.


שיטות מומלצות

ש: מהו סוג זמן האחזור?

תשובה: פחות מ-200 אלפיות השנייה, עדיף קצב בין 2 ל-5 שניות. אם זמן האחזור הוא יותר מ-5 שניות, תוכלו לפנות אלינו.


שאלה:איך אפשר לגרום לרמקול המופעל באמצעות קול להגיב באופן תקין כשהוא במצב אופליין?

תשובה: החזרת מצב האופליין למכשירים במצב אופליין. בתגובה לשגיאה הזו, אנחנו מחזירים את הביטוי 'not available right now' (לא זמין כרגע) כ-TTS. מידע נוסף זמין במאמר שגיאות וחריגים.