Selamat datang di Pusat Developer Google Home, tujuan baru untuk mempelajari cara mengembangkan tindakan smart home. Catatan: Anda akan terus membuat tindakan di konsol Actions.

Error dan pengecualian

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Dokumen ini berisi daftar 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 terkait perintah atau status perangkat tertentu. Jika respons berisi format yang salah atau errorCode, Asisten Google akan memberi pengguna pesan error umum, misalnya, "Maaf, perangkat tidak tersedia saat ini".

Error

Anda harus menampilkan kode error saat masalah menyebabkan permintaan eksekusi atau kueri gagal. Misalnya, jika kunci pintu macet dan tidak dapat dikunci atau tidak terkunci, error tentang status ini akan ditampilkan kepada pengguna.

Kode error dapat dilampirkan di tingkat perangkat atau di tingkat global. Misalnya, jika pengguna memiliki banyak lampu dari satu penyedia dan dikontrol oleh hub, saat pengguna meminta untuk mematikan semua lampunya, penyedia dapat menampilkan error tingkat perangkat jika satu lampu sedang offline, atau error tingkat global jika seluruh hubnya sedang offline dan tidak ada lampu yang dapat dikontrol. Jika semua perangkat offline, tidak ada perbedaan antara penggunaan error tingkat global atau tingkat perangkat. Saat perangkat sedang offline, Anda harus melaporkan status {"online": false} di reportState meskipun Anda menampilkan kode error deviceOffline.

Ringkasan:

  • Error tingkat global: semua perangkat dalam respons memiliki error yang sama
  • Error tingkat lokal: respons campuran dengan error dan kasus sukses

Error tingkat global

Cuplikan JSON berikut menunjukkan cara Anda menampilkan error tingkat global dalam respons QUERY atau EXECUTE.

Contoh error tingkat global deviceOffline karena hub bersifat offline:

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

Contoh error tingkat global inSoftwareUpdate karena hub diperbarui:

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

Error tingkat perangkat

Respons QUERY

Cuplikan JSON berikut ini menunjukkan cara Anda 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"
      }
    }
  }
}

EXECUTE respons

Cuplikan JSON berikut ini menunjukkan cara Anda 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 Anda 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 tindak lanjut

