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 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 ý định. Như vậy, Trợ lý Google sẽ 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 câu trả lờ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, thiết bị hiện 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ì hệ thống sẽ trả về lỗi về trạng thái này cho người dùng.

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 từ một nhà cung cấp và họ được một trung tâm kiểm soát, 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 đèn đơn lẻ không có kết nối mạng, hoặc lỗi cấp toàn cầu nếu toàn bộ trung tâm của họ không có 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ì không có sự khác biệt giữa việc sử dụng lỗi cấp toàn cầu hoặc lỗi cấp thiết bị. Khi thiết bị không có kết nối mạng, bạn nên báo cáo trạng thái {"online": false} trong reportState ngay cả khi trả về mã lỗi deviceOffline.

Tóm tắt:

  • Lỗi toàn cầu: tất cả thiết bị trong phản hồi đều có cùng một lỗi
  • Lỗi cấp cục bộ: phản hồi hỗn hợp kèm theo lỗi và trường hợp thành công

Lỗi ở cấp độ toàn cầu

Đoạn mã JSON sau đây minh hoạ cách bạn trả về lỗi cấp toàn cầu 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 đang không kết nối mạng:

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

Câu trả lời QUERY

Đoạn mã JSON sau đây cho thấy cách bạn trả về 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"
      }
    }
  }
}

EXECUTE phản hồi

Đoạn mã JSON sau đây minh hoạ cách bạn 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ạn báo cáo các 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"
          }
        }
      }
    }
  }
}

Phản hồi tiếp theo

