Tài liệu này liệt kê các lỗi và 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 thông báo. Nhờ đó, 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 phản hồi chứa định dạng không chính xác hoặc errorCode
, 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 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á/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ục. Ví dụ: nếu người dùng có nhiều đèn từ một 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, nhà cung cấp có thể trả về lỗi cấp thiết bị nếu một đèn không có kết nối mạng hoặc lỗi cấp toàn cục nếu toàn bộ trung tâm 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 ở chế độ ngoại tuyến, thì việc sử dụng lỗi cấp toàn cục hay cấp thiết bị sẽ không có gì khác biệt.
Khi thiết bị không kết nối mạng, bạn nên báo cáo {"online": false}
để Báo cáo trạng thái trong vòng 5 phút kể từ hành vi của thiết bị.
Tóm tắt:
- Lỗi cấp toàn cục: tất cả thiết bị trong phản hồi đều gặp cùng một lỗi
- Lỗi cấp cục bộ: phản hồi kết hợp các trường hợp lỗi và thành công
Lỗi cấp toàn cục
Đoạn mã JSON sau đây cho biết cách bạn trả về lỗi cấp toàn cục trong phản hồi QUERY hoặc EXECUTE.
Ví dụ về lỗi cấp toàn cục deviceOffline
do trung tâm đ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ục 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 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ề 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 tiếp theo
Đ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 đây sẽ tạo ra TTS được liên kết trên thiết bị.
- aboveMaximumLightEffectsDuration : 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.
- 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.
- đã bật vũ khí : <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 độ thấp nhất.
- alreadyClosed : <device(s)> <is/are> đã đóng.
- alreadyDisarmed : <device(s)> <is/are> đã được tắt báo động.
- alreadyDocked : <device(s)> <is/are> already docked.
- alreadyInState : <device(s)> <is/are> đã ở trạng thái đó.
- đã khoá : <device(s)> <is/are> đã khoá.
- alreadyOff : <device(s)> <is/are> already off.
- alreadyOn : <device(s)> <is/are> already on.
- alreadyOpen : <device(s)> <is/are> already open.
- đã bị tạm dừng : <device(s)> <is/are> đã tạm dừng.
- đã bắt đầu : <device(s)> <is/are> đã bắt đầu.
- alreadyStopped : <device(s)> <is/are> đã dừng.
- đã được mở khoá : <device(s)> <is/are> đã được mở khoá.
- 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 : Đó là số lượng lớn hơn mức <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ể kích hoạt <(các) thiết bị>.
- armlevelCầned : Tôi không chắc nên đặt <device(s)> ở cấp độ nào. Hãy thử nói "Đặt <thiết bị> ở chế độ <mức độ bảo mật thấp>" hoặc "Đặt <thiết bị> ở chế độ <mức độ bảo mật cao>"
- authfail : 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 rằng <device/devices> <is/are> của bạn đã đượ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)> trong 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ỷ chế độ bảo vệ <(các) thiết bị>.
- cancelTooLate : Rất tiếc, đã quá muộn để huỷ. Thay vào đó, 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.
- 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 <(các) thiết bị>.
- deadBattery : <device(s)> <has/have> <a deadBattery/deed pin>.
- 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ì đó.
- 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.
- 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 rồi thử lại.
- deviceHandleClosed : Tên người dùng đã đóng trên <(các) thiết bị>. Vui lòng mở và thử lại.
- deviceJammingDetected : <device(s)> <is/are> jammed.
- deviceLidOpen : Nắp đang mở trên <(các) thiết bị>. Vui lòng đóng nắp rồi thử lại.
- deviceNeedsRepair : <device(s)> <need(s)> to be repaired. 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 <thiết bị/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 <thiết bị/thiết bị>.
- 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>chưa sẵn sàng.
- 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 hoặc quá thấp.
- DirectResponseOnlyUnvisitable : <device(s)> < couldn't/don't> hỗ trợ điều khiển từ xa.
- disarmFailure : Không thể tắt báo động cho <(các) thiết bị>.
- discreteOnlyOpenClose : Rất tiếc, <device(s)> chỉ có thể mở hoặc đóng hết mức.
- dispenseAmountAboveLimit : <(các) thiết bị> không thể phân phối một lượng lớn như vậy.
- dispenseAmountBelowLimit : <(các) thiết bị> 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 việc đó.
- dispenseFractionalAmountNotSupported : <device(s)> không thể phân phối các phần của <dispense item>.
- dispenseFractionalUnitNotSupported : <device(s)> không hỗ trợ các phân số 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.
- 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>.
- floorUnreachable : <device(s)> không thể kết nối với phòng đó. Vui lòng chuyển <bài viết> đế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 bằng tên của mặt hàng đó.
- Lỗi cứng : 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.
- 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à của bạn.
- inAutoMode : <device(s)> <is/are> currently set to auto mode. Để thay đổi nhiệt độ, bạn cần chuyển <thiết bị> 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 <thiết bị> 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 <thiết bị> 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 <thiết bị> sang chế độ khác.
- inHeatOrCool : <device(s)> <is/are>không ở chế độ sưởi/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> currently off. To change the temperature, you'll need to switch <it/them> to a different mode.
- 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 <thiết bị> 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.
- keyFailure : Không khoá được <device(s)>.
- lockState : <device(s)> <is/are> hiện đang bị khoá.
- lockedToRange : 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.
- maxSettingReached : <device(s)> <is/are> đã được đặt thành chế độ cài đặt cao nhất.
- maxSpeedReached : <device(s)> <is/are> đã được đặt thành tốc độ tối đa.
- minSettingReached : <device(s)> <is/are> đã được đặt thành chế độ cài đặt thấp nhất.
- minSpeedReached : <device(s)> <is/are> đã được đặt thành tốc độ tối thiểu.
- theo dõiServiceConnectionMất : <device(s)> <has/have> đã mất kết nối <its/their> với dịch vụ giám sát.
- needsAttachment : Rất tiếc, có vẻ như <device(s)> <is/are> thiếu một tệp đính kèm 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 rác. Vui lòng thay pin rồi thử lại.
- needsPads : <device(s)> <need(s)> new pads.
- cầnSoftwareUpdate : <device(s)> <need(s)> một bản cập nhật phần mềm.
- needsWater : <device(s)> <need(s)> water.
- networkProfileNotRecognitiond : Rất tiếc, tôi không nhận ra "<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> không hoạt động.
- 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>.
- noTimerExist : Rất tiếc, có vẻ như bạn chưa đặt đồng hồ hẹn giờ nào trên <device(s)>.
- notSupported : Rất tiếc, chế độ đó không dùng được cho <device(s)>.
- obstructionDetected : <(các) thiết bị> đã phát hiện thấy một vật cản.
- offline , deviceOffline : Rất tiếc, có vẻ như <device(s)> <is/are>không hoạt động được lúc này.
- 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)
- Phát hiện thấy mưa : 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 <(các) thiết bị>. 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 Google Home hoặc Trợ lý để liên kết lại <device(s)>.
-
RemoteSetDisabled
:
- Tham số tuỳ chọn
errorCodeReason
currentlyArmed
– Rấ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.remoteUnlockNotAllowed
– Rất tiếc, tôi không thể mở khoá <(các) thiết bị> từ xa.remoteControlOff
– Thao 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.childSafetyModeActive
– Bạn không thực hiện được thao tác đó cho <(các) thiết bị> khi chế độ an toàn cho trẻ em đang hoạt động.
- Tham số tuỳ chọn
- 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.
- safetyShutOff : <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.
- sceneCannotBeApplied : Rất tiếc, không thể áp dụng <(các) thiết bị>.
- 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 <(các) thiết bị>.
- 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> 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, tôi không thể phát luồng dữ liệu từ <(các) thiết bị> tại thời điểm này.
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
- targetAvailableReached : 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 đó.
- tooManyFailedAttempts : Rất tiếc, bạn đã thử quá nhiều lần nhưng 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á <(các) thiết bị>.
- unpausableState : <device(s)> không thể tạm dừng ngay bây giờ.
- userCancelled : ok
- valueOutOfRange : Không thể đặt <device(s)> ở nhiệt độ đó.
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 (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 đặ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ề một exceptionCode
thích hợp (đối với thiết bị mục tiêu).
Ví dụ: nếu lưới lọc bụ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 pin của thiết bị yếu nhưng chưa hết, bạn vẫn có thể thực thi lệnh nhưng phải cho họ biết pin của thiết bị đang yếu.
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
.
Trường hợp ngoại lệ không chặn (THÀNH CÔNG) về thiết bị mục tiêu
Ví dụ này là để 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 (SUCCESS) về một thiết bị khác sử dụng StatusReport
Ví dụ này là để kích hoạt hệ thống an ninh: Ok, kích hoạ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" }] } }] } }
Chặn ngoại lệ về một thiết bị khác bằ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 được liên kết 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 <tên nhà>.
- deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
- deviceJammingDetected : <device(s)> <is/are> bị kẹt.
- deviceMoved : <device(s)> <was/were> moved.
- deviceOpen : <device(s)> <is/are> open.
- deviceTampred : <device(s)> <has/have> đã bị can thiệp.
- deviceUnplugged : <device(s)> <is/are> unplugged.
- floorUnreachable : <device(s)> không thể kết nối với phòng đó. Vui lòng đưa <thiết bị/thiết bị> đến đúng tầng rồi thử lại.
- hardwareFailure : <device(s)> <has/have> a hardware problem.
- 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.
- needsPads : <device(s)> <need(s)> new pads.
- cầnSoftwareUpdate : <device(s)> <need(s)> một bản cập nhật phần mềm.
- needsWater : <device(s)> <need(s)> water.
- 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.
- 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.
- runCycleFinish : <device(s)> <has/have> đã chạy xong.
- securityRestriction : <device(s)> <has/have> a security restriction.
- smokeDetected : Đã phát hiện thấy khói trong <tên nhà>.
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
- useCellularBackup : <device(s)> <is/are> đang dùng dịch vụ sao lưu qua mạng di động.
- waterLeakDetected : <device(s)> <detect(s)> a water leak.