Cuplikan JSON berikut ini menunjukkan cara Anda melaporkan error tingkat perangkat dalam 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 pada perangkat.

  • abovemaksimalLightEffectsDuration : Artinya lebih dari durasi maksimum 1 jam. Harap coba lagi.
  • aboveMaxTimerDuration : Saya hanya dapat menyetel <device(s)> hingga <time period>
  • actionNotAvailable : Maaf, sepertinya saat ini saya tidak bisa melakukannya.
  • actionAvailableWhileRunning : <device(s)> <is/are> sedang berjalan, jadi saya tidak bisa membuat perubahan apa pun.
  • alreadyArmed : <device(s)> <is/are> sudah diaktifkan.
  • alreadyAtMax : <device(s)> <is/are> sudah disetel ke suhu maksimum.
  • AtAtMin : <device(s)> <is/are> sudah disetel ke suhu minimum.
  • alreadyClosed : <device(s)> <is/are> sudah ditutup.
  • sudahDinonaktifkan : <device(s)> <is/are> sudah dinonaktifkan.
  • alreadyDocked : <device(s)> <is/are> sudah dikaitkan.
  • alreadyInState : <device(s)> <is/are> sudah dalam status tersebut.
  • sudah Terkunci : <device(s)> <is/are> sudah dikunci.
  • alreadyOff : <device(s)> <is/are> sudah nonaktif.
  • Pengaktifan : <device(s)> <is/are> sudah aktif.
  • alreadyOpen : <device(s)> <is/are> sudah terbuka.
  • alreadyPaused : <device(s)> <is/are> sudah dijeda.
  • alreadyStart : <device(s)> <is/are> sudah dimulai.
  • alreadyStop : <device(s)> <is/are> sudah dihentikan.
  • already Unlock : <device(s)> <is/are> sudah dibuka.
  • ZoneZoneName : Maaf, <device(s)> tidak dapat mengidentifikasi zona mana yang Anda maksud. Pastikan zona Anda memiliki nama unik dan coba lagi.
  • amountAboveLimit : Jumlah itu lebih dari yang bisa didukung oleh <device(s)>.
  • appLaunchFailed : Maaf, gagal meluncurkan <nama aplikasi> di <perangkat(s)>.
  • armFailure : <device(s)> tidak dapat diaktifkan.
  • armLevelNeeded : Saya tidak yakin level mana yang akan disetel <device(s)>. Coba ucapkan "Setel <perangkat> ke <keamanan rendah>" atau "Setel <perangkat> ke <keamanan tinggi>"
  • authFailure : Sepertinya saya tidak bisa menjangkau <device(s)>. Coba periksa aplikasi untuk memastikan perangkat <is/are> Anda sudah siap sepenuhnya.
  • bagFull : <device(s)> <has/have> <a full bag/fullbag>. Hapus <it/HAS> dan coba lagi.
  • di bawahMinimumLightEffectsDuration : Kurang dari durasi minimum 5 menit. Harap coba lagi.
  • di bawahMinimumTimerDuration : Saya tidak dapat menyetel <device(s)> dalam waktu sesingkat itu. Harap coba lagi.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • cancelArmingRestricted : Maaf, saya tidak dapat membatalkan pengaktifan <device(s)>.
  • cancelTooLate : Maaf, sudah terlambat untuk membatalkannya. Gunakan <perangkat(s)> atau aplikasi sebagai gantinya.
  • channelSwitchFailed : Maaf, gagal beralih ke saluran <nama saluran>. Coba lagi nanti.
  • pengisi dayaMasalah : Maaf, sepertinya <perangkat(>)> <has/have> <masalah pengisi daya/masalah pengisi daya>.
  • commandInsertFailed : Tidak dapat memproses perintah untuk <device(s)>.
  • deadBattery : <perangkat(>)> <has/have> <baterai mati/baterai mati>.
  • derajatOutOfRange : Derajat yang diminta berada di luar rentang untuk <device(s)>.
  • deviceAlertNeedAssistance : <device(s)> <has/have> a active alert dan <need(s)> help Anda.
  • deviceAtExtremeTemperature : <device(s)> <is/are> pada <suhu ekstrem/suhu ekstrem>.
  • deviceBusy : Maaf, sepertinya <device(s)> sudah melakukan sesuatu saat ini.
  • deviceCharging : Maaf, sepertinya <device(s)> tidak dapat melakukannya karena (ha_shared.ItsThatre size=$item.devices.total_device_count) mengisi daya.
  • deviceCblocked: Maaf, sepertinya <device(s)> tersumbat.
  • deviceCurrentDispensing : <device(s)> sudah mengeluarkan sesuatu saat ini.
  • deviceDoorOpen : Pintu terbuka di <device(s)>. Silakan ditutup dan coba lagi.
  • deviceHandleClosed : Handle ditutup di <device(s)>. Buka dan coba lagi.
  • deviceJammingDetect : <device(s)> <is/are> macet.
  • deviceLidOpen : Penutupnya terbuka di <device(s)>. Silakan tutup lalu coba lagi.
  • deviceDeviceRepair : <device(s)> <need(s)> untuk diperbaiki. Hubungi dealer reparasi lokal Anda.
  • deviceNotDocked : Maaf, sepertinya <device(s)> <isn't/aren't> docked. Silakan dipasangkan <it/mereka> dan coba lagi.
  • deviceNotFound : <device(s)> <is/are>tidak tersedia. Sebaiknya coba siapkan <it/mereka> lagi.
  • deviceNotMounted : Maaf, sepertinya <device(s)> tidak dapat melakukannya karena <it/that> <is/are>tidak dipasang.
  • deviceNotReady : <device(s)> <is/are>belum siap.
  • deviceStuck : <device(s)> <is/are> macet dan perlu bantuan Anda.
  • deviceTampered : <device(s)> <has/have> telah dirusak.
  • deviceThermalShutdown : Maaf, sepertinya <device(s)> mati karena suhu ekstrem.
  • directResponseOnlyUnreachable : <device(s)> <does not/don't support remote control.
  • diarmarmFailure : <device(s)> tidak dapat dinonaktifkan.
  • discreteOnlyOpenClose : Maaf, <device(s)> hanya bisa dibuka atau ditutup total.
  • dispenseAmountAboveLimit : <device(s)> tidak dapat mengeluarkan dalam jumlah sebanyak itu.
  • dispenseAmountUnderLimit : <device(s)> tidak dapat mengeluarkan dalam jumlah sesedikit itu.
  • dispenseAmountRemainingexceeded : <device(s)> tidak memiliki cukup <dispense item> untuk melakukannya.
  • dispenseFracrationAmountNotSupported : <device(s)> tidak dapat mengeluarkan pecahan <item disp>>.
  • dispenseFracionalUnitNotSupported : <device(s)> tidak mendukung pecahan dari unit tersebut untuk <dispense item>.
  • dispenseUnitNotSupported : <device(s)> tidak mendukung unit tersebut untuk <dispense item>.
  • pintuClosedTooLong : Sudah lama sejak pintu di <device(s)> dibuka. Silakan buka pintunya, pastikan ada sesuatu di dalamnya, lalu coba lagi.
  • daruratHeatOn : <perangkat(>)> <is/are> dalam Mode Sistem Pemanas Darurat, jadi <it/perangkat> harus disesuaikan secara manual.
  • faultyBattery : <perangkat(>)> <has/have> <a baterai rusak/baterai rusak>.
  • lantai Unreachable : <device(s)> tidak dapat menjangkau ruangan tersebut. Pindahkan <it/mereka> ke lantai yang benar lalu coba lagi.
  • functionNotSupported : Sebenarnya, <device(s)> <does't/dont> mendukung fungsi tersebut.
  • generikDispenseNotSupported : Saya ingin tahu apa yang ingin Anda keluarkan. Coba lagi dengan nama item.
  • hardError : Maaf, terjadi masalah dan saya tidak dapat mengontrol perangkat rumah Anda.
  • hardError : Maaf, terjadi masalah dan saya tidak dapat mengontrol perangkat rumah Anda.
  • inAutoMode : <device(s)> <is/are> saat ini disetel ke mode otomatis. Untuk mengubah suhu, Anda harus mengalihkan <it/mereka> ke mode lain.
  • inAwayMode : <device(s)> <is/are> saat ini disetel ke mode pergi. Untuk mengontrol termostat, Anda harus mengalihkannya ke mode di rumah secara manual menggunakan aplikasi Nest di ponsel, tablet, atau komputer.
  • inDryMode : <device(s)> <is/are> saat ini disetel ke mode kering. Untuk mengubah suhu, Anda harus mengalihkan <it/mereka> ke mode lain.
  • inEcoMode : <device(s)> <is/are> saat ini disetel ke mode hemat energi. Untuk mengubah suhu, Anda harus mengalihkan <it/mereka> ke mode lain.
  • inFanOnlyMode : <device(s)> <is/are> saat ini disetel ke mode kipas saja. Untuk mengubah suhu, Anda harus mengalihkan <it/mereka> ke mode lain.
  • inHeatOrCool : <device(s)> <is/are>tidak dalam mode hangat/sejuk.
  • inHumidifierMode : <device(s)> <is/are> saat ini disetel ke mode pelembab udara. Untuk mengubah suhu, Anda harus mengalihkan <it/mereka> ke mode lain.
  • inOffMode : <device(s)> <is/are> saat ini nonaktif. Untuk mengubah suhu, Anda perlu mengalihkan <it/mereka> ke mode lain.
  • inPurifierMode : <device(s)> <is/are> saat ini disetel ke mode purifier. Untuk mengubah suhu, Anda harus mengalihkan <it/mereka> ke mode lain.
  • inSleepMode : <device(s)> <is/are> dalam mode tidur. Coba lagi nanti.
  • inSoftwareUpdate : <device(s)> <is/are> sedang dalam update software.
  • LockFailure : <device(s)> tidak dapat dikunci.
  • lockState : <device(s)> <is/are> terkunci saat ini.
  • lockToRange : Suhu tersebut berada di luar rentang yang dikunci di <device(s)>.
  • baterai rendah : <perangkat(>)> <memiliki/memiliki> baterai lemah.
  • maxSettingReached : <device(s)> <is/are> sudah ditetapkan ke setelan tertinggi.
  • maxSpeedReached : <device(s)> <is/are> sudah disetel ke kecepatan maksimum.
  • minSettingReached : <device(s)> <is/are> sudah disetel ke setelan terendah.
  • minSpeedReached : <device(s)> <is/are> sudah disetel ke kecepatan minimum.
  • pemantauanServiceConnectionLost : <device(s)> <has/have> kehilangan <its/mereka> koneksi ke layanan pemantauan.
  • lampiran : Maaf, sepertinya <device(s)> <is/are> tidak memiliki lampiran yang diperlukan. Silakan ganti lalu coba lagi.
  • neededBin : Maaf, sepertinya <device(s)> <is/are> tidak memiliki tempat sampah. Silakan ganti lalu coba lagi.
  • needPads : <device(s)> <need(s)> new pad.
  • softwareSoftware : <device(s)> <need(s)> update software.
  • needed Water : <device(s)> <need(s)> water.
  • networkProfileNotRecognized : Maaf, saya tidak mengenali "<network profile>" di <device(s)>.
  • networkSpeedTestInProgress : Saya sudah menguji <network> <speed/speeds>>.
  • noAvailableApp : Maaf, sepertinya <nama aplikasi> tidak tersedia.
  • noAvailableChannel : Maaf, sepertinya channel <nama channel> tidak tersedia.
  • noChannelSubscription : Saat ini, Anda belum subscribe ke <channel name> channel.
  • noTimerExists : Maaf, sepertinya tidak ada timer yang disetel di <device(s)>.
  • notSupported : Maaf, mode tersebut tidak tersedia untuk <device(s)>.
  • penghalang yang terdeteksi : <device(s)> mendeteksi penghalang.
  • offline , deviceOffline : Maaf, sepertinya <device(s)> <is/are>tidak tersedia saat ini.
  • onRequiresMode : Tentukan mode yang ingin diaktifkan.
  • Frasa sandi salah : Maaf, tampaknya PIN tersebut salah.
  • percentOutOfRange : Maaf, saya tidak dapat menyetel <device(s)> ke <percent>.
  • pinSalah : (passphraseFalse)
  • hujanterdeteksi : Saya tidak membuka <perangkat> karena hujan terdeteksi.
  • rangeTooClose : Karena terlalu dekat untuk rentang Hangat-Sejuk untuk <perangkat>>. Pilih suhu yang rentangnya lebih jauh.
  • relinkRequired : Maaf, sepertinya ada masalah dengan akun Anda. Harap gunakan Aplikasi Google Home atau Asisten untuk menautkan kembali <perangkat>.
  • remoteSetDisabled :
    • Parameter opsional errorCodeReason
    • currentlyArmed - Maaf, karena sistem keamanan sudah diaktifkan, Anda harus menggunakan <device(s)> atau aplikasi untuk melakukan perubahan apa pun.
    • remoteUnlockNotAllowed - Maaf, saya tidak dapat membuka kunci <perangkat(>)> dari jarak jauh.
    • remoteControlOff - Tindakan tersebut saat ini dinonaktifkan. Aktifkan remote control di <perangkat>, lalu coba lagi.
    • childSafetyModeActive - Tindakan tersebut dinonaktifkan untuk <device(s)> saat mode keselamatan anak sedang aktif.
  • roomOnDifferenceFloors : <device(s)> tidak dapat menjangkau ruang tersebut karena lantainya berbeda.
  • safetyShutOff : <device(s)> <is/are> dalam Mode Mati Aman, jadi <it/mereka> harus disesuaikan secara manual.
  • sceneSceneBeBeApplied : Maaf, <device(s)> tidak dapat diterapkan.
  • securityRestriction : <device(s)> <has/have> pembatasan keamanan.
  • softwareUpdateNotAvailable : Maaf, tidak ada pembaruan perangkat lunak yang tersedia di <device(s)>.
  • startRequiresTime : Untuk melakukannya, beri tahu saya berapa lama Anda ingin menjalankan <device(s)>.
  • StillCoolingDown : <device(s)> <is/are> masih dalam proses pendinginan.
  • StillWarmingUp : <device(s)> <is/are> masih melakukan pemanasan.
  • streamavailable : Maaf, sepertinya streaming dari <device> belum tersedia>.
  • streamingUnplayable : Maaf, saya tidak dapat memutar streaming dari <device(s)> saat ini.
  • tankEmpty : <device(s)> <has/have> <an empty tank/empty tank>. Isi <it/mereka> dan coba lagi.
  • targetTargetReached : Maaf, sepertinya suhu saat ini sudah sama.
  • timerValueOutOfRange : <device(s)> tidak dapat disetel selama jangka waktu tersebut.
  • TooManyFailedTests : Maaf, terlalu banyak upaya yang gagal. Buka aplikasi perangkat Anda untuk menyelesaikan tindakan tersebut.
  • transientError : Maaf, terjadi masalah saat mengontrol <device(s)>. Coba lagi.
  • turned , deviceTurnedOff : <device(s)> <is/are> nonaktif sekarang.
  • tidak dapat menemukan Lokasi : Saya tidak dapat menemukan <perangkat>>.
  • UnknownFoodPreset : <device(s)> tidak mendukung preset makanan tersebut.
  • unlockFailure : <device(s)> tidak dapat dibuka kuncinya.
  • unpausableState : <device(s)> tidak dapat dijeda saat ini.
  • userCancelled : oke
  • valueOutOfRange : <device(s)> tidak dapat ditetapkan ke suhu tersebut.

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 fitur StatusReport (untuk perangkat selain target), atau dengan menampilkan exceptionCode yang sesuai (untuk perangkat target).

