Lỗi và ngoại lệ

Tài liệu này liệt kê các lỗi và trường hợp ngoại lệ được hỗ trợ chính thức cho thiết bị nhà thông minh. Vui lòng sử dụng các mã lỗi và mã ngoại lệ đã cho này trong phản hồi ý định hoặc trong thông báo (nếu bạn đã triển khai) để Trợ lý Google cảnh báo người dùng cuối về các vấn đề liên quan đến một lệnh hoặc trạng thái thiết bị nhất định. Nếu phản hồi chứa định dạng không chính xác hoặc errorCode, Trợ lý Google sẽ gửi cho người dùng một thông báo lỗi chung, ví dụ: "Rất tiếc, hiện tại thiết bị không hoạt động".

Lỗi

Bạn nên trả về mã lỗi khi một vấn đề khiến yêu cầu thực thi hoặc truy vấn không thành công. Ví dụ: nếu khoá cửa bị kẹt và không thể khoá hoặc mở khoá, thì phải trả về cho người dùng một lỗi về trạng thái này.

Bạn có thể đính kèm mã lỗi ở cấp thiết bị hoặc cấp toàn cầu. Ví dụ: nếu người dùng có nhiều đèn của một nhà cung cấp và các đèn này được điều khiển bằng một trung tâm, thì khi người dùng yêu cầu tắt tất cả đèn, nhà cung cấp có thể trả về lỗi ở cấp thiết bị nếu một đèn không kết nối mạng hoặc lỗi ở cấp toàn cầu nếu toàn bộ trung tâm không kết nối mạng và không thể điều khiển đèn nào. Nếu tất cả các thiết bị đều không kết nối mạng, thì việc sử dụng lỗi ở cấp thiết bị hay cấp độ toàn cầu đều không có gì khác biệt.

Tóm tắt:

  • Lỗi ở cấp độ chung: tất cả thiết bị trong phản hồi đều gặp cùng một lỗi
  • Lỗi ở cấp địa phương: phản hồi hỗn hợp có cả trường hợp lỗi và trường hợp thành công

Lỗi ở cấp độ chung

Đoạn mã JSON sau đây cho biết cách trả về lỗi ở cấp độ chung trong phản hồi QUERY hoặc EXECUTE.

Ví dụ về lỗi ở cấp độ toàn cầu deviceOffline do trung tâm ngoại tuyến:

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "errorCode": "deviceOffline",
    "status" : "ERROR"
  }
}

Ví dụ về lỗi ở cấp độ toàn cầu inSoftwareUpdate do trung tâm đang cập nhật:

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "errorCode": "inSoftwareUpdate",
    "status" : "ERROR"
  }
}

Lỗi ở cấp thiết bị

Phản hồi của hàm QUERY

Đoạn mã JSON sau đây cho biết cách bạn trả về các lỗi ở cấp thiết bị trong phản hồi QUERY.

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "devices": {
      "device-id-1": {
        "errorCode": "deviceOffline",
        "status" : "ERROR"
      },
      "device-id-2": {
        "errorCode": "deviceOffline",
        "status" : "ERROR"
      }
    }
  }
}

Phản hồi EXECUTE

Đoạn mã JSON sau đây cho biết cách trả về lỗi ở cấp thiết bị trong phản hồi 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
        }
      }
    ]
  }
}

Thông báo có lỗi

Thông báo chủ động

Đoạn mã JSON sau đây cho biết cách báo cáo lỗi ở cấp thiết bị trong một thông báo chủ động.

{
  "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"
          }
        }
      }
    }
  }
}

Câu trả lời nối tiếp

Đoạn mã JSON sau đây cho biết cách báo cáo lỗi ở cấp thiết bị trong phản hồi tiếp theo.

{
  "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"
            }
          }
        }
      }
    }
  }
}

Danh sách lỗi

