Lỗi và ngoại lệ

Tài liệu này liệt kê các lỗi và ngoại lệ được hỗ trợ chính thức đối với các thiết bị thông minh trong nhà. Vui lòng sử dụng các mã lỗi và ngoại lệ sau đây trong phản hồi ý định hoặc trong thông báo nếu bạn đã triển khai mã nà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 có định dạng không chính xác hoặc errorCode, thì Trợ lý Google sẽ đưa ra 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 sử dụng được".

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 yêu cầu truy vấn không thành công. Ví dụ: nếu khoá cửa bị kẹt và không thể khoá/mở khoá, thì bạn phải trả lại 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 trình cung cấp và các đèn đó đượ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, trì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 của họ 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 toàn cầu hoặc cấp thiết bị không có sự khác biệt. Khi thiết bị không 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 bạn trả về mã lỗi deviceOffline.

Tóm tắt:

  • Lỗi cấp 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 với các trường hợp lỗi và thành công

Lỗi cấp toàn cầu

Đoạn mã JSON sau đây cho biết cách bạn trả về các lỗi cấp toàn cầu trong phản hồiQUERY hoặc EXECUTE.

Một ví dụ về lỗi cấp độ toàn cầu deviceOffline do trung tâm này đang 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 này đ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 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"
      }
    }
  }
}

EXECUTE phản hồi