Misalnya, jika layar lint pengering penuh, pengguna masih dapat memulai pengering, tetapi Anda mungkin ingin memperingatkan pengguna tentang status ini. Demikian pula, saat perangkat memiliki baterai lemah yang tidak kosong, Anda tetap dapat mengeksekusi perintah tetapi harus memberi tahu baterai yang lemah.

Jika perintah gagal karena pengecualian, statusnya harus "EXCEPTIONS", dan pengecualian harus dilaporkan menggunakan fitur StatusReport.

Pengecualian non-pemblokiran (SUCCESS) tentang perangkat target

Contoh ini untuk mengunci pintu:

Baterai pintu depan hampir habis. 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 non-pemblokiran (SUCCESS) tentang perangkat lain menggunakan StatusLaporan

Contoh ini 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"
        }]
      }
    }]
  }
}

Memblokir pengecualian tentang perangkat lain 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 pada perangkat.

  • bagFull : <device(s)> <has/have> <a full bag/fullbag>. Hapus <it/HAS> dan coba lagi.
  • binFull : <device(s)> <has/have> <a full bin/full bins>.
  • karbonMonoxideTerdeteksi : karbon monoksida terdeteksi di <nama rumah>.
  • deviceAtExtremeTemperature : <device(s)> <is/are> pada <suhu ekstrem/suhu ekstrem>.
  • deviceJammingDetect : <device(s)> <is/are> macet.
  • devicemove : <device(s)> <was/were> dipindahkan.
  • perangkatOpen : <device(s)> <is/are> open.
  • deviceTampered : <device(s)> <has/have> telah dirusak.
  • deviceUnplugged : <device(s)> <is/are> dicabut.
  • lantai Unreachable : <device(s)> tidak dapat menjangkau ruangan tersebut. Pindahkan <it/mereka> ke lantai yang benar lalu coba lagi.
  • HardwareFailure : <device(s)> <has/have> masalah hardware.
  • inSoftwareUpdate : <device(s)> <is/are> sedang dalam update software.
  • isDiabaikan : <device(s)> <is/are> saat ini diabaikan.
  • baterai rendah : <perangkat(>)> <memiliki/memiliki> baterai lemah.
  • Motiondetect : Gerakan <device(s)> <detect(s)>.
  • needPads : <device(s)> <need(s)> new pad.
  • softwareSoftware : <device(s)> <need(s)> update software.
  • needed Water : <device(s)> <need(s)> water.
  • networkJammingDetect : koneksi jaringan rumah ke <device(s)> tidak berfungsi dengan benar.
  • noIssuesReports : <device(s)> melaporkan tidak ada masalah.
  • roomOnDifferenceFloors : <device(s)> tidak dapat menjangkau ruang tersebut karena lantainya berbeda.
  • runCycleFinished : <device(s)> <has/have> completed running.
  • securityRestriction : <device(s)> <has/have> pembatasan keamanan.
  • asapterdeteksi : Asap telah terdeteksi di <nama rumah>.
  • tankEmpty : <device(s)> <has/have> <an empty tank/empty tank>. Isi <it/mereka> dan coba lagi.
  • menggunakanCellularPencadangan : <device(s)> <is/are> menggunakan pencadangan seluler.
  • waterLeakTerdeteksi : <device(s)> <detect(s)> kebocoran air.