Dokumen ini mencantumkan error dan pengecualian yang didukung secara resmi untuk perangkat smart home. Gunakan kode error dan pengecualian yang diberikan ini dalam respons intent, atau dalam notifikasi jika Anda telah mengimplementasikannya, sehingga Asisten Google memberi tahu pengguna akhir tentang masalah yang terkait dengan perintah atau status perangkat tertentu. Jika respons berisi pemformatan yang salah atau errorCode, Asisten Google akan memberikan pesan error umum kepada pengguna, misalnya, "Maaf, perangkat tidak tersedia saat ini".
Error
Anda harus menampilkan kode error saat terjadi masalah yang menyebabkan permintaan eksekusi atau kueri gagal. Misalnya, jika kunci pintu macet dan tidak dapat dikunci atau dibuka, error tentang status ini harus ditampilkan kepada pengguna.
Kode error dapat dilampirkan di tingkat perangkat atau di tingkat global. Misalnya, jika pengguna memiliki banyak lampu dari satu penyedia dan lampu tersebut dikontrol oleh hub, saat pengguna meminta untuk mematikan semua lampunya, penyedia dapat menampilkan error tingkat perangkat jika satu lampu offline, atau error tingkat global jika seluruh hub offline dan tidak ada lampu yang dapat dikontrol. Jika semua perangkat offline, tidak ada perbedaan antara penggunaan error tingkat global atau tingkat perangkat.
Rangkuman:
- Error tingkat global: semua perangkat dalam respons memiliki error yang sama
- Error tingkat lokal: respons campuran dengan kasus error dan berhasil
Error tingkat global
Cuplikan JSON berikut menunjukkan cara menampilkan error tingkat global dalam respons QUERY atau EXECUTE.
Contoh error tingkat global deviceOffline karena hub
offline:
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "errorCode": "deviceOffline", "status" : "ERROR" } }
Contoh error tingkat global inSoftwareUpdate karena hub sedang diupdate:
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "errorCode": "inSoftwareUpdate", "status" : "ERROR" } }
Error tingkat perangkat
Respons QUERY
Cuplikan JSON berikut menunjukkan cara menampilkan error tingkat perangkat dalam respons QUERY.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "devices": { "device-id-1": { "errorCode": "deviceOffline", "status" : "ERROR" }, "device-id-2": { "errorCode": "deviceOffline", "status" : "ERROR" } } } }
Respons EXECUTE
Cuplikan JSON berikut menunjukkan cara menampilkan error tingkat perangkat dalam respons 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 } } ] } }
Notifikasi dengan error
Notifikasi proaktif
Cuplikan JSON berikut menunjukkan cara melaporkan error tingkat perangkat dalam notifikasi proaktif.
{ "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" } } } } } }
Respons lanjutan
Cuplikan JSON berikut menunjukkan cara melaporkan error tingkat perangkat dalam respons tindak lanjut.
{ "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" } } } } } } }
Daftar kesalahan
Error berikut akan menghasilkan TTS terkait di perangkat.
- aboveMaximumLightEffectsDuration : Itu lebih dari durasi maksimum 1 jam. Coba lagi.
- aboveMaximumTimerDuration : Saya hanya bisa menyetel <device(s)> hingga <jangka waktu>
- actionNotAvailable : Maaf, sepertinya saat ini saya tidak bisa melakukan itu. Tips: Verifikasi karakteristik perangkat dan logika status saat ini dalam fulfillment Anda.
- actionUnavailableWhileRunning : <device(s)> sedang berjalan, jadi saya tidak dapat melakukan perubahan apa pun.
- alreadyArmed : <device(s)> sudah diaktifkan.
- alreadyAtMax : <perangkat> sudah disetel ke suhu maksimum.
- alreadyAtMin : <perangkat> sudah disetel ke suhu minimum.
- alreadyClosed : <device(s)> sudah ditutup.
- alreadyDisarmed : <device(s)> sudah dinonaktifkan.
- alreadyDocked : <device(s)> sudah terpasang di dok.
- alreadyInState : <device(s)> <is/are> sudah dalam status tersebut.
- alreadyLocked : <device(s)> sudah dikunci.
- alreadyOff : <device(s)> sudah nonaktif.
- alreadyOn : <device(s)> sudah aktif.
- alreadyOpen : <device(s)> sudah terbuka.
- alreadyPaused : <device(s)> sudah dijeda.
- alreadyStarted : <device(s)> sudah dimulai.
- alreadyStopped : <device(s)> sudah dihentikan.
- alreadyUnlocked : <device(s)> sudah dibuka kuncinya.
- ambiguousZoneName : Maaf, <perangkat> tidak dapat mengidentifikasi zona yang Anda maksud. Pastikan zona Anda memiliki nama yang unik, lalu coba lagi.
- amountAboveLimit : Jumlah itu melebihi kapasitas yang dapat didukung <perangkat>.
- appLaunchFailed : Maaf, gagal meluncurkan <nama aplikasi> di <perangkat>. Tips: Verifikasi appId dan pastikan aplikasi didukung di hardware target.
- armFailure : <perangkat> tidak dapat diaktifkan.
- armLevelNeeded : Saya tidak yakin mau menyetel <device(s)> ke level mana. Coba ucapkan "Setel <perangkat> ke <keamanan rendah>" atau "Setel <perangkat> ke <keamanan tinggi>"
- authFailure : Sepertinya saya tidak dapat menjangkau <device(s)>. Coba periksa aplikasi untuk memastikan <device/devices> Anda sudah <is/are> disiapkan sepenuhnya.
- bagFull : <device(s)> <has/have> <a full bag/full bags>. Kosongkan <it/them> dan coba lagi.
- belowMinimumLightEffectsDuration : Durasi tersebut kurang dari durasi minimum 5 menit. Coba lagi.
- belowMinimumTimerDuration : Saya tidak bisa menyetel <device(s)> untuk waktu yang sesingkat itu. Coba lagi.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- cancelArmingRestricted : Maaf, saya tidak bisa membatalkan pengaktifan <device(s)>.
- cancelTooLate : Maaf, sudah terlambat untuk membatalkan. Gunakan <perangkat> atau aplikasi sebagai gantinya.
- channelSwitchFailed : Maaf, gagal mengganti ke channel <nama channel>.Harap coba lagi nanti. Tips: Verifikasi nama/nomor channel dan status langganan untuk pengguna.
- chargerIssue : Maaf, sepertinya <device(s)> <has/have> <a charger issue/charger issues>. Tips: Partner harus menyelidiki telemetri tingkat hardware dan kesehatan baterai.
- commandInsertFailed : Tidak dapat memproses perintah untuk <perangkat>. Tips: Selidiki performa penulisan database atau logika antrean perintah internal.
- deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
- degreesOutOfRange : Derajat yang diminta berada di luar rentang untuk <perangkat>.
- deviceAlertNeedsAssistance : <device(s)> <has/have> notifikasi aktivitas aktif dan <need(s)> bantuan Anda.
- deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
- deviceBusy : Maaf, sepertinya <device(s)> sudah melakukan sesuatu saat ini.
- deviceCharging : Maaf, sepertinya <device(s)> tidak bisa melakukan itu karena sedang mengisi daya.
- deviceClogged : Maaf, sepertinya <perangkat> tersumbat.
- deviceCurrentlyDispensing : <device(s)> sudah mengeluarkan sesuatu saat ini.
- deviceDoorOpen : Pintu <device(s)> terbuka. Tutup pintu dan coba lagi.
- deviceHandleClosed : Gagang ditutup di <perangkat>. Buka dan coba lagi.
- deviceJammingDetected : <device(s)> mengalami gangguan.
- deviceLidOpen : Penutup <device(s)> terbuka. Tutup dan coba lagi.
- deviceNeedsRepair : <device(s)> perlu diperbaiki. Hubungi dealer servis setempat.
- deviceNotDocked : Maaf, sepertinya <device(s)> tidak dipasang ke dok. Silakan pasang <perangkat/perangkat tersebut> ke dok lalu coba lagi.
-
deviceNotFound
:
<device(s)> tidak tersedia. Sebaiknya coba siapkan <it/them> lagi. Tips: Pastikan backend Anda selalu menyinkronkan Home Graph. Panggil
requestSyncsetiap kali perangkat ditambahkan atau dihapus. - deviceNotMounted : Maaf, sepertinya <device(s)> tidak bisa melakukannya karena tidak dipasang.
- deviceNotReady : <device(s)> tidak siap.
- deviceStuck : <device(s)> macet dan memerlukan bantuan Anda.
- deviceTampered : <device(s)> telah dirusak.
- deviceThermalShutdown : Maaf, sepertinya <perangkat> mati karena suhunya ekstrem.
- directResponseOnlyUnreachable : <perangkat> tidak mendukung remote control.
- disarmFailure : <device(s)> tidak dapat dinonaktifkan.
- discreteOnlyOpenClose : Maaf, <device(s)> hanya dapat dibuka atau ditutup sepenuhnya.
- dispenseAmountAboveLimit : <perangkat> tidak dapat mengeluarkan dalam jumlah sebanyak itu.
- dispenseAmountBelowLimit : <perangkat> tidak bisa mengeluarkan dalam jumlah sesedikit itu.
- dispenseAmountRemainingExceeded : <perangkat> tidak memiliki cukup <item yang dikeluarkan> untuk melakukannya.
- dispenseFractionalUnitNotSupported : <device(s)> tidak mendukung unit pecahan satuan itu untuk <dispense item>.
- dispenseUnitNotSupported : <device(s)> tidak mendukung unit tersebut untuk <dispense item>.
- doorClosedTooLong : Pintu di <perangkat> sudah lama tidak dibuka. Silakan buka pintunya, pastikan ada sesuatu di dalamnya, lalu coba lagi.
- emergencyHeatOn : <device(s)> dalam Mode Sistem Pemanas Darurat, jadi <it/they> harus disesuaikan secara manual.
- faultyBattery : <device(s)> <has/have> <a faulty battery/faulty batteries>.
- floorUnreachable : <device(s)> tidak dapat menjangkau ruangan itu. Silakan pindahkan <it/them> ke lantai yang benar lalu coba lagi.
- functionNotSupported : Maaf, <device(s)> tidak mendukung fungsi itu. Tips: Pastikan respons SYNC Anda mencerminkan kemampuan perangkat secara akurat.
- genericDispenseNotSupported : Saya perlu tahu apa yang ingin Anda keluarkan. Coba lagi dengan nama itemnya.
- hardError : Maaf, terjadi error dan saya tidak bisa mengontrol perangkat smart home Anda.
- hardError : Maaf, terjadi error dan saya tidak bisa mengontrol perangkat smart home Anda.
- inAutoMode : <device(s)> saat ini disetel ke mode otomatis. Untuk mengubah suhu, Anda harus mengalihkan <it/them> ke mode lain.
- inAwayMode : <device(s)> saat ini disetel ke mode pergi. Untuk mengontrol termostat, Anda harus beralih ke mode di rumah secara manual menggunakan aplikasi Nest di ponsel, tablet, atau komputer.
- inDryMode : <perangkat> saat ini disetel ke mode kering. Untuk mengubah suhu, Anda harus mengalihkan <it/them> ke mode lain.
- inEcoMode : <device(s)> saat ini disetel ke mode hemat energi. Untuk mengubah suhu, Anda harus mengalihkan <it/them> ke mode lain.
- inFanOnlyMode : <perangkat> saat ini disetel ke mode khusus kipas. Untuk mengubah suhu, Anda harus mengalihkan <it/them> ke mode lain.
- inHeatOrCool : <device(s)> tidak dalam mode hangat/sejuk.
- inHumidifierMode : <perangkat> saat ini disetel ke mode pelembap udara. Untuk mengubah suhu, Anda harus mengalihkan <it/them> ke mode lain.
- inOffMode : <device(s)> saat ini nonaktif. Untuk mengubah suhu, Anda harus mengalihkannya ke mode lain.
- inPurifierMode : <perangkat> saat ini disetel ke mode pemurni. Untuk mengubah suhu, Anda harus mengalihkan <it/them> ke mode lain.
- inSleepMode : <device(s)> <is/are> dalam mode tidur. Coba lagi nanti.
- inSoftwareUpdate : <device(s)> sedang dalam proses update software.
- lockFailure : <device(s)> tidak dapat dikunci. Tips: Selidiki kemacetan fisik, daya rendah, atau kegagalan motor pada hardware smart lock.
- lockedState : <device(s)> saat ini terkunci.
- lockedToRange : Suhu tersebut berada di luar rentang yang dikunci di <perangkat>.
- lowBattery : <device(s)> <has/have> low battery.
- maxSettingReached : <device(s)> sudah disetel ke setelan tertinggi.
- maxSpeedReached : <device(s)> sudah disetel ke kecepatan maksimum.
- minSettingReached : <device(s)> sudah disetel ke setelan terendah.
- minSpeedReached : <device(s)> sudah disetel ke kecepatan minimum.
- monitoringServiceConnectionLost : <device(s)> <has/have> kehilangan koneksi ke layanan pemantauan.
- needsAttachment : Maaf, sepertinya <device(s)> tidak memiliki perlengkapan yang diperlukan. Silakan ganti lalu coba lagi.
- needsBin : Maaf, sepertinya <device(s)> tidak punya tempat sampah. Silakan ganti lalu coba lagi.
- needsPads : <device(s)> <need(s)> bantalan baru.
- needsSoftwareUpdate : <device(s)> memerlukan update software.
- needsWater : <device(s)> perlu disiram.
- networkProfileNotRecognized : Maaf, saya tidak mengenali "<network profile>" di <device(s)>. Tips: Pastikan string nama profil cocok dengan profil yang didukung dalam respons SYNC.
- networkSpeedTestInProgress : Saya sudah menguji <kecepatan> <jaringan>.
- noAvailableApp : Maaf, sepertinya <app name> tidak tersedia.
- noAvailableChannel : Maaf, sepertinya channel <channel name> tidak tersedia.
- noChannelSubscription : Maaf, saat ini Anda belum berlangganan ke channel <nama channel>.
- noTimerExists : Maaf, sepertinya tidak ada timer yang disetel di <device(s)>.
- notSupported : Maaf, mode tersebut tidak tersedia untuk <perangkat>.
- obstructionDetected : <perangkat> mendeteksi penghalang.
- offline , deviceOffline : Maaf, sepertinya <device(s)> tidak tersedia saat ini.
- onRequiresMode : Tentukan mode yang ingin Anda aktifkan.
- passphraseIncorrect : Maaf, sepertinya PIN yang dimasukkan salah.
- percentOutOfRange : Maaf, saya tidak bisa menyetel <device(s)> ke <percent>.
- pinIncorrect : (passphraseIncorrect)
- rainDetected : Saya tidak membuka <device(s)> karena terdeteksi hujan.
- rangeTooClose : Rentang tersebut terlalu dekat untuk rentang Hangat-Sejuk untuk <device(s)>. Pilih suhu yang lebih jauh.
- relinkRequired : Maaf, sepertinya ada masalah dengan akun Anda. Gunakan Aplikasi Google Home atau Asisten untuk menautkan kembali <perangkat>. Tips: Pastikan server Anda menampilkan kode ini saat token refresh tidak valid secara permanen.
-
remoteSetDisabled
:
- Parameter opsional
errorCodeReason currentlyArmed- Maaf, karena sistem keamanan sudah diaktifkan, Anda harus menggunakan <perangkat> atau aplikasi untuk melakukan perubahan apa pun.remoteUnlockNotAllowed- Maaf, saya tidak bisa membuka kunci <perangkat> dari jarak jauh.remoteControlOff- Saat ini tindakan itu dinonaktifkan. Aktifkan remote control di <perangkat>, lalu coba lagi.childSafetyModeActive- Tindakan itu dinonaktifkan untuk <perangkat> saat mode keselamatan anak sedang aktif.
- Parameter opsional
- roomsOnDifferentFloors : <perangkat> tidak bisa menjangkau ruangan itu karena lantainya berbeda.
- safetyShutOff : <device(s)> dalam Mode Penghentian Otomatis demi Keamanan, jadi <it/they> harus disesuaikan secara manual.
- sceneCannotBeApplied : Maaf, <device(s)> tidak dapat diterapkan. Tips: Periksa kondisi internal tampilan pengguna di cloud partner.
- securityRestriction : <perangkat> memiliki batasan keamanan.
- softwareUpdateNotAvailable : Maaf, tidak ada update software yang tersedia di <device(s)>.
- startRequiresTime : Untuk melakukannya, Anda perlu memberi tahu saya berapa lama Anda mau menggunakan <device(s)>.
- stillCoolingDown : <device(s)> masih mendinginkan suhu.
- stillWarmingUp : <device(s)> masih melakukan pemanasan.
- streamUnavailable : Maaf, sepertinya streaming saat ini tidak tersedia dari <device(s)>.
- streamUnplayable : Maaf, saat ini saya tidak bisa memutar streaming dari <device(s)>. Tips: Verifikasi sinyal WebRTC/HLS dan pastikan URL streaming valid.
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
- targetAlreadyReached : Maaf, sepertinya suhu saat ini sudah sesuai.
- timerValueOutOfRange : <perangkat> tidak dapat disetel untuk durasi waktu tersebut.
- tooManyFailedAttempts : Maaf, terlalu banyak upaya yang gagal. Buka aplikasi perangkat Anda untuk menyelesaikan tindakan tersebut.
- transientError : Maaf, terjadi error saat mengontrol <device(s)>. Coba lagi. Tips: Biasanya, error ini muncul sebagai koneksi ke perangkat atau layanan yang terputus. Juga jika koneksi baru ke server tidak dapat dibuka.
- turnedOff , deviceTurnedOff : <device(s)> <is/are> off right now.
- unableToLocateDevice : Saya tidak dapat menemukan <device(s)>. Tips: Periksa konektivitas lokal perangkat (Wi-Fi/Bluetooth).
- unknownFoodPreset : <device(s)> tidak mendukung preset makanan itu.
- unlockFailure : <perangkat> tidak dapat dibuka kuncinya. Tips: Selidiki kemacetan hardware, baterai lemah, atau entri PIN yang tidak valid.
- unpausableState : <device(s)> tidak dapat dijeda saat ini.
- userCancelled : ok
- valueOutOfRange : <device(s)> tidak dapat disetel ke suhu tersebut.
Pelaporan status online dan offline
Saat perangkat offline, Anda harus melaporkan <code{"online": code="" dir="ltr" false}<="" translate="no"> ke Status Laporan dalam waktu lima menit setelah perilaku perangkat. Sebaliknya, saat perangkat kembali ke status online, Anda harus melaporkan <code{"online": code="" dir="ltr" translate="no" true}<=""> ke Laporkan Status dalam waktu lima menit setelah perilaku perangkat. Setiap kali perangkat kembali online, partner harus melaporkan semua status perangkat saat ini menggunakanreportStateAndNotification API.
Contoh ini menunjukkan bahwa jenis perangkat light sedang online, dan melaporkan
semua status perangkat saat ini.
"requestId": "test-request-id",
"agentUserId": "agent-user-1",
"payload":{
"devices": {
"states": {
"device-id-1": {
"brightness": 65,
"on": true,
"online": true
}
"notifications": {},
}
}
}Pengecualian
Anda harus menampilkan pengecualian saat ada masalah atau pemberitahuan yang terkait dengan perintah. Perintah dapat berhasil atau gagal.
Jika perintah berhasil (status = "SUCCESS"), laporkan pengecualian
menggunakan karakteristik StatusReport (untuk perangkat selain target),
atau dengan menampilkan exceptionCode yang sesuai (untuk perangkat target).
Misalnya, jika saringan serat pengering penuh, pengguna masih dapat memulai pengering, tetapi Anda mungkin ingin memperingatkan mereka tentang status ini. Demikian pula, saat perangkat memiliki baterai lemah yang tidak kosong, Anda masih dapat menjalankan perintah, tetapi harus memberi tahu pengguna bahwa baterai perangkat lemah.
Jika perintah gagal karena pengecualian, statusnya harus "EXCEPTIONS",
dan pengecualian harus dilaporkan menggunakan karakteristik StatusReport.
Pengecualian yang tidak memblokir (SUCCESS) tentang perangkat target
Contoh ini adalah untuk mengunci pintu:
Daya baterai smart lock pintu depan lemah. Mengunci pintu depan.
{ "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" } }] } }
Pengecualian yang tidak memblokir (SUCCESS) tentang perangkat lain yang menggunakan StatusReport
Contoh ini adalah untuk mengaktifkan sistem keamanan: Oke, mengaktifkan sistem keamanan. Jendela depan terbuka.
{ "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" }] } }] } }
Pengecualian pemblokiran terkait perangkat lain yang menggunakan 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" } ] } } } }
Daftar pengecualian
Pengecualian berikut akan menghasilkan TTS terkait di perangkat.
- bagFull : <device(s)> <has/have> <a full bag/full bags>. Kosongkan <it/them> dan coba lagi.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- carbonMonoxideDetected : Karbon monoksida terdeteksi di <nama rumah>.
- deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
- deviceJammingDetected : <device(s)> mengalami gangguan.
- deviceMoved : <device(s)> dipindahkan.
- deviceOpen : <device(s)> terbuka.
- deviceTampered : <device(s)> telah dirusak.
- deviceUnplugged : <device(s)> <is/are> unplugged.
- floorUnreachable : <device(s)> tidak dapat menjangkau ruangan itu. Silakan pindahkan <it/them> ke lantai yang benar lalu coba lagi.
- hardwareFailure : <device(s)> <has/have> mengalami masalah hardware.
- inSoftwareUpdate : <device(s)> sedang dalam proses update software.
- isBypassed : <device(s)> saat ini dilewati.
- lowBattery : <device(s)> <has/have> low battery.
- motionDetected : <perangkat> mendeteksi gerakan.
- needsPads : <device(s)> <need(s)> bantalan baru.
- needsSoftwareUpdate : <device(s)> memerlukan update software.
- needsWater : <device(s)> perlu disiram.
- networkJammingDetected : koneksi jaringan rumah ke <perangkat> tidak berfungsi dengan benar.
- noIssuesReported : <device(s)> tidak melaporkan masalah.
- roomsOnDifferentFloors : <device(s)> tidak bisa menjangkau ruangan itu karena lantainya berbeda.
- runCycleFinished : <device(s)> telah selesai berjalan.
- securityRestriction : <perangkat> memiliki batasan keamanan.
- smokeDetected : Asap terdeteksi di <nama rumah>.
- tankEmpty : <device(s)> <has/have> <an empty tank/empty tanks>. Please fill <it/them> and try again.
- usingCellularBackup : <device(s)> menggunakan pencadangan seluler.
- waterLeakDetected : <device(s)> <detect(s)> kebocoran air.