Đoạn mã JSON sau đây cho biết cách bạn 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 đây sẽ tạo ra tính năng TTS được liên kết trên thiết bị.

  • abovemaximumLightEffectsDuration : Nhiều 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, có vẻ như tôi chưa thể làm việc đó ngay lúc này.
  • actionKhông có sẵn trong khi chạy : <device(s)> <is/are> hiện đang chạy, nên tôi không thể thực hiện bất kỳ thay đổi nào.
  • haveArmed : <device(s)> <is/are> đã được bật.
  • alreadyAtMax : <device(s)> <is/are> đã đặt ở nhiệt độ tối đa.
  • alreadyAtMin : <device(s)> <is/are> đã đặt ở nhiệt độ tối thiểu.
  • alreadyClosed : <device(s)> <is/are> đã đóng.
  • đã tắt chuông báo động : <device(s)> <is/are> đã bị tắt chuông báo động.
  • alreadyDocked : <device(s)> <is/are> đã gắn vào đế.
  • alreadyInState : <device(s)> <is/are> đã ở trạng thái đó.
  • đã khoá : <device(s)> <is/are> đã khoá.
  • alreadyOff : <device(s)> <is/are> đã tắt.
  • alreadyOn : <device(s)> <is/are> đã bật.
  • alreadyOpen : <device(s)> <is/are> đã mở.
  • đã tạm dừng : <device(s)> <is/are> đã tạm dừng.
  • alreadyStarted : <device(s)> <is/are> đã bắt đầu.
  • đã dừng : <device(s)> <is/are> đã dừng.
  • alreadyUnlocked : <device(s)> <is/are> đã mở khoá.
  • VerifyZoneName : 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 đảm bảo rằng các khu vực của bạn có tên riêng biệt rồi thử lại.
  • amountOverLimit : Hơn cả những gì <device(s)> có thể hỗ trợ.
  • appLaunchFailed : Rất tiếc, không chạy được <app name> trên <device(s)>.
  • armFailure : Không thể bật chuông báo động cho <device(s)>.
  • armLevelCầned : Tôi chưa rõ nên đặt <device(s)> ở cấp nào. Hãy thử nói "Đặt <device(s)> thành <low security>" hoặc "Đặt <device(s)> ở chế độ <high security>"
  • authFailure : Có vẻ như tôi không kết nối được với <device(s)>. Hãy thử kiểm tra ứng dụng để đảm bảo <device/devices> <is/are> được thiết lập đầy đủ.
  • bagFull : <device(s)> <has/have> <a đầy túi/fullCác túi>. Vui lòng để trống <it/them> rồi thử lại.
  • bottomMinimumLightEffectsDuration : Thời lượng tối thiểu là 5 phút. Vui lòng thử lại.
  • bottomMinimumTimerDuration : Tôi không thể đặt <device(s)> trong khoảng thời gian ngắn như vậy. Vui lòng thử lại.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • cancelArmingRestrict : Rất tiếc, tôi không thể huỷ thao tác bật/tắt chuông báo động của <device(s)>.
  • cancelTooLate : Rất tiếc, đã quá muộn để huỷ. Hãy dùng <device(s)> hoặc ứng dụng.
  • channelSwitchFailed : Rất tiếc, tôi không chuyển được sang kênh <channel name>. Vui lòng thử lại sau.
  • chargerVấn đề : Rất tiếc, có vẻ như <device(s)> <has/have> <a charger issues/ adapter issues> (vấn đề về bộ sạc/vấn đề bộ sạc>).
  • CommandInsertFailed : Không thể xử lý các lệnh cho <device(s)>.
  • deadBattery : <device(s)> <has/have> <a dead battery/dead").
  • ĐộOutOfRange : Độ được yêu cầu nằm ngoài phạm vi của <device(s)>.
  • deviceAlertCầnHỗ trợ : <device(s)> <has/have> một cảnh báo đang hoạt động và <need(s)> có sự hỗ trợ của bạn.
  • deviceAtExtremeTemperature : <device(s)> <is/are> at <an partner temperature/extreme temperature>.
  • deviceBusy : Rất tiếc, có vẻ như <device(s)> đang làm gì đó.
  • deviceCharging : Rất tiếc, có vẻ như <device(s)> không làm được việc đó vì (ha_shared.ItsItre size=$item.devices.total_device_count) đang sạc.
  • deviceCstruct : Rất tiếc, có vẻ như <device(s)> đã bị tắc.
  • deviceCurrentDispensing : <device(s)> hiện đang phân phối gì đó.
  • deviceDoorOpen : Cửa đang mở trên <device(s)>. Vui lòng đóng cửa rồi thử lại.
  • deviceHandleClosed : Tên người dùng đã đóng trên <device(s)>. Vui lòng mở tay cầm rồi thử lại.
  • deviceJammingDetected : <device(s)> <is/are> bị kẹt.
  • deviceLidOpen : Nắp đang mở trên <device(s)>. Vui lòng đóng nắp rồi thử lại.
  • deviceCần sửa chữa : <device(s)> <need(s)> cần sửa chữa. Vui lòng liên hệ với đại lý dịch vụ tại địa phương của bạn.
  • deviceNotDocked : Rất tiếc, có vẻ như <device(s)> <không/không> đã gắn vào đế sạc. Vui lòng gắn <it/họ> vào đế sạc rồi thử lại.
  • deviceNotFound : <device(s)> <is/are>không dùng được. Bạn nên thử thiết lập lại <it/them>.
  • deviceNotMounted : Rất tiếc, có vẻ như <device(s)> không làm được việc đó vì <it/family> <is/are>chưa được kết nối.
  • deviceNotReady : <device(s)> <is/are>chưa sẵn sàng.
  • thiết bị bị kẹt : <device(s)> <is/are> bị kẹt và cần bạn trợ giúp.
  • deviceTampated : <device(s)> <has/have> đã bị can thiệp.
  • deviceThermalTắt : Rất tiếc, có vẻ như <device(s)> đã tắt do nhiệt độ quá cao.
  • DirectResponseOnlyUnAccessable : <device(s)> <không/không> hỗ trợ điều khiển từ xa.
  • disarmFailure : Không tắt được chuông báo động của <device(s)>.
  • derivedOnlyOpenClose : Rất tiếc, bạn chỉ có thể mở hoặc đóng <device(s)> hoàn toàn.
  • dispenseAmount PreLimit : <device(s)> không thể phân phối một số lượng lớn như vậy.
  • dispenseAmount thanLimit : <device(s)> không thể phân phối một lượng nhỏ như vậy.
  • dispenseAmountRemaininges VỀ : <device(s)> không có đủ <dispense item> để làm việc đó.
  • dispenseFractionalAmountNotSupported : <device(s)> không thể phân phối số lượng của <dispense item>.
  • dispenseFractionalUnitNotSupported : <device(s)> không hỗ trợ phân số của đơn vị đó cho <dispense item>.
  • dispenseUnitNotSupported : <device(s)> không hỗ trợ đơn vị đó cho <dispense item>.
  • windowClosedTooLong : Đã lâu rồi cửa trên <device(s)> mới mở. Vui lòng mở cửa, đảm bảo bạn đã cho đồ vào bên trong, sau đó thử lại.
  • khẩn cấpHeatOn : <device(s)> <is/are> ở Chế độ sưởi ấm khẩn cấp, nên <it/Family> sẽ phải điều chỉnh bằng tay.
  • faultyBattery : <device(s)> <has/have> <a faulty Battery/fattyBattery>.
  • floorUnốiable : <device(s)> không thể vào phòng đó. Vui lòng chuyển <it/họ> đến đúng tầng rồi thử lại.
  • functionNotSupported : Trên thực tế, <device(s)> <không/không> hỗ trợ chức năng đó.
  • GeneralDispenseNotSupported : Tôi cần biết bạn muốn phân phối loại gì. Vui lòng thử lại bằng tên của mặt hàng đó.
  • HardError : Rất tiếc, đã xảy ra lỗi 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 lỗi nên tôi không thể điều khiển thiết bị trong nhà bạn.
  • inAutoMode : <device(s)> <is/are> hiện đang đặt ở chế độ tự động. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inAwayMode : <device(s)> <is/are> hiện đang đặt ở chế độ vắng mặt. Để điều khiển máy điều nhiệt, bạn cần chuyển máy điều nhiệt 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> hiện đang ở chế độ làm khô. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inEcoMode : <device(s)> <is/are> hiện đang ở chế độ tiết kiệm năng lượng. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inFanOnlyMode : <device(s)> <is/are> hiện đang ở chế độ chỉ dành cho quạt. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inHeatOrCool : <device(s)> <is/are>không ở chế độ sưởi ấm/làm mát.
  • inhumidifierMode : <device(s)> <is/are> hiện đang đặt ở chế độ tạo ẩm. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inOffMode : <device(s)> <is/are> hiện đang tắt. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inPurifierMode : <device(s)> <is/are> hiện đang đặt ở chế độ lọc không khí. Để thay đổi nhiệt độ, bạn cần chuyển <it/them> sang chế độ khác.
  • inSleepMode : <device(s)> <is/are> ở chế độ ngủ. Vui lòng thử lại sau.
  • inSoftwareUpdate : <device(s)> <is/are> hiện đang cập nhật phần mềm.
  • lockFailure : Không thể khoá <device(s)>.
  • lockState : <device(s)> <is/are> hiện đang khoá.
  • lockToRange : Nhiệt độ đó nằm ngoài phạm vi bị khoá trên <device(s)>.
  • pin yếu : <device(s)> <has/have> pin yếu.
  • maxSettingReached : <device(s)> <is/are> đã được đặt ở chế độ cài đặt cao nhất.
  • maxSpeedReached : <device(s)> <is/are> đã được đặt ở tốc độ tối đa.
  • minSettingReached : <device(s)> <is/are> đã được đặt ở chế độ cài đặt thấp nhất.
  • minSpeedReached : <device(s)> <is/are> đã được đặt ở tốc độ tối thiểu.
  • giám sátServiceConnection mất : <device(s)> <has/have> mất kết nối <its/their> với dịch vụ giám sát.
  • Cần đính kèm : Rất tiếc, có vẻ như <device(s)> <is/are> thiếu tệp đính kèm bắt buộc. Vui lòng thay thế rồi thử lại.
  • DemandBin : Rất tiếc, có vẻ như <device(s)> <is/are> thiếu thùng. Vui lòng thay thế rồi thử lại.
  • DemandPads : <device(s)> <need(s)> new pads.
  • requiredSoftwareUpdate : <device(s)> <need(s)> một bản cập nhật phần mềm.
  • nhu cầu Nước : <thiết bị(s)> <need(s)> nước.
  • networkProfileNotSupported : Rất tiếc, tôi không nhận dạng được "<network profile>" trên <device(s)>.
  • networkSpeedTestInProgress : Tôi đang kiểm thử <network> <speed/speeds>>.
  • noAvailableApp : Rất tiếc, có vẻ như <app name> hiện không hoạt động.
  • noAvailableChannel : Rất tiếc, có vẻ như kênh <channel name> không hoạt động.
  • noChannelSubscription : Rất tiếc, bạn hiệ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ế độ đó chưa dùng được cho <device(s)>.
  • obstructionDetected : <device(s)> đã phát hiện thấy một vật cản.
  • ngoại tuyến , deviceOffline : Rất tiếc, có vẻ như <device(s)> <is/are> hiện không hoạt động.
  • onRequestMode : Vui lòng chỉ định chế độ bạn muốn bật.
  • cụm mật khẩu không chính xác : Rất tiếc, có vẻ như mã PIN đó không chính xác.
  • %OutOfRange : Rất tiếc, tôi không thể đặt <device(s)> thành <percent>.
  • pinDeprecated : (cụm mật khẩu không chính xác)
  • RainDetected : Tôi không mở <device(s)> vì phát hiện thấy mưa.
  • phạm viTooClose : Phạm vi nhiệt độ quá gần đối với phạm vi Sưởi ấm-Làm mát của <device(s)>. Hãy chọn nhiệt độ cách xa hơn.
  • relinkrequired : Rất tiếc, có vẻ như đã xảy ra lỗi 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ế độ bảo mật đã được bật nên bạn cần dùng <device(s)> hoặc ứng dụng để thực hiện mọi thay đổi.
    • remoteUnlockNotAllowedRất tiếc, tôi không thể mở khoá <device(s)> từ xa.
    • remoteControlOffThao tác đó hiện đang bị vô hiệu hoá. Vui lòng bật tính năng điều khiển từ xa trên <device(s)> rồi thử lại.
    • childSafetyModeActiveThao tác đó bị tắt đối với <device(s)> khi chế độ an toàn cho trẻ em đang hoạt động.
  • RoomsOnvariantFloors : <device(s)> không thể vào những phòng đó vì những phòng này ở nhiều tầng.
  • safetyTắt : <device(s)> <is/are> đang ở chế độ Tắt an toàn, nên <it/their> sẽ phải tự điều chỉnh.
  • Cảnh không thể áp dụng : Rất tiếc, không thể áp dụng <device(s)>.
  • securityRestriction : <device(s)> <has/have> hạn chế về bảo mật.
  • phần mềmUpdateNotAvailable : Rất tiếc, không có bản cập nhật phần mềm nào trên <device(s)>.
  • startRequiredTime : Để làm việc đó, bạn cần cho tôi biết bạn muốn chạy <device(s)> trong bao lâu.
  • vẫnCoolingDown : <device(s)> <is/are> vẫn đang làm mát.
  • tĩnhWarmingUp : <device(s)> <is/are> vẫn đang khởi động.
  • Không phát được luồng : Rất tiếc, có vẻ như sự kiện phát trực tiếp này hiện không hoạt động trên <device(s)>.
  • streamUnplayable : Rất tiếc, hiện tại, tôi không thể phát sự kiện phát trực tiếp trên <device(s)>.
  • thùngEmpty : <device(s)> <has/have> <an empty thùng/trống bể>. Vui lòng điền vào <it/chúng> rồi thử lại.
  • targetAlreadyReached : Rất tiếc, có vẻ như đó là nhiệt độ hiện tại.
  • timeValueOutOfRange : Không thể đặt <device(s)> trong khoảng thời gian đó.
  • quáManyFailedFaileds : Rất tiếc, bạn đã có quá nhiều lần thử 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 đó.
  • tạm thờiError : Rất tiếc, đã xảy ra lỗi khi điều khiển <device(s)>. Vui lòng thử lại.
  • đang tắt , thiết bị Đã tắt : <device(s)> <is/are> đang tắt.
  • {/9}ToCustomizeDevice : Tôi không thể định vị <device(s)>.
  • UnknownFoodPreset : <device(s)> không hỗ trợ chế độ cài đặt sẵn đó.
  • UnlockFailure : Không thể mở khoá <device(s)>.
  • unpausableState : Hiện không thể tạm dừng <device(s)>.
  • người dùng Đã hủy : OK
  • valueOutOfRange : Không thể đặt <device(s)> ở nhiệt độ đó.