Các lỗi sau sẽ tạo ra TTS liên kết trên thiết bị.

  • aboveMaximumLightEffectsDuration : Thời lượng này dài hơn thời lượng tối đa là 1 giờ. Vui lòng thử lại.
  • aboveMaximumTimerDuration : Tôi chỉ có thể đặt <device(s)> trong tối đa <time period>
  • actionNotAvailable : Rất tiếc, tôi chưa thể làm việc đó ngay lúc này.
  • actionUnavailableWhileRunning : <device(s)> <is/are> currently running, so I can't make any changes.
  • alreadyArmed : <device(s)> <is/are> already armed.
  • alreadyAtMax : <device(s)> <is/are> already set to the maximum temperature.
  • alreadyAtMin : <device(s)> <is/are> already set to the minimum temperature.
  • alreadyClosed : <device(s)> <is/are> already closed.
  • alreadyDisarmed : <device(s)> <is/are> already disarmed.
  • alreadyDocked : <device(s)> <is/are> already docked.
  • alreadyInState : <device(s)> <is/are> already in that state.
  • alreadyLocked : <device(s)> <is/are> already locked.
  • alreadyOff : <device(s)> <is/are> already off.
  • alreadyOn : <device(s)> <is/are> already on.
  • alreadyOpen : <device(s)> <is/are> already open.
  • alreadyPaused : <device(s)> <is/are> already paused.
  • alreadyStarted : <device(s)> <is/are> already started.
  • alreadyStopped : <device(s)> <is/are> already stopped.
  • alreadyUnlocked : <device(s)> <is/are> already unlocked.
  • ambiguousZoneName : Rất tiếc, <device(s)> không thể xác định bạn muốn nói đến vùng nào. Hãy nhớ đặt tên duy nhất cho các vùng rồi thử lại.
  • amountAboveLimit : Số lượng đó vượt quá khả năng hỗ trợ của <device(s)>.
  • appLaunchFailed : Rất tiếc, không thể chạy <tên ứng dụng> trên <thiết bị>.
  • armFailure : Không bật được chuông báo động cho <device(s)>.
  • armLevelNeeded : Tôi không biết nên đặt <device(s)> ở mức nào. Hãy thử nói "Đặt <thiết bị> ở chế độ <bảo mật thấp>" hoặc "Đặt <thiết bị> ở chế độ <bảo mật cao>"
  • authFailure : Có vẻ như tôi không thể kết nối với <device(s)>. Hãy thử kiểm tra ứng dụng để đảm bảo <device/devices> của bạn <is/are> đã được thiết lập hoàn chỉnh.
  • bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again.
  • belowMinimumLightEffectsDuration : Thời lượng tối thiểu là 5 phút. Vui lòng thử lại.
  • belowMinimumTimerDuration : Tôi không thể đặt <device(s)> cho thời gian ngắn như vậy. Vui lòng thử lại.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • cancelArmingRestricted : Xin lỗi, tôi không thể huỷ chế độ bật báo động cho <device(s)>.
  • cancelTooLate : Rất tiếc, đã quá muộn để huỷ. Hãy sử dụng <device(s)> hoặc ứng dụng.
  • channelSwitchFailed : Rất tiếc, không thể chuyển sang kênh <channel name>. Vui lòng thử lại sau.
  • chargerIssue : Rất tiếc, có vẻ như <device(s)> <has/have> <a charger issue/charger issues>.
  • commandInsertFailed : Không thể xử lý các lệnh cho <device(s)>.
  • deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
  • degreesOutOfRange : Mức độ bạn yêu cầu nằm ngoài phạm vi của <device(s)>.
  • deviceAlertNeedsAssistance : <device(s)> <has/have> an active alert and <need(s)> your assistance.
  • deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
  • deviceBusy : Rất tiếc, có vẻ như <device(s)> hiện đang làm gì đó.
  • deviceCharging : Rất tiếc, có vẻ như <device(s)> không làm được việc đó vì (ha_shared.ItsTheyre size=$item.devices.total_device_count) đang sạc.
  • deviceClogged : Rất tiếc, có vẻ như <device(s)> bị tắc.
  • deviceCurrentlyDispensing : <device(s)> hiện đang phân phối thứ gì đó.
  • deviceDoorOpen : Cửa đang mở trên <device(s)>. Vui lòng đóng cửa và thử lại.
  • deviceHandleClosed : Xử lý đã đóng trên <device(s)>. Vui lòng mở xử lý và thử lại.
  • deviceJammingDetected : <device(s)> <is/are> jammed.
  • deviceLidOpen : Nắp đang mở trên <device(s)>. Vui lòng đóng nắp và thử lại.
  • deviceNeedsRepair : <device(s)> <need(s)> to be repaired. Vui lòng liên hệ với đại lý dịch vụ tại địa phương.
  • deviceNotDocked : Rất tiếc, có vẻ như <device(s)> <isn't/aren't> docked. Vui lòng gắn <thiết bị> vào đế sạc rồi thử lại.
  • deviceNotFound : <device(s)> <is/are>n't available. Bạn nên thử thiết lập lại <thiết bị/các thiết bị> này.
  • deviceNotMounted : Rất tiếc, có vẻ như <device(s)> không thể làm việc đó vì <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)> <has/have> been tampered with.
  • deviceThermalShutdown : Rất tiếc, có vẻ như <device(s)> đã tắt do nhiệt độ quá cao.
  • directResponseOnlyUnreachable : <device(s)> <doesn't/don't> support remote control.
  • disarmFailure : Không thể tắt chế độ bảo vệ cho <device(s)>.
  • discreteOnlyOpenClose : Rất tiếc, tôi chỉ có thể mở hoặc đóng hết <device(s)>.
  • dispenseAmountAboveLimit : <device(s)> không thể phân phối một lượng lớn như vậy.
  • dispenseAmountBelowLimit : <device(s)> không thể phân phối một lượng nhỏ như vậy.
  • dispenseAmountRemainingExceeded : <device(s)> không có đủ <dispense item> để thực hiện thao tác đó.
  • dispenseFractionalAmountNotSupported : (Các) <device(s)> không thể phân phát một phần của <dispense item>.
  • dispenseFractionalUnitNotSupported : <device(s)> không hỗ trợ phân phối theo số thập phân của đơn vị đó cho <dispense item>.
  • dispenseUnitNotSupported : <device(s)> không hỗ trợ đơn vị đó cho <dispense item>.
  • doorClosedTooLong : Cửa trên <device(s)> đã mở được một lúc rồi. Vui lòng mở cửa. Đảm bảo bạn đã cho đồ vào bên trong, sau đó thử lại.
  • emergencyHeatOn : <device(s)> <is/are> in Emergency Heat Mode, so <it/they>'ll have to be adjusted by hand.
  • faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
  • floorUnreachable : <device(s)> không thể vào phòng đó. Vui lòng đưa <it/them> đến đúng tầng rồi thử lại.
  • functionNotSupported : Thực ra, <device(s)> <doesn't/don't> hỗ trợ chức năng đó.
  • genericDispenseNotSupported : Tôi cần biết bạn muốn phân phối gì. Vui lòng thử lại, kèm theo tên của mặt hàng.
  • hardError : Rất tiếc, đã xảy ra sự cố nên tôi không thể điều khiển thiết bị trong nhà bạn.
  • hardError : Rất tiếc, đã xảy ra sự cố nên tôi không thể điều khiển thiết bị trong nhà bạn.
  • inAutoMode : <device(s)> <is/are> currently set to auto mode. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inAwayMode : <device(s)> <is/are> currently set to away mode. Để điều khiển máy điều nhiệt, bạn cần chuyển máy này sang chế độ ở nhà theo cách thủ công bằng ứng dụng Nest trên điện thoại, máy tính bảng hoặc máy tính.
  • inDryMode : <device(s)> <is/are> currently set to dry mode. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inEcoMode : <device(s)> <is/are> currently set to eco mode. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inFanOnlyMode : <device(s)> <is/are> currently set to fan-only mode. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
  • inHumidifierMode : <device(s)> <is/are> currently set to humidifier mode. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inOffMode : <device(s)> <is/are> currently off. To change the temperature, you'll need to switch <it/them> to a different mode.
  • inPurifierMode : <device(s)> <is/are> currently set to purifier mode. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inSleepMode : <device(s)> <is/are> in sleep mode. Vui lòng thử lại sau.
  • inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
  • lockFailure : Không thể khoá <device(s)>.
  • lockedState : <device(s)> <is/are> currently locked.
  • lockedToRange : Nhiệt độ đó nằm ngoài phạm vi bị khoá trên <device(s)>.
  • lowBattery : <device(s)> <has/have> low battery.
  • maxSettingReached : <device(s)> <is/are> already set to the highest setting.
  • maxSpeedReached : <device(s)> <is/are> already set to the maximum speed.
  • minSettingReached : <device(s)> <is/are> already set to the lowest setting.
  • minSpeedReached : <device(s)> <is/are> already set to the minimum speed.
  • monitoringServiceConnectionLost : <device(s)> <has/have> lost <its/their> connection to the monitoring service.
  • needsAttachment : Rất tiếc, có vẻ như <device(s)> <is/are> thiếu một phụ kiện bắt buộc. Vui lòng thay thế rồi thử lại.
  • needsBin : Rất tiếc, có vẻ như <device(s)> <is/are> thiếu thùng đựng. Vui lòng thay thế rồi thử lại.
  • needsPads : <device(s)> <need(s)> new pads.
  • needsSoftwareUpdate : <device(s)> <need(s)> a software update.
  • needsWater : <device(s)> <need(s)> water.
  • networkProfileNotRecognized : Rất tiếc, tôi không nhận ra "<network profile>" trên <device(s)>.
  • networkSpeedTestInProgress : Tôi đang kiểm tra <tốc độ/các tốc độ> <mạng>.
  • noAvailableApp : Xin lỗi, có vẻ như <app name> không có sẵn.
  • noAvailableChannel : Rất tiếc, có vẻ như bạn không có kênh <channel name>.
  • noChannelSubscription : Rất tiếc, hiện bạn chưa đăng ký kênh <channel name>.
  • noTimerExists : Rất tiếc, có vẻ như không có đồng hồ hẹn giờ nào được đặt trên <device(s)>.
  • notSupported : Rất tiếc, chế độ đó không dùng được trên <device(s)>.
  • obstructionDetected : <device(s)> đã phát hiện thấy vật cản.
  • offline , deviceOffline : Rất tiếc, có vẻ như <device(s)> <is/are>n't available right now.
  • onRequiresMode : Vui lòng chỉ định chế độ bạn muốn bật.
  • passphraseIncorrect : Rất tiếc, có vẻ như mã PIN đó không chính xác.
  • percentOutOfRange : Rất tiếc, tôi không thể đặt <device(s)> thành <percent>.
  • pinIncorrect : (passphraseIncorrect)
  • rainDetected : Tôi không mở <device(s)> vì phát hiện thấy mưa.
  • rangeTooClose : Dải nhiệt độ của bạn quá sát nhau và không sử dụng được cho chế độ Sưởi ấm – Làm mát của <device(s)>. Vui lòng chọn nhiệt độ cách xa nhau.
  • relinkRequired : Rất tiếc, có vẻ như đã xảy ra sự cố với tài khoản của bạn. Vui lòng dùng ứng dụng Trợ lý hoặc Google Home để liên kết lại <device(s)>.
  • remoteSetDisabled :
    • Tham số không bắt buộc errorCodeReason
    • currentlyArmedRất tiếc, vì chế độ an ninh đang hoạt động nên bạn cần dùng <device(s)> hoặc ứng dụng này để thực hiện bất kỳ thay đổi nào.
    • remoteUnlockNotAllowedRất tiếc, tôi không thể mở khoá <device(s)> từ xa.
    • remoteControlOffBạn hiện không thể thực hiện thao tác này. Vui lòng bật tính năng điều khiển từ xa trên <device(s)> rồi thử lại.
    • childSafetyModeActiveBạn không thực hiện được thao tác đó cho <device(s)> khi chế độ an toàn cho trẻ em đang hoạt động.
  • roomsOnDifferentFloors : <device(s)> không thể vào những phòng đó vì những phòng đó không ở cùng một tầng.
  • safetyShutOff : <device(s)> <is/are> in Safety Shut-Off Mode, so <it/they>'ll have to be adjusted by hand.
  • sceneCannotBeApplied : Rất tiếc, không thể áp dụng cho <device(s)>.
  • securityRestriction : <device(s)> <has/have> a security restriction.
  • softwareUpdateNotAvailable : Rất tiếc, không có bản cập nhật phần mềm nào trên <device(s)>.
  • startRequiresTime : Để làm như vậy, bạn cần cho tôi biết bạn muốn <device(s)> hoạt động trong bao lâu.
  • stillCoolingDown : <device(s)> <is/are> still cooling down.
  • stillWarmingUp : <device(s)> <is/are> still warming up.
  • streamUnavailable : Rất tiếc, có vẻ như luồng dữ liệu từ <device(s)> hiện không sử dụng được.
  • streamUnplayable : Rất tiếc, hiện tôi không thể phát luồng dữ liệu từ <device(s)>.
  • tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
  • targetAlreadyReached : Rất tiếc, có vẻ như đó là nhiệt độ hiện tại.
  • timerValueOutOfRange : Không thể đặt <device(s)> trong khoảng thời gian đó.
  • tooManyFailedAttempts : Xin lỗi, bạn đã thử quá nhiều lần không thành công. Vui lòng mở ứng dụng trên thiết bị của bạn để hoàn tất thao tác đó.
  • transientError : Rất tiếc, đã xảy ra lỗi khi điều khiển <device(s)>. Vui lòng thử lại.
  • turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
  • unableToLocateDevice : Tôi không thể định vị <device(s)>.
  • unknownFoodPreset : <device(s)> không hỗ trợ chế độ nấu đó.
  • unlockFailure : Không thể mở khoá <device(s)>.
  • unpausableState : Không thể tạm dừng <device(s)> ngay bây giờ.
  • userCancelled : ok
  • valueOutOfRange : Không thể đặt <device(s)> ở nhiệt độ đó.

