שגיאות וחריגים

במאמר הזה מפורטות השגיאות והחריגים שנתמכים באופן רשמי במכשירי בית חכם. מומלץ להשתמש בקודי השגיאות והחריגים האלה בתגובה של הכוונה או בהתראות, אם הטמעתם אותן, כדי ש-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 : אני יכול להגדיר את <device(s)> למשך <time period> בלבד
  • actionNotAvailable : מצטער, נראה שאי אפשר לבצע את הפעולה הזו כרגע.
  • actionUnavailableWhileRunning : המכשיר/ים <is/are> פועל/ים כרגע, ולכן אין לי אפשרות לבצע שינויים.
  • alreadyArmed : <device(s)> <is/are> already armed.
  • alreadyAtMax : המכשיר/ים <is/are> כבר מוגדר/ים לטמפרטורה המקסימלית.
  • 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 : <device(s)> <is/are> already off.
  • alreadyOn : המכשיר/ים <device(s)> כבר פועל/ים.
  • alreadyOpen : המכשיר/ים <is/are> כבר פתוח/ים.
  • alreadyPaused : המכשיר/ים <is/are> כבר בהשהיה.
  • alreadyStarted : המכשיר או המכשירים כבר הופעלו.
  • alreadyStopped : המכשיר/ים <is/are> כבר הופסק/ו.
  • 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 : למכשיר/ים <device(s)> יש <a full bag/full bags>. צריך לרוקן <it/them> ולנסות שוב.
  • 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)>.
  • 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> jammed.
  • deviceLidOpen : המכסה פתוח במכשיר [שם המכשיר]. צריך לסגור אותו ולנסות שוב.
  • deviceNeedsRepair : צריך לתקן את <המכשיר/ים>. צריך לפנות לסוכנות השירות המקומית.
  • deviceNotDocked : מצטער, נראה ש <device(s)> <isn't/aren't> docked. צריך להניח את <it/them> באביזר העגינה ולנסות שוב.
  • deviceNotFound : המכשיר/ים לא זמין/ים. אולי כדאי לנסות להגדיר <אותו/אותם> שוב.
  • deviceNotMounted : מצטער, נראה שאי אפשר לעשות את זה ב<device(s)> כי <it/they> <is/are>n't mounted.
  • deviceNotReady : המכשיר או המכשירים לא מוכנים.
  • deviceStuck : המכשיר/ים <device(s)> נתקע/ו וצריך את העזרה שלך.
  • 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 : לא ניתן להוציא שברים של <dispense item> במכשיר(ים) <device(s)>.
  • 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)> לא תומך/ים בפונקציונליות הזו.
  • genericDispenseNotSupported : אני צריך לדעת מה ברצונך להנפיק. צריך לנסות שוב עם שם הפריט.
  • hardError : מצטער, משהו השתבש ואין לי אפשרות לשלוט במכשיר הביתי שלך.
  • hardError : מצטער, משהו השתבש ואין לי אפשרות לשלוט במכשיר הביתי שלך.
  • inAutoMode : <device(s)> <is/are> currently set to auto mode. כדי לשנות את הטמפרטורה, צריך להעביר את המכשיר למצב אחר.
  • inAwayMode : המכשיר/ים <is/are> currently set to away mode. כדי לשלוט בתרמוסטט, צריך לעבור למצב 'בבית' באופן ידני באמצעות אפליקציית Nest בטלפון, בטאבלט או במחשב.
  • inDryMode : המכשיר/ים <is/are> מוגדר/ים כרגע למצב ייבוש. כדי לשנות את הטמפרטורה, צריך להעביר את המכשיר למצב אחר.
  • inEcoMode : המכשיר/ים <is/are> מוגדר/ים כרגע למצב חיסכון באנרגיה. כדי לשנות את הטמפרטורה, צריך להעביר את המכשיר למצב אחר.
  • inFanOnlyMode : המכשירים <device(s)> מוגדרים כרגע למצב מאוורר בלבד. כדי לשנות את הטמפרטורה, צריך להעביר את המכשיר למצב אחר.
  • 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 : המכשיר/ים <is/are> נעול/ים כרגע.
  • 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 : מצטערים, אין לך מינוי לערוץ <שם הערוץ> כרגע.
  • 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 כדי לקשר מחדש את <device(s)>.
  • remoteSetDisabled :
    • פרמטר אופציונלי errorCodeReason
    • currentlyArmedמצטערים, מכיוון שהאבטחה כבר מופעלת, צריך להשתמש ב <device(s)> או באפליקציה כדי לבצע שינויים.
    • remoteUnlockNotAllowedמצטער, אין לי אפשרות לבטל את הנעילה של <device(s)> מרחוק.
    • remoteControlOffהפעולה הזו מושבתת כרגע. צריך להפעיל את השלט הרחוק ב <device(s)> ולנסות שוב.
    • childSafetyModeActiveהפעולה הזו מושבתת ב <device(s)> בזמן שמצב בטוח לילדים פעיל.
  • roomsOnDifferentFloors : אי אפשר להגיע לחדרים האלה באמצעות <device(s)> כי הם נמצאים בקומות שונות.
  • safetyShutOff : המכשיר/ים <is/are> במצב השבתה בטיחותית, ולכן צריך לבצע התאמות באופן ידני.
  • 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)> כרגע.
  • 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 : למכשיר/ים <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> 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 : המכשיר/ים <is/are> מושבת/ים כרגע.
  • 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)> reported no issues.
  • roomsOnDifferentFloors : אי אפשר להגיע לחדרים האלה באמצעות <device(s)> כי הם נמצאים בקומות שונות.
  • runCycleFinished : <device(s)> <has/have> finished running.
  • securityRestriction : <device(s)> <has/have> a security restriction.
  • smokeDetected : זוהה עשן ב <house name>.
  • 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.
</code{"online":></code{"online":>