Trường hợp ngoại lệ

Bạn nên trả về một trường hợp 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 (trạng thái = "SUCCESS"), hãy báo cáo các trường hợp ngoại lệ bằng cách sử dụng trait StatusReport (đối với các thiết bị không phải mục tiêu) hoặc bằng cách trả về một exceptionCode thích hợp (đối với thiết bị mục tiêu).

Ví dụ: nếu màn hình tìm lỗi mã nguồn 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 cho họ về trạng thái này. Tương tự, khi thiết bị vẫn còn pin và chưa sử dụng hết pin, bạn vẫn có thể thực thi lệnh nhưng phải cho thiết bị biết pin thiết bị sắp hết.

Nếu lệnh không thành công do có ngoại lệ, trạng thái sẽ là "ExceptionS" và các ngoại lệ phải được báo cáo bằng trait StatusReport.

Ngoại lệ không chặn (SUCCESS) về thiết bị mục tiêu

Sau đây là ví dụ về cách khoá cửa:

Khoá cửa trước sắp hết pin. Tôi đ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 (SUCCESS) về một thiết bị khác sử dụng StatusReport

Sau đây là ví dụ về cách bật hệ thống an ninh: Ok, bật hệ thống an ninh. Cửa sổ phía 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 đối với một thiết bị khác sử 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 sẽ tạo ra tính năng TTS được liên kết trên thiết bị.

  • bagFull : <device(s)> <has/have> <a đầy túi/fullCác túi>. Vui lòng để trống <it/them> rồi thử lại.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • carbonMonoxideDetected : Phát hiện thấy cacbon monoxit trong <tên nhà>.
  • deviceAtExtremeTemperature : <device(s)> <is/are> at <an partner temperature/extreme temperature>.
  • deviceJammingDetected : <device(s)> <is/are> bị kẹt.
  • deviceMoved : <device(s)> <was/were> (đã di chuyển).
  • deviceOpen : <device(s)> <is/are> open.
  • deviceTampated : <device(s)> <has/have> đã bị can thiệp.
  • deviceUnplugted (Thiết bị) : <device(s)> <is/are> (thiết bị đã rút phích cắm).
  • floorUnốiable : <device(s)> không thể vào phòng đó. Vui lòng chuyển <it/họ> đến đúng tầng rồi thử lại.
  • HardwareFailure : <device(s)> <has/have> gặp sự cố về phần cứng.
  • inSoftwareUpdate : <device(s)> <is/are> hiện đang cập nhật phần mềm.
  • isBypassed : <device(s)> <is/are> hiện đã bị bỏ qua.
  • pin yếu : <device(s)> <has/have> pin yếu.
  • MotionDetected : <device(s)> <detect(s)> chuyển động.
  • DemandPads : <device(s)> <need(s)> new pads.
  • requiredSoftwareUpdate : <device(s)> <need(s)> một bản cập nhật phần mềm.
  • nhu cầu Nước : <thiết bị(s)> <need(s)> nước.
  • networkJammingDetected : kết nối mạng gia đình với <device(s)> đang gặp vấn đề.
  • noIssuesReported : <device(s)> báo cáo rằng không có vấn đề nào.
  • RoomsOnvariantFloors : <device(s)> không thể vào những phòng đó vì những phòng này ở nhiều tầng.
  • runCycleDone : <device(s)> <has/have> đã chạy xong.
  • securityRestriction : <device(s)> <has/have> hạn chế về bảo mật.
  • khóiDetected : Phát hiện thấy khói trong <house name>.
  • thùngEmpty : <device(s)> <has/have> <an empty thùng/trống bể>. Vui lòng điền vào <it/chúng> rồi thử lại.
  • sử dụng tính năng Sao lưu di động : <device(s)> <is/are> đang dùng tính năng sao lưu qua mạng di động.
  • waterLeakDetected : <device(s)> <detect(s)> rò rỉ nước.