Báo cáo trạng thái trực tuyến và ngoại tuyến

Khi thiết bị không có mạng, bạn nên báo cáo <code{"online": code="" dir="ltr" false}<="" translate="no"> thành Report State (Báo cáo trạng thái) trong vòng 5 phút kể từ khi thiết bị hoạt động. Ngược lại, khi thiết bị chuyển sang trạng thái trực tuyến, bạn nên báo cáo <code{"online": code="" dir="ltr" translate="no" true}<=""> cho Report State trong vòng 5 phút kể từ khi thiết bị hoạt động. Bất cứ khi nào thiết bị kết nối lại với mạng, đối tác phải báo cáo tất cả trạng thái hiện tại của thiết bị bằng cách sử dụng API reportStateAndNotification. Ví dụ này cho thấy loại thiết bị light đang trực tuyến và báo cáo tất cả các trạng thái hiện tại của thiết bị.
"requestId": "test-request-id",
  "agentUserId": "agent-user-1",
    "payload":{
      "devices": {
        "states": {
          "device-id-1": {
            "brightness": 65,
            "on": true,
            "online": true
          }
          "notifications": {},
        }
      }
    }

Ngoại lệ

Bạn nên trả về một ngoại lệ khi có vấn đề hoặc cảnh báo liên quan đến một lệnh. Lệnh này có thể thành công hoặc không thành công.