Đ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 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 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 minh hoạ cách bạn báo cáo các 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 TTS được liên kết trên thiết bị.

  • onMaxLightEffectsDuration : Thời lượng này lâu hơn thời lượng tối đa là 1 giờ. Vui lòng thử lại.
  • overMinimumTimerDuration : Tôi chỉ có thể đặt <device(s)> trong tối đa <time khoảng thời gian>
  • actionNot Available : Rất tiếc, có vẻ như tôi chưa thể thực hiện việc đó ngay lúc này.
  • hành động Không có sẵn trong khi đang 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.
  • alreadyArmed : <device(s)> <is/are> đã được bật.
  • alreadyAtMax : <device(s)> <is/are> đã được đặt ở nhiệt độ tối đa.
  • alreadyAtMin : <device(s)> <is/are> đã được đặt ở nhiệt độ tối thiểu.
  • đã đóng cửa : <device(s)> <is/are> đã đóng cửa.
  • đã tắt chuông báo động : <device(s)> <is/are> đã bị tắt.
  • Đã gắn vào đế sạc : <device(s)> <is/are> đã được gắn vào đế sạc.
  • alreadyInState : <device(s)> <is/are> đã ở trạng thái đó.
  • đã khoá : <device(s)> <is/are> đã khoá.
  • đãTắt : <device(s)> <is/are> đã tắt.
  • đã bật : <device(s)> <is/are> đã bật.
  • đã mở : <device(s)> <is/are> đã mở.
  • đã bị tạm dừng : <device(s)> <is/are> đã tạm dừng.
  • đã bắt đầu : <device(s)> <is/are> đã bắt đầu.
  • đã dừng : <device(s)> <is/are> đã dừng.
  • đã mở khoá : <device(s)> <is/are> đã được mở khoá.
  • AdSenseZoneName : 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 bạn đặt tên riêng biệt cho các vùng rồi thử lại.
  • amountOverLimit : Đây là mức cao hơn mức mà <device(s)> có thể hỗ trợ.
  • appLaunchFailed : Rất tiếc, không chạy được <app name> trên <device(s)>.
  • armKhông thành công : Không bật được chuông báo cho <device(s)>.
  • armlevelCầned : Tôi không rõ nên đặt <device(s)> ở cấp độ nào. Hãy thử nói "Đặt <device(s)> thành <bảo mật thấp>" hoặc "Đặt <thiết bị> thành <bảo mật cao>"
  • authFailure : Có vẻ như tôi chưa thể kết nối với <device(s)>. Hãy thử kiểm tra ứng dụng để đảm bảo <device/devices> <is/are> của bạn đã thiết lập xong.
  • túiFull : <device(s)> <has/have> <a fullbag/fullbag>. Vui lòng để trống <it/them> rồi thử lại.
  • belowMinimumLightEffectsDuration : Thời lượng tối thiểu là 5 phút. Vui lòng thử lại.
  • dưới mứcMinimumTimerDuration : Tôi không đặt được <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>.
  • cancelArmingRestricted : Rất tiếc, tôi không thể huỷ thao tác Arming <device(s)>.
  • cancelTooLate : Rất tiếc, đã quá muộn để huỷ. Hãy dùng <device(s)> hoặc ứng dụng Google Maps.
  • channelSwitchFailed : Rất tiếc, không chuyển được sang kênh <channel name> được. Vui lòng thử lại sau.
  • bộ sạcVấn đề : Rất tiếc, có vẻ như <thiết bị> <has/have> <vấn đề về bộ sạc/vấn đề về bộ sạc>.
  • CommandInsertFailed : Không thể xử lý các lệnh cho <device(s)>.
  • deadBattery : <device(s)> <has/have> <a deadBattery/deed pin>.
  • °OutOf Range : Độ được yêu cầu nằm ngoài phạm vi của <device(s)>.
  • deviceAlertCầnAssistantance : <device(s)> <has/have> một cảnh báo đang hoạt động và <need(s)> sự hỗ trợ của bạn.
  • deviceAtExtremetemperature : <device(s)> <is/are> ở <an nhiệt độ cực cao/nhiệt độ cực cao>.
  • deviceBusy : Rất tiếc, có vẻ như <device(s)> hiện đang thực hiện thao tác nào đó.
  • deviceCharge : Rất tiếc, có vẻ như <device(s)> không thể làm việc đó vì (ha_shared.ItsTherere size=$item.devices.total_device_count) đang sạc.
  • deviceCat : Rất tiếc, có vẻ như <device(s)> đã bị tắc.
  • thiết bị hiện đang phân phối : <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 rồi thử lại.
  • deviceHandleclose : Xử lý thiết bị đã đóng trên <device(s)>. Vui lòng mở ô điều khiển 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.
  • Thiết bị cần sửa chữa : <device(s)> <need(s)> cần được sửa chữa. Vui lòng liên hệ với đại lý bảo dưỡng tại địa phương.
  • deviceNotDocked : Rất tiếc, có vẻ như <device(s)> <isn't/are't> đã gắn vào đế sạc. Vui lòng gắn <tên/thiết bị> vào đế sạc rồi thử lại.
  • deviceNotFound (Không tìm thấy) : <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 thể thực hiện việc đó vì <it/they> <is/are>chưa được gắn.
  • deviceNotSẵn sàng : <device(s)> <is/are>chưa sẵn sàng.
  • Lỗi thiết bị : <device(s)> <is/are> gặp sự cố và cần bạn trợ giúp.
  • deviceTampred : <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.
  • directResponseOnlyUnreachable : <device(s)> < couldn't/don't> hỗ trợ điều khiển từ xa.
  • tắt chuông báo động Không thành công : Không tắt được chuông báo động của <device(s)>.
  • rờiOnlyOpenClose : Rất tiếc, <device(s)> chỉ có thể mở hoặc đóng hoàn toàn.
  • dispenseAmountAmountLimit : <device(s)> không thể phân phối một số lượng lớn như vậy.
  • dispenseAmountBelowLimit : <device(s)> không thể phân phối một số tiền nhỏ như vậy.
  • dispenseAmountRemainingVượt quá : <device(s)> không có đủ <dispense item> để thực hiện việc đó.
  • dispenseFractionalAmountNotSupported : <device(s)> không thể phân phối số phân số 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>.
  • Vui lòng mở cửa, đảm bảo bạn đã cho thứ gì đó vào trong lò, sau đó thử lại.
  • khẩn cấpHeatOn : <device(s)> <is/are> ở Chế độ sưởi ấm khẩn cấp, nên bạn sẽ phải điều chỉnh <it/they> bằng tay.
  • bị lỗiPin : <thiết bị> <có/có> <a pin bị lỗi/pin bị lỗi>.
  • floorUnvisitable : <device(s)> không thể vào phòng đó. Vui lòng chuyển <bài viết> đến đúng tầng rồi thử lại.
  • functionNotSupported : Thực ra thì <device(s)> <không hỗ trợ chức năng đó.
  • chungDispenseNotsupported : Tôi cần biết bạn muốn phân phối những gì. Vui lòng thử lại kèm theo tên của mặt hàng đó.
  • Lỗi khó : Rất tiếc, đã xảy ra lỗi và tôi không thể điều khiển thiết bị trong nhà của bạn.
  • Lỗi khó : Rất tiếc, đã xảy ra lỗi và tôi không thể điều khiển thiết bị trong nhà của bạn.
  • inAutoMode : <device(s)> <is/are> hiện được đặt thành chế độ tự động. Để thay đổi nhiệt độ, bạn cần chuyển <it/chúng> sang chế độ khác.
  • inAwayMode : <device(s)> <is/are> hiện được đặt ở chế độ vắng mặt. Để điều khiển máy điều nhiệt, bạn cần phải 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 được đặt ở chế độ làm khô. Để thay đổi nhiệt độ, bạn cần chuyển <it/chúng> sang chế độ khác.
  • inEcoMode : <device(s)> <is/are> hiện được đặt ở chế độ tiết kiệm năng lượng. Để thay đổi nhiệt độ, bạn cần chuyển <it/chúng> sang chế độ khác.
  • inFanOnlyMode : <device(s)> <is/are> hiện được đặt ở chế độ chỉ quạt. Để thay đổi nhiệt độ, bạn cần chuyển <it/chúng> 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 được đặt ở chế độ tạo ẩm. Để thay đổi nhiệt độ, bạn cần chuyển <it/chúng> 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 một chế độ khác.
  • inPurifierMode : <device(s)> <is/are> hiện được đặt ở chế độ lọc không khí. Để thay đổi nhiệt độ, bạn cần chuyển <it/chúng> 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 khoá được <device(s)>.
  • lockState : <device(s)> <is/are> hiện đang bị khoá.
  • lockToPhạm vi : Nhiệt độ đó nằm ngoài phạm vi bị khoá trên <device(s)>.
  • pin yếu : <device(s)> <có/có> pin yếu.
  • maxSettingsReached : <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.
  • Theo dõiServiceConnectionBị thất lạc : <device(s)> <has/have> đã mất kết nối <its/their> với dịch vụ giám sát.
  • nhu cầu Tệp đí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 pin rồi thử lại.
  • cầnBin : Rất tiếc, có vẻ như <device(s)> <is/are> thiếu thùng. Vui lòng thay pin rồi thử lại.
  • cần Miếng đệm : <device(s)> <need(s)> miếng đệm mới.
  • cầnSoftwareUpdate : <device(s)> <need(s)> một bản cập nhật phần mềm.
  • cần nước : <device(s)> <need(s)> nước.
  • networkProfileNotRecognitiond : Rất tiếc, tôi không nhận ra "<network profile>" trên <device(s)>.
  • networkSpeedTestInProgress : Tôi đang thử nghiệm <network> <speed/speeds>>.
  • noAvailableApp : Rất tiếc, có vẻ như <tên ứng dụng> không có sẵn.
  • noAvailableChannel : Rất tiếc, có vẻ như kênh <channel name> không hoạt động.
  • noChannelSubscription : Rất tiếc, hiện tại bạn chưa đăng ký kênh <channel name>.
  • noTimerExist : Rất tiếc, có vẻ như bạn chưa đặt đồng hồ hẹn giờ nào trên <device(s)>.
  • không được hỗ trợ : Rất tiếc, chế độ đó không khả dụng cho <device(s)>.
  • phát hiện vật cản. : <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 chưa sử dụng được.
  • onRequestedMode : 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.
  • PercentOutOf Range : Rất tiếc, tôi không thể đặt <device(s)> thành <percent>.
  • Mã PINKhông chính xác : (cụm mật khẩu không chính xác)
  • Phát hiện thấy mưa : Tôi không mở <device(s)> vì phát hiện thấy mưa.
  • phạm vi quá gần : Phạm vi quá gần đối với phạm vi Sưởi ấm – Làm mát của <device(s)>. Hãy chọn các nhiệt độ cách xa nhau hơn.
  • Bắt buộc liên kết lại : 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 Google Home hoặc Trợ lý để 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 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.
    • 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 cho <device(s)> khi chế độ an toàn cho trẻ em đang hoạt động.
  • phòngOnOnVariousFloors : <device(s)> không thể vào các phòng đó vì những phòng đó ở các tầng khác nhau.
  • Tắt an toàn : <device(s)> <is/are> ở Chế độ Tắt an toàn, nên bạn sẽ phải điều chỉnh <it/they> bằng tay.
  • cảnhKhông thểBeỨng 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.
  • softwareUpdateNotAvailable : Rất tiếc, không có bản cập nhật phần mềm nào trên <device(s)>.
  • startRequestedTime : Để làm được việc đó, bạn cần cho tôi biết bạn muốn chạy <device(s)> trong bao lâu.
  • StillCoolingDown : <device(s)> <is/are> vẫn đang hạ nhiệt.
  • StillWarmingUp : <device(s)> <is/are> vẫn đang khởi động.
  • sự kiện phát trực tiếp không hoạt độ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 chưa thể phát sự kiện đó trên <device(s)>.
  • TankEmpty : <device(s)> <has/have> <an Empty bồn/Thùng trống>. Vui lòng đổ đầy <it/them> rồi thử lại.
  • target alreadyReached : 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á nhiều thất bại cố gắng : Rất tiếc, đã có quá nhiều lần thử không thành công. Vui lòng chuyển đến ứng dụng của thiết bị để 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.
  • đã tắt , deviceTắt : <device(s)> <is/are> hiện đang tắt.
  • Không thểTìmThiết bị : Tôi không tìm được <thiết bị>.
  • UnknownFoodPreset : <device(s)> không hỗ trợ chế độ nấu ăn đó.
  • UnlockKhông thành công : Không mở khoá được <device(s)>.
  • unpausableState : Không thể tạm dừng <device(s)> ngay bây giờ.
  • người dùng đã huỷ : ok
  • valueOutOf Range : Không đặt được <device(s)> ở nhiệt độ đó.

