במאמר הזה מפורטות השגיאות והחריגים שנתמכים באופן רשמי במכשירי בית חכם. מומלץ להשתמש בקודי השגיאות והחריגים האלה בתגובה של הכוונה או בהתראות (אם הטמעתם אותן), כדי ש-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 הבא מראה איך מחזירים שגיאות ברמת המכשיר בתגובה לשאילתה.
{ "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 : המכשיר/ים <is/are> פועל/ים כרגע, ולכן אין לי אפשרות לבצע שינויים.
- alreadyArmed : <device(s)> <is/are> already armed.
- alreadyAtMax : המכשיר או המכשירים כבר מוגדרים לטמפרטורה המקסימלית.
- alreadyAtMin : המכשיר או המכשירים כבר מוגדרים לטמפרטורה המינימלית.
- alreadyClosed : המכשיר/ים <is/are> כבר סגור/ים.
- alreadyDisarmed : <device(s)> <is/are> already disarmed.
- alreadyDocked : <device(s)> <is/are> already docked.
- alreadyInState : <device(s)> <is/are> already in that state.
- alreadyLocked : המכשיר/ים <is/are> כבר נעול/ים.
- alreadyOff : המכשיר/ים כבר כבויים.
- alreadyOn : המכשיר/ים <device(s)> כבר מופעל/ים.
- alreadyOpen : המכשיר או המכשירים <is/are> כבר פתוחים.
- alreadyPaused : המכשיר/ים <is/are> כבר בהשהיה.
- alreadyStarted : המכשיר/ים <is/are> כבר הופעל/ו.
- alreadyStopped : <device(s)> <is/are> already stopped.
- alreadyUnlocked : <device(s)> <is/are> already unlocked.
- ambiguousZoneName : מצטערים, לא ניתן לזהות במכשיר/ים <device(s)> לאיזה אזור התכוונת. צריך לוודא שלאזורים יש שמות ייחודיים ולנסות שוב.
- amountAboveLimit : הסכום הזה גבוה מהסכום המקסימלי שאפשר להעביר באמצעות <device(s)>.
- appLaunchFailed : Sorry, failed to launch <app name> on <device(s)>.
- 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> <is/are> מוגדרים באופן מלא.
- bagFull : למכשיר/ים <יש/ישנם> <שק מלא/שקים מלאים>. צריך לרוקן <אותו/אותם> ולנסות שוב.
- belowMinimumLightEffectsDuration : האורך קצר מהאורך המינימלי של 5 דקות. אפשר לנסות שוב.
- belowMinimumTimerDuration : I can't set <device(s)> for such a short time. אפשר לנסות שוב.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- cancelArmingRestricted : סליחה, לא הצלחתי לבטל את הפעלת האזעקה ב<device(s)>.
- cancelTooLate : מצטערים, כבר מאוחר מדי לבטל. במקומה, אפשר להשתמש ב-<device(s)> או באפליקציה.
- channelSwitchFailed : מצטערים, המעבר לערוץ <channel name> נכשל. אפשר לנסות שוב מאוחר יותר.
- 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 : <device(s)> <is/are> jammed.
- deviceLidOpen : המכסה פתוח ב <device(s)>. צריך לסגור אותו ולנסות שוב.
- deviceNeedsRepair : צריך לתקן את <המכשיר/ים>. צריך לפנות לסוכנות השירות המקומית.
- deviceNotDocked : מצטער, נראה ש <device(s)> <isn't/aren't> docked. צריך להניח את <it/them> באביזר העגינה ולנסות שוב.
- deviceNotFound : המכשיר או המכשירים לא זמינים. אולי כדאי לנסות להגדיר <אותו/אותם> מחדש.
- deviceNotMounted : מצטער, נראה שאי אפשר לעשות את זה עם <device(s)> כי <it/they> <is/are>n't mounted.
- deviceNotReady : <device(s)> <is/are>n't ready.
- deviceStuck : <device(s)> <is/are> stuck and needs your help.
- deviceTampered : מישהו חיבל ב<device(s)>.
- deviceThermalShutdown : מצטערים, נראה ש <device(s)> נסגר בגלל טמפרטורות קיצוניות.
- directResponseOnlyUnreachable : המכשיר/ים לא תומך/ים בשלט רחוק.
- disarmFailure : לא ניתן להשבית את <device(s)>.
- discreteOnlyOpenClose : מצטער, אפשר רק לפתוח או לסגור את <device(s)> עד הסוף.
- dispenseAmountAboveLimit : אי אפשר להוציא סכום גדול כל כך מ<device(s)>.
- dispenseAmountBelowLimit : לא ניתן להוציא כמות קטנה כזו מ<device(s)>.
- dispenseAmountRemainingExceeded : למכשיר(ים) <device(s)> אין מספיק <dispense item> כדי לבצע את הפעולה הזו.
- dispenseFractionalAmountNotSupported : לא ניתן להוציא שברים של <dispense item> ב<device(s)>.
- dispenseFractionalUnitNotSupported : המכשיר <device(s)> לא תומך במנות חלקיות של היחידה <dispense item>.
- dispenseUnitNotSupported : המכשיר או המכשירים <device(s)> לא תומכים ביחידה הזו של <dispense item>.
- doorClosedTooLong : עבר זמן רב מאז שהדלת של <device(s)> נפתחה. עליך לפתוח את הדלת, לוודא שיש משהו בפנים ולנסות שוב.
- emergencyHeatOn : המכשיר/ים <is/are> במצב חימום חירום, ולכן צריך לבצע התאמה ידנית.
- faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
- floorUnreachable : לא ניתן להגיע לחדר הזה באמצעות <device(s)>. צריך להעביר את <המכשיר/המכשירים> לקומה המתאימה ולנסות שוב.
- functionNotSupported : למעשה, המכשיר/ים <device(s)> לא תומך/ים בפונקציונליות הזו.
- genericDispenseNotSupported : אני צריך לדעת מה ברצונך להנפיק. צריך לנסות שוב עם שם הפריט.
- hardError : מצטער, משהו השתבש ואין לי אפשרות לשלוט במכשיר הביתי שלך.
- hardError : מצטער, משהו השתבש ואין לי אפשרות לשלוט במכשיר הביתי שלך.
- inAutoMode : <device(s)> <is/are> currently set to auto mode. כדי לשנות את הטמפרטורה, צריך להעביר את <it/them> למצב אחר.
- inAwayMode : המכשיר או המכשירים <is/are> currently set to away mode. כדי לשלוט בתרמוסטט, צריך להעביר אותו ידנית למצב 'בבית' באמצעות אפליקציית Nest בטלפון, בטאבלט או במחשב.
- inDryMode : <device(s)> <is/are> currently set to dry mode. כדי לשנות את הטמפרטורה, צריך להעביר את <it/them> למצב אחר.
- inEcoMode : המכשיר/ים <is/are> מוגדר/ים כרגע למצב חיסכון באנרגיה. כדי לשנות את הטמפרטורה, צריך להעביר את <it/them> למצב אחר.
- inFanOnlyMode : <device(s)> <is/are> currently set to fan-only mode. כדי לשנות את הטמפרטורה, צריך להעביר את <it/them> למצב אחר.
- inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
- inHumidifierMode : המכשיר/ים נמצא/ים כרגע במצב של מכשיר אדים. כדי לשנות את הטמפרטורה, צריך להעביר את <it/them> למצב אחר.
- inOffMode : המכשיר/ים <is/are> כבוי/ים כרגע. כדי לשנות את הטמפרטורה, צריך להעביר <it/them> למצב אחר.
- inPurifierMode : המכשיר/ים <is/are> מוגדר כרגע למצב מטהר. כדי לשנות את הטמפרטורה, צריך להעביר את <it/them> למצב אחר.
- inSleepMode : <device(s)> <is/are> in sleep mode. אפשר לנסות שוב מאוחר יותר.
- inSoftwareUpdate : המכשיר או המכשירים <device(s)> נמצאים כרגע בתהליך עדכון תוכנה.
- lockFailure : לא ניתן לנעול את <device(s)>.
- lockedState : המכשיר/ים <device(s)> נעול/ים כרגע.
- lockedToRange : הטמפרטורה הזו לא בטווח הנעול ב <device(s)>.
- lowBattery : <device(s)> <has/have> low battery.
- maxSettingReached : המכשיר או המכשירים כבר מוגדרים להגדרה הכי גבוהה.
- maxSpeedReached : המכשיר/ים כבר מוגדר/ים למהירות המקסימלית.
- minSettingReached : המכשיר או המכשירים כבר מוגדרים להגדרה הנמוכה ביותר.
- minSpeedReached : המכשיר/ים כבר מוגדר/ים למהירות המינימלית.
- 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)>.
- networkSpeedTestInProgress : I'm already testing the <network> <speed/speeds>>.
- noAvailableApp : מצטערים, נראה שהאפליקציה <app name> לא זמינה.
- noAvailableChannel : מצטערים, נראה שהערוץ <channel name> לא זמין.
- noChannelSubscription : Sorry, you aren't subscribed to channel <channel name> at the moment.
- noTimerExists : מצטער, נראה שלא מוגדרים טיימרים ב<device(s)>.
- notSupported : מצטערים, המצב הזה לא זמין ב<device(s)>.
- obstructionDetected : <device(s)> detected an obstruction.
- 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 כדי לקשר מחדש את <device(s)>.
-
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)> עדיין מתקרר/ים.
- stillWarmingUp : המכשיר/ים <is/are> עדיין מתחמם/ים.
- streamUnavailable : מצטערים, נראה שהסטרימינג לא זמין כרגע במכשירים <device(s)>.
- streamUnplayable : מצטער, אין לי אפשרות להפעיל את הסטרימינג מ<device(s)> כרגע.
- tankEmpty : למכשיר/ים<device(s)> <has/have> <an empty tank/empty tanks>. צריך למלא <it/them> ולנסות שוב.
- targetAlreadyReached : מצטער, נראה שזו כבר הטמפרטורה הנוכחית.
- timerValueOutOfRange : לא ניתן להגדיר את משך הזמן הזה ב-<device(s)>.
- tooManyFailedAttempts : מצטערים, היו יותר מדי ניסיונות כושלים. כדי להשלים את הפעולה הזו, צריך לעבור לאפליקציה במכשיר.
- transientError : מצטערים, משהו השתבש בשליטה ב <device(s)>. נסה שוב.
- turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
- unableToLocateDevice : לא הצלחתי לאתר את <device(s)>.
- unknownFoodPreset : המכשיר(ים) <device(s)> לא תומך(ים) בהגדרת ברירת המחדל הזו של המזון.
- 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 : למכשיר/ים <יש/ישנם> <שק מלא/שקים מלאים>. צריך לרוקן <אותו/אותם> ולנסות שוב.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- carbonMonoxideDetected : זוהה פחמן חד-חמצני ב <שם הבית>.
- deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
- deviceJammingDetected : <device(s)> <is/are> jammed.
- 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)> הסתיימה.
- securityRestriction : <device(s)> <has/have> a security restriction.
- smokeDetected : זוהה עשן ב <שם הבית>.
- tankEmpty : למכשיר/ים<device(s)> <has/have> <an empty tank/empty tanks>. צריך למלא <it/them> ולנסות שוב.
- usingCellularBackup : <device(s)> <is/are> using cellular backup.
- waterLeakDetected : <device(s)> <detect(s)> a water leak.