Nếu lệnh thành công (status = "SUCCESS"), hãy báo cáo các trường hợp ngoại lệ bằng đặc điểm StatusReport (đối với các thiết bị không phải là mục tiêu) hoặc bằng cách trả về exceptionCode thích hợp (đối với thiết bị mục tiêu).

Ví dụ: nếu màn hình xơ vải của máy sấy đầy, người dùng vẫn có thể khởi động máy sấy, nhưng bạn nên cảnh báo họ về trạng thái này. Tương tự, khi thiết bị sắp hết pin nhưng chưa hết hẳn, bạn vẫn có thể thực thi một lệnh nhưng nên cho người dùng biết rằng pin của thiết bị sắp hết.

Nếu lệnh không thành công do ngoại lệ, trạng thái phải là "EXCEPTIONS" và các ngoại lệ phải được báo cáo bằng đặc điểm StatusReport.

Ngoại lệ không chặn (THÀNH CÔNG) về thiết bị mục tiêu

Ví dụ này dùng để khoá cửa:

Khoá cửa trước yếu pin. Đang khoá cửa trước.

{
  "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"
      }
    }]
  }
}

Ngoại lệ không chặn (THÀNH CÔNG) về một thiết bị khác đang sử dụng StatusReport

Ví dụ này là để bật hệ thống an ninh: Ok, tôi đang bật hệ thống an ninh. Cửa sổ trước đang mở.