Ngoại lệ

Bạn nên trả về một ngoại lệ khi xảy ra sự cố hoặc cảnh báo liên quan đến 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 = "FAILED"), hãy báo cáo các trường hợp ngoại lệ bằng cách sử dụng đặc điểm StatusReport (đối với các thiết bị không phải là thiết bị 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ị sắp hết pin và chưa hết pin, bạn vẫn có thể thực thi lệnh nhưng nên cho thiết bị biết pin của thiết bị sắp hết.

Nếu lệnh không thực hiện được do các trường hợp ngoại lệ, thì trạng thái sẽ là "EXCEPTIONS" và các trường hợp ngoại lệ phải được báo cáo bằng tính năng StatusReport.

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

Ví dụ sau đây là về việc 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 (HUỶ) về thiết bị khác sử dụng StatusReport

Ví dụ sau đây minh hoạ cách bật hệ thống an ninh: Tôi đang bật hệ thống an ninh. Cử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"
        }]
      }
    }]
  }
}

Chặn ngoại lệ về thiết bị khác bằng cách 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 TTS được liên kết trên thiết bị.

  • túiFull : <device(s)> <has/have> <a fullbag/fullbag>. Vui lòng để trống <it/them> rồi thử lại.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • Phát hiện thấy carbonMonoxide : Phát hiện thấy khí carbon monoxit trong <house name>.
  • deviceAtExtremetemperature : <device(s)> <is/are> ở <an nhiệt độ cực cao/nhiệt độ cực cao>.
  • deviceJammingDetected : <device(s)> <is/are> bị kẹt.
  • deviceMoved : <device(s)> <đã/đã> được di chuyển.
  • deviceOpen (Mở) : <device(s)> <is/are> đang mở.
  • deviceTampred : <device(s)> <has/have> đã bị can thiệp.
  • deviceĐã rút phích cắm : <device(s)> <is/are> đã rút phích cắm.
  • floorUnvisitable : <device(s)> không thể vào phòng đó. Vui lòng chuyển <bài viết> đến đúng tầng rồi thử lại.
  • Lỗi phần cứng : <device(s)> <có/có> sự cố phần cứng.
  • inSoftwareUpdate : <device(s)> <is/are> hiện đang cập nhật phần mềm.
  • Bị bỏ qua : <device(s)> <is/are> hiện đang bị bỏ qua.
  • pin yếu : <device(s)> <có/có> pin yếu.
  • phát hiện chuyển động : <device(s)> <detect(s)> chuyển động.
  • cần Miếng đệm : <device(s)> <need(s)> miếng đệm mới.
  • cầnSoftwareUpdate : <device(s)> <need(s)> một bản cập nhật phần mềm.
  • cần nước : <device(s)> <need(s)> nước.
  • networkJammingDetected : kết nối mạng gia đình với <device(s)> không hoạt động đúng cách.
  • noIssuesReported : <device(s)> không báo cáo vấn đề nào.
  • phòngOnOnVariousFloors : <device(s)> không thể vào các phòng đó vì những phòng đó ở các tầng khác nhau.
  • runCycleFinish : <device(s)> <has/have> đã chạy xong.
  • SecurityRestriction : <device(s)> <has/have> hạn chế về bảo mật.
  • Phát hiện có khói : Phát hiện có khói trong <tên nhà>.
  • TankEmpty : <device(s)> <has/have> <an Empty bồn/Thùng trống>. Vui lòng đổ đầy <it/them> rồi thử lại.
  • useCellularBackup : <device(s)> <is/are> đang dùng dịch vụ sao lưu qua mạng di động.
  • waterLeakDetected : <device(s)> <detect(s)> sự cố rò rỉ nước.