במסמך הזה מפורטים השגיאות והחריגים שנתמכים באופן רשמי במכשירים לבית חכם. מומלץ להשתמש בקודי השגיאות והחריגים האלה בתגובה לכוונת המשתמש או בהתראות (אם הטמעתם אותן), כדי ש-Google Assistant תתריע בפני משתמשי הקצה על בעיות שקשורות לפקודה או למצב מכשיר מסוימים. אם התגובה מכילה עיצוב שגוי או את השגיאה errorCode, Google Assistant תציג למשתמשים הודעת שגיאה כללית, למשל: "מצטערת, המכשיר לא זמין כרגע".
שגיאות
צריך להחזיר קוד שגיאה כשבעיה גורמת לכך שבקשת ביצוע או בקשת שאילתה נכשלות. לדוגמה, אם מנעול הדלת נתקע ואי אפשר לנעול או לפתוח אותו, צריך להחזיר למשתמש שגיאה לגבי המצב הזה.
אפשר לצרף קודי שגיאה ברמת המכשיר או ברמה הגלובלית. לדוגמה, אם למשתמש יש הרבה נורות מספק אחד והן נשלטות על ידי רכזת, כשהמשתמש מבקש לכבות את כל הנורות, הספק עשוי להחזיר שגיאה ברמת המכשיר אם נורה אחת במצב אופליין, או שגיאה ברמה הגלובלית אם הרכזת כולה במצב אופליין ואי אפשר לשלוט באף נורה. אם כל המכשירים במצב אופליין, אין הבדל בין שימוש בשגיאות ברמה הגלובלית לבין שימוש בשגיאות ברמת המכשיר.
לסיכום:
- שגיאה ברמה הגלובלית: לכל המכשירים בתגובה יש את אותה שגיאה
- שגיאה ברמה המקומית: תגובה מעורבת עם מקרים של שגיאה והצלחה
שגיאות ברמה הגלובלית
קטע ה-JSON הבא מראה איך מחזירים שגיאות ברמה הגלובלית בתגובה של QUERY או EXECUTE.
דוגמה לשגיאה ברמה הגלובלית deviceOffline בגלל שהמרכז לא מקוון:
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "errorCode": "deviceOffline", "status" : "ERROR" } }
דוגמה לשגיאה ברמה הגלובלית inSoftwareUpdate בגלל עדכון של המרכז:
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "errorCode": "inSoftwareUpdate", "status" : "ERROR" } }
שגיאות ברמת המכשיר
תגובת QUERY
קטע ה-JSON הבא מראה איך מחזירים שגיאות ברמת המכשיר בתגובת QUERY.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "devices": { "device-id-1": { "errorCode": "deviceOffline", "status" : "ERROR" }, "device-id-2": { "errorCode": "deviceOffline", "status" : "ERROR" } } } }
תגובת EXECUTE
קטע ה-JSON הבא מראה איך מחזירים שגיאות ברמת המכשיר בתגובת EXECUTE.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "device-id-1" ], "status": "ERROR", "errorCode": "deviceOffline" }, { "ids": [ "device-id-2" ], "status": "SUCCESS", "states": { "on": true, "online": true } } ] } }
התראות עם שגיאות
התראה יזומה
קטע ה-JSON הבא מראה איך מדווחים על שגיאות ברמת המכשיר בהתראה יזומה.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "agentUserId": "agent-user-id-1", "eventId": "unique-event-id-1", "payload": { "devices": { "notifications": { "device-id-1": { "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceDoorOpen" } } } } } }
תשובת המשך
קטע ה-JSON הבא מראה איך מדווחים על שגיאות ברמת המכשיר בתגובה להמשך.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "agentUserId": "agent-user-id-1", "eventId": "unique-event-id-1", "payload": { "devices": { "notifications": { "device-id-1": { "LockUnlock": { "priority": 0, "followUpResponse": { "status": "FAILURE", "errorCode": "deviceJammingDetected", "followUpToken": "PLACEHOLDER" } } } } } } }
רשימת שגיאות
השגיאות הבאות יגרמו להשמעת ה-TTS המשויך במכשיר.
- aboveMaximumLightEffectsDuration : המשך ארוך יותר מהמשך המקסימלי של שעה אחת. אפשר לנסות שוב.
- aboveMaximumTimerDuration : I can only set <device(s)> for up to <time period>
- actionNotAvailable : מצטער, נראה שאי אפשר לבצע את הפעולה הזו כרגע. טיפ: כדאי לאמת את הלוגיקה של מאפייני המכשיר והמצב הנוכחי בתהליך ההזמנה.
- actionUnavailableWhileRunning : המכשיר/ים <device(s)> פועל/ים כרגע, ולכן אין לי אפשרות לבצע שינויים.
- alreadyArmed : <device(s)> <is/are> already armed.
- alreadyAtMax : המכשיר או המכשירים כבר מוגדרים לטמפרטורה המקסימלית.
- alreadyAtMin : המכשיר/ים <is/are> כבר מוגדר/ים לטמפרטורה המינימלית.
- alreadyClosed : המכשיר/ים <is/are> כבר סגור/ים.
- alreadyDisarmed : <device(s)> <is/are> already disarmed.
- alreadyDocked : המכשיר/ים <is/are> כבר מחובר/ים למעמד.
- alreadyInState : המכשיר או המכשירים כבר במצב הזה.
- alreadyLocked : המכשיר/ים כבר נעולים.
- alreadyOff : המכשיר או המכשירים כבר כבויים.
- alreadyOn : <device(s)> <is/are> already on.
- alreadyOpen : המכשיר/ים <is/are> כבר פתוח/ים.
- alreadyPaused : המכשיר/ים <is/are> כבר בהשהיה.
- alreadyStarted : המכשיר/ים <device(s)> כבר הופעל/ו.
- alreadyStopped : <device(s)> <is/are> already stopped.
- alreadyUnlocked : <device(s)> <is/are> already unlocked.
- ambiguousZoneName : מצטער, <device(s)> לא יכול לזהות לאיזה אזור התכוונת. צריך לוודא שלאזורים יש שמות ייחודיים ולנסות שוב.
- amountAboveLimit : הסכום הזה גבוה מהסכום שאפשר להוסיף ל<device(s)>.
- appLaunchFailed : מצטערים, לא הצלחנו להפעיל את <שם האפליקציה> ב <מכשיר(ים)>. טיפ: כדאי לוודא את מזהה האפליקציה ושהאפליקציה נתמכת בחומרה של מכשיר היעד.
- armFailure : לא ניתן להפעיל את האזעקה ב<device(s)>.
- armLevelNeeded : I'm not sure which level to set <device(s)> to. אפשר לומר "Set <device(s)> to <low security>" או "Set <device(s)> to <high security>"
- authFailure : לא הצלחתי ליצור קשר עם <device(s)>. כדאי לבדוק באפליקציה ש<device/devices> מוגדרים באופן מלא.
- bagFull : למכשיר/ים <device(s)> יש <a full bag/full bags>. צריך לרוקן <it/them> ולנסות שוב.
- belowMinimumLightEffectsDuration : האורך קצר מהאורך המינימלי של 5 דקות. אפשר לנסות שוב.
- belowMinimumTimerDuration : אי אפשר להגדיר את <device(s)> לזמן כל כך קצר. אפשר לנסות שוב.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- cancelArmingRestricted : סליחה, לא הצלחתי לבטל את הפעלת האזעקה ב<device(s)>.
- cancelTooLate : Sorry, it's too late to cancel. במקומה, אפשר להשתמש ב-<device(s)> או באפליקציה.
- channelSwitchFailed : מצטערים, המעבר לערוץ <שם הערוץ> נכשל. אפשר לנסות שוב מאוחר יותר. טיפ: כדאי לוודא את השמות או המספרים של הערוצים ואת סטטוס המינוי של המשתמש.
- chargerIssue : מצטערים, נראה שלמכשיר <device(s)> יש <a charger issue/charger issues>. הערה: השותף צריך לבדוק את הטלמטריה ברמת החומרה ואת תקינות הסוללה.
- commandInsertFailed : לא ניתן לעבד פקודות עבור <device(s)>. טיפ: כדאי לבדוק את ביצועי הכתיבה של מסד הנתונים או את הלוגיקה הפנימית של תור הפקודות.
- deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
- degreesOutOfRange : המעלות שצוינו חורגות מהטווח של <device(s)>.
- deviceAlertNeedsAssistance : במכשיר/ים <device(s)> יש התראה פעילה ו<need(s)> את העזרה שלך.
- deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
- deviceBusy : מצטער, נראה שהמכשיר או המכשירים <device(s)> כבר מבצעים פעולה כלשהי כרגע.
- deviceCharging : מצטער, נראה שמכשירי <device(s)> לא יכולים לעשות את זה כי (ha_shared.ItsTheyre size=$item.devices.total_device_count) בטעינה.
- deviceClogged : מצטערים, נראה שהמכשיר <device(s)> עמוס מדי.
- deviceCurrentlyDispensing : המכשיר (או המכשירים) <device(s)> כבר מפיק משהו כרגע.
- deviceDoorOpen : הדלת פתוחה ב <device(s)>. צריך לסגור אותה ולנסות שוב.
- deviceHandleClosed : הידית סגורה ב-<device(s)>. צריך לפתוח אותה ולנסות שוב.
- deviceJammingDetected : המכשיר/ים <is/are> נחסם/ו.
- deviceLidOpen : המכסה פתוח ב <device(s)>. צריך לסגור אותו ולנסות שוב.
- deviceNeedsRepair : צריך לתקן את <device(s)>. צריך לפנות לסוכנות השירות המקומית.
- deviceNotDocked : מצטער, נראה ש <device(s)> <isn't/aren't> docked. צריך להניח את <it/them> באביזר העגינה ולנסות שוב.
-
deviceNotFound
:
המכשיר/ים <device(s)> לא זמין/ים. אולי כדאי לנסות להגדיר <אותו/אותם> שוב. טיפ: חשוב לוודא שהקצה העורפי תמיד מסנכרן את Home Graph. התקשרות אל
requestSyncבכל פעם שמוסיפים או מסירים מכשירים. - deviceNotMounted : מצטער, נראה שאי אפשר לעשות את זה ב<device(s)> כי <it/they> <is/are>n't mounted.
- deviceNotReady : המכשיר או המכשירים לא מוכנים.
- deviceStuck : <device(s)> <is/are> stuck and needs your help.
- deviceTampered : מישהו חיבל ב<device(s)>.
- deviceThermalShutdown : מצטערים, נראה ש <device(s)> נסגר בגלל טמפרטורות קיצוניות.
- directResponseOnlyUnreachable : <device(s)> <doesn't/don't> support remote control.
- disarmFailure : לא ניתן להשבית את <device(s)>.
- discreteOnlyOpenClose : מצטער, אפשר רק לפתוח או לסגור את <device(s)> עד הסוף.
- dispenseAmountAboveLimit : לא ניתן להוציא סכום כזה גדול מ<device(s)>.
- dispenseAmountBelowLimit : לא ניתן להוציא כמות קטנה כזו במכשיר(ים) <device(s)>.
- dispenseAmountRemainingExceeded : למכשיר(ים) <device(s)> אין מספיק <dispense item> כדי לבצע את הפעולה הזו.
- dispenseFractionalAmountNotSupported : <device(s)> can't dispense fractions of <dispense item>.
- dispenseFractionalUnitNotSupported : המכשיר או המכשירים <device(s)> לא תומכים בחלקי יחידות של <dispense item>.
- dispenseUnitNotSupported : המכשיר או המכשירים <device(s)> לא תומכים ביחידה הזו של <dispense item>.
- doorClosedTooLong : עבר זמן רב מאז שהדלת של <device(s)> נפתחה. עליך לפתוח את הדלת, לוודא שיש משהו בפנים ולנסות שוב.
- emergencyHeatOn : המכשיר/ים <device(s)> נמצא/ים במצב מקור חום לגיבוי, ולכן צריך לכוון אותו/אותם באופן ידני.
- faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
- floorUnreachable : לא ניתן להגיע לחדר הזה באמצעות <device(s)>. צריך להעביר את <המכשיר/המכשירים> לקומה המתאימה ולנסות שוב.
- functionNotSupported : למעשה, המכשיר/ים <device(s)> לא תומך/ים בפונקציונליות הזו. טיפ: חשוב לוודא שהתגובה של SYNC משקפת באופן מדויק את היכולות של המכשיר.
- genericDispenseNotSupported : אני צריך לדעת מה ברצונך להנפיק. צריך לנסות שוב עם שם הפריט.
- hardError : מצטער, משהו השתבש ואין לי אפשרות לשלוט במכשיר הביתי שלך.
- hardError : מצטער, משהו השתבש ואין לי אפשרות לשלוט במכשיר הביתי שלך.
- inAutoMode : <device(s)> <is/are> currently set to auto mode. כדי לשנות את הטמפרטורה, צריך להעביר את המזגן למצב אחר.
- inAwayMode : המכשיר/ים<is/are> מוגדרים כרגע למצב 'לא בבית'. כדי לשלוט בתרמוסטט, צריך להעביר אותו ידנית למצב 'בבית' באמצעות אפליקציית Nest בטלפון, בטאבלט או במחשב.
- inDryMode : <device(s)> <is/are> currently set to dry mode. כדי לשנות את הטמפרטורה, צריך להעביר את המזגן למצב אחר.
- inEcoMode : המכשיר או המכשירים <device(s)> מוגדרים כרגע למצב חיסכון באנרגיה. כדי לשנות את הטמפרטורה, צריך להעביר את המזגן למצב אחר.
- inFanOnlyMode : <device(s)> <is/are> currently set to fan-only mode. כדי לשנות את הטמפרטורה, צריך להעביר את המזגן למצב אחר.
- inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
- inHumidifierMode : המכשיר/ים נמצאים כרגע במצב של מכשיר אדים. כדי לשנות את הטמפרטורה, צריך להעביר את המזגן למצב אחר.
- inOffMode : המכשיר/ים <is/are> כרגע במצב כבוי. כדי לשנות את הטמפרטורה, צריך להעביר <it/them> למצב אחר.
- inPurifierMode : המכשיר/ים <is/are> מוגדר כרגע למצב מטהר. כדי לשנות את הטמפרטורה, צריך להעביר את המזגן למצב אחר.
- inSleepMode : <device(s)> <is/are> in sleep mode. אפשר לנסות שוב מאוחר יותר.
- inSoftwareUpdate : המכשיר/ים <device(s)> נמצא/ים כרגע בתהליך עדכון תוכנה.
- lockFailure : לא ניתן לנעול את <device(s)>. כדאי לדעת: צריך לבדוק אם יש חסימות פיזיות, אם הסוללה חלשה או אם יש כשלים במנוע של חומרת הנעילה.
- lockedState : המכשיר/ים <device(s)> נעול/ים כרגע.
- lockedToRange : That temperature is outside the locked range on <device(s)>.
- lowBattery : <device(s)> <has/have> low battery.
- maxSettingReached : המכשיר או המכשירים כבר מוגדרים להגדרה הכי גבוהה.
- maxSpeedReached : המכשיר/ים כבר מוגדרים למהירות המקסימלית.
- minSettingReached : המכשיר או המכשירים כבר מוגדרים להגדרה הנמוכה ביותר.
- minSpeedReached : המכשיר/ים <is/are> כבר מוגדר/ים למהירות המינימלית.
- monitoringServiceConnectionLost : החיבור של <device(s)> לשירות המעקב אבד.
- needsAttachment : מצטערים, נראה שלמכשיר/ים <device(s)> חסר/ים קובץ מצורף נדרש. צריך לחבר אותו ולנסות שוב.
- needsBin : מצטערים, נראה שחסר מיכל ל-<device(s)> <is/are>. צריך לחבר אותו ולנסות שוב.
- needsPads : <device(s)> <need(s)> new pads.
- needsSoftwareUpdate : <device(s)> <need(s)> a software update.
- needsWater : <device(s)> <need(s)> water.
- networkProfileNotRecognized : מצטער, לא זיהיתי את "<network profile>" ב<device(s)>. טיפ: צריך לוודא שמחרוזת שם הפרופיל זהה לפרופילים הנתמכים בתגובת ה-SYNC.
- networkSpeedTestInProgress : I'm already testing the <network> <speed/speeds>>.
- noAvailableApp : מצטערים, נראה שהאפליקציה <app name> לא זמינה.
- noAvailableChannel : מצטערים, נראה ששם הערוץ <channel name> לא זמין.
- noChannelSubscription : מצטערים, אין לך מינוי לערוץ <שם הערוץ> כרגע.
- noTimerExists : מצטער, נראה שלא מוגדרים טיימרים ב<device(s)>.
- notSupported : מצטערים, המצב הזה לא זמין עבור <device(s)>.
- obstructionDetected : זוהה חסימה ב<device(s)>.
- offline , deviceOffline : מצטערים, נראה שהמכשיר/ים <device(s)> לא זמין/ים כרגע.
- onRequiresMode : Please specify which mode you want to turn on.
- passphraseIncorrect : מצטערים, נראה שקוד האימות שגוי.
- percentOutOfRange : מצטער, אין לי אפשרות להגדיר את <device(s)> לערך <percent>.
- pinIncorrect : (passphraseIncorrect)
- rainDetected : לא פתחתי את <device(s)> כי זוהה גשם.
- rangeTooClose : הטמפרטורות קרובות מדי לטווח של חימום וקירור עבור <device(s)>. צריך לבחור טמפרטורות עם הפרש גדול יותר.
- relinkRequired : מצטערים, נראה שמשהו השתבש בחשבון שלך. עליך להשתמש באפליקציית Google Home או Assistant כדי לקשר מחדש את <שם המכשיר/ים>. הערה: חשוב לוודא שהשרת מחזיר את הקוד הזה כש<b>טוקן רענון</b> לא תקף באופן קבוע.
-
remoteSetDisabled
:
- פרמטר אופציונלי
errorCodeReason -
currentlyArmed– מצטערים, מכיוון שהאבטחה כבר מופעלת, צריך להשתמש ב <device(s)> או באפליקציה כדי לבצע שינויים. -
remoteUnlockNotAllowed– מצטער, אין לי אפשרות לבטל את הנעילה של <device(s)> מרחוק. -
remoteControlOff– הפעולה הזו מושבתת כרגע. צריך להפעיל את השלט הרחוק ב <שם המכשיר/ים> ולנסות שוב. -
childSafetyModeActive– הפעולה הזו מושבתת ב <device(s)> בזמן שמצב בטיחות הילדים פעיל.
- פרמטר אופציונלי
- roomsOnDifferentFloors : אי אפשר להגיע לחדרים האלה באמצעות <device(s)> כי הם נמצאים בקומות אחרות.
- safetyShutOff : המכשיר/ים <device(s)> נמצא/ים במצב השבתה בטיחותית, ולכן צריך לבצע את ההתאמות באופן ידני.
- sceneCannotBeApplied : מצטערים, לא ניתן להחיל את התרחיש <device(s)>. טיפ: כדאי לבדוק את תקינות הסצנות של המשתמש בענן של השותף.
- securityRestriction : <device(s)> <has/have> a security restriction.
- softwareUpdateNotAvailable : מצטערים, אין עדכון תוכנה זמין ב-<device(s)>.
- startRequiresTime : כדי לעשות את זה, צריך להגיד לי לכמה זמן רוצים להפעיל את <device(s)>.
- stillCoolingDown : <device(s)> <is/are> still cooling down.
- stillWarmingUp : המכשיר/ים <is/are> עדיין מתחמם/ים.
- streamUnavailable : מצטערים, נראה שהסטרימינג לא זמין כרגע במכשירים <device(s)>.
- streamUnplayable : מצטער, אין לי אפשרות להפעיל את הסטרימינג מ<device(s)> כרגע. טיפ: כדאי לאמת את האיתות של WebRTC/HLS ולוודא שכתובת ה-URL של השידור תקינה.
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
- targetAlreadyReached : מצטער, נראה שזאת כבר הטמפרטורה הנוכחית.
- timerValueOutOfRange : לא ניתן להגדיר את משך הזמן הזה ב-<device(s)>.
- tooManyFailedAttempts : מצטערים, היו יותר מדי ניסיונות כושלים. כדי להשלים את הפעולה הזו, צריך לעבור לאפליקציה במכשיר.
- transientError : מצטערים, משהו השתבש בשליטה ב <device(s)>. נסה שוב. טיפ: בדרך כלל השגיאות האלה מתבטאות בניתוק של החיבור למכשיר או לשירות. גם אם אי אפשר לפתוח חיבורים חדשים לשרת.
- turnedOff , deviceTurnedOff : מכשיר אחד או יותר כבויים כרגע.
- unableToLocateDevice : לא הצלחתי לאתר את <device(s)>. טיפ: כדאי לבדוק את הקישוריות המקומית של המכשיר (Wi-Fi/Bluetooth).
- unknownFoodPreset : המכשיר או המכשירים לא תומכים בהגדרת המזון הזו.
- unlockFailure : לא הייתה אפשרות לבטל את הנעילה של <device(s)>. טיפ: כדאי לבדוק אם יש תקלות בחומרה, אם הסוללה חלשה או אם קוד האימות שהוזן לא תקין.
- unpausableState : אי אפשר להשהות את <device(s)> כרגע.
- userCancelled : ok
- valueOutOfRange : אי אפשר להגדיר את הטמפרטורה הזו ב<device(s)>.
דיווח על מצב אונליין ואופליין
כשמכשיר נמצא במצב אופליין, צריך לדווח על <code{"online": code="" dir="ltr" false}<="" translate="no"> אל Report State תוך חמש דקות מההתנהגות של המכשיר. לעומת זאת, כשמכשיר חוזר למצב אונליין, צריך לדווח על <code{"online": code="" dir="ltr" translate="no" true}<=""> אל Report State תוך חמש דקות מההתנהגות של המכשיר. בכל פעם שמכשיר חוזר למצב אונליין, השותף צריך לדווח על כל מצבי המכשיר הנוכחיים באמצעותreportStateAndNotification API.
בדוגמה הזו אפשר לראות שסוג המכשיר light נמצא אונליין, ומוצגים כל מצבי המכשיר הנוכחיים.
"requestId": "test-request-id",
"agentUserId": "agent-user-1",
"payload":{
"devices": {
"states": {
"device-id-1": {
"brightness": 65,
"on": true,
"online": true
}
"notifications": {},
}
}
}חריגים
צריך להחזיר חריגה כשקיימת בעיה או התראה שמשויכת לפקודה. הפקודה יכולה להצליח או להיכשל.
אם הפקודה בוצעה בהצלחה (סטטוס = SUCCESS), צריך לדווח על חריגים באמצעות מאפיין StatusReport (למכשירים שאינם מכשיר היעד) או באמצעות החזרת exceptionCode מתאים (למכשיר היעד).
לדוגמה, אם מסנן המוך במייבש מלא, המשתמש עדיין יכול להפעיל את המייבש, אבל כדאי להזהיר אותו לגבי המצב הזה. באופן דומה, כשסוללה של מכשיר חלשה אבל לא ריקה, עדיין אפשר להריץ פקודה, אבל צריך להודיע למשתמש שהסוללה של המכשיר חלשה.
אם הפקודה נכשלת בגלל חריגים, הסטטוס צריך להיות EXCEPTIONS, והחריגים צריכים להיות מדווחים באמצעות מאפיין StatusReport.
חריגה לא חוסמת (הצלחה) לגבי מכשיר היעד
דוגמה לנעילת הדלת:
רמת הטעינה של הסוללה במנעול של הדלת הקדמית נמוכה. אני נועלת את הדלת הקדמית.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["device-id-1"], "status": "SUCCESS", "states": { "on": true, "online": true, "isLocked": true, "isJammed": false, "exceptionCode": "lowBattery" } }] } }
חריגה לא חוסמת (SUCCESS) לגבי מכשיר אחר שמשתמש ב-StatusReport
הדוגמה הזו היא להפעלת מערכת אבטחה: Ok, arming the security system. החלון הקדמי פתוח.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["device-id-1"], "status": "SUCCESS", "states": { "on": true, "online": true, "isArmed": true, "currentArmLevel": "L2", "currentStatusReport": [{ "blocking": false, "deviceTarget": "sensor_id1", "priority": 0, "statusCode": "deviceOpen" }] } }] } }
חריגה מחסימה לגבי מכשיר אחר שמשתמש ב-StatusReport
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "devices": { "device-id-1": { "on": true, "online": true, "status": "EXCEPTIONS", "currentStatusReport": [{ "blocking": true, "deviceTarget": "device-id-1", "priority": 0, "statusCode": "lowBattery" }, { "blocking": true, "deviceTarget": "front_window_id", "priority": 1, "statusCode": "deviceOpen" }, { "blocking": true, "deviceTarget": "back_window_id", "priority": 1, "statusCode": "deviceOpen" } ] } } } }
רשימת החרגות
החריגים הבאים יגרמו להשמעת ה-TTS המשויך במכשיר.
- bagFull : למכשיר/ים <device(s)> יש <a full bag/full bags>. צריך לרוקן <it/them> ולנסות שוב.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- carbonMonoxideDetected : זוהה פחמן חד-חמצני ב <שם הבית>.
- deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
- deviceJammingDetected : המכשיר/ים <is/are> נחסם/ו.
- deviceMoved : <device(s)> <was/were> moved.
- deviceOpen : <device(s)> <is/are> open.
- deviceTampered : מישהו חיבל ב<device(s)>.
- deviceUnplugged : <device(s)> <is/are> unplugged.
- floorUnreachable : לא ניתן להגיע לחדר הזה באמצעות <device(s)>. צריך להעביר את <המכשיר/המכשירים> לקומה המתאימה ולנסות שוב.
- hardwareFailure : <device(s)> <has/have> a hardware problem.
- inSoftwareUpdate : המכשיר/ים <device(s)> נמצא/ים כרגע בתהליך עדכון תוכנה.
- isBypassed : <device(s)> <is/are> currently bypassed.
- lowBattery : <device(s)> <has/have> low battery.
- motionDetected : <device(s)> <detect(s)> motion.
- needsPads : <device(s)> <need(s)> new pads.
- needsSoftwareUpdate : <device(s)> <need(s)> a software update.
- needsWater : <device(s)> <need(s)> water.
- networkJammingDetected : החיבור לרשת הביתית אל <device(s)> לא פועל בצורה תקינה.
- noIssuesReported : לא דווחו בעיות ב<device(s)>.
- roomsOnDifferentFloors : אי אפשר להגיע לחדרים האלה באמצעות <device(s)> כי הם נמצאים בקומות אחרות.
- runCycleFinished : <device(s)> <has/have> finished running.
- securityRestriction : <device(s)> <has/have> a security restriction.
- smokeDetected : זוהה עשן ב <שם הבית>.
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
- usingCellularBackup : <device(s)> <is/are> using cellular backup.
- waterLeakDetected : <device(s)> <detect(s)> a water leak.