{
  "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"
        }]
      }
    }]
  }
}

Ngoại lệ chặn về một thiết bị khác đang dùng 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"
          }
        ]
      }
    }
  }
}

Danh sách ngoại lệ

Các trường hợp ngoại lệ sau đây sẽ tạo ra TTS liên quan trên thiết bị.

  • bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • carbonMonoxideDetected : Phát hiện thấy khí CO trong <house name>.
  • 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)> <has/have> been tampered with.
  • deviceUnplugged : <device(s)> <is/are> unplugged.
  • floorUnreachable : <device(s)> không thể vào phòng đó. Vui lòng đưa <it/them> đến đúng tầng rồi thử lại.
  • hardwareFailure : <device(s)> <has/have> a hardware problem.
  • inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
  • 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 : kết nối giữa mạng gia đình với <device(s)> đang gặp trục trặc.
  • noIssuesReported : <device(s)> không báo cáo vấn đề nào.
  • roomsOnDifferentFloors : <device(s)> không thể vào những phòng đó vì những phòng đó không ở cùng một tầng.
  • runCycleFinished : <device(s)> <has/have> finished running.
  • securityRestriction : <device(s)> <has/have> a security restriction.
  • smokeDetected : Phát hiện thấy khói trong <house name>.
  • 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.
</code{"online":></code{"online":>