Error dan pengecualian

Dokumen ini mencantumkan error dan pengecualian yang didukung secara resmi untuk perangkat smart home. Gunakan kode error dan pengecualian yang diberikan ini dalam intent respons, atau dalam notifikasi jika Anda telah menerapkannya, jadi Asisten Google akan memberi tahu pengguna akhir tentang masalah yang terkait dengan perintah atau status perangkat tertentu. Jika respons berisi format yang salah atau errorCode, Asisten Google memberikan pesan error umum kepada pengguna, misalnya, "Maaf, perangkat tidak tersedia saat ini".

Error

Anda harus mengembalikan kode {i>error<i} ketika masalah menyebabkan {i>eksekusi <i}atau permintaan kueri gagal. Misalnya, jika kunci pintu macet dan tidak dapat dikunci atau tidak dikunci, 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 mereka dikendalikan oleh sebuah hub, ketika pengguna meminta untuk mematikan semua lampu, penyedia dapat mengembalikan kesalahan tingkat perangkat jika satu lampu sedang offline, atau kesalahan tingkat global jika seluruh hub mereka {i>offline<i} dan tidak ada lampu yang dapat dikontrol. Jika semua perangkat sedang offline, tidak ada perbedaan antara menggunakan level global atau level perangkat yang sama. Saat perangkat sedang offline, Anda harus melaporkan status {"online": false} di reportState meskipun Anda menampilkan Kode error deviceOffline.

Rangkuman:

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

Error tingkat global

Cuplikan JSON berikut menunjukkan cara menampilkan error tingkat global di QUERY atau EXECUTE.

Contoh error tingkat global deviceOffline karena hub adalah offline:

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

Contoh error tingkat global inSoftwareUpdate karena hub adalah memperbarui:

{
  "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 di bagian QUERY.

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "devices": {
      "device-id-1": {
        "errorCode": "deviceOffline",
        "status" : "ERROR"
      },
      "device-id-2": {
        "errorCode": "deviceOffline",
        "status" : "ERROR"
      }
    }
  }
}

MELAKSANAKAN respons

Cuplikan JSON berikut menunjukkan cara menampilkan error tingkat perangkat di bagian MELAKSANAKAN respons.

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

Cuplikan JSON berikut menunjukkan cara 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 di perangkat.

  • aboveMaximumLightEffectsDuration : Itu lebih dari durasi maksimum 1 jam. Harap coba lagi.
  • aboveMaximumTimerDuration : Saya hanya dapat menyetel <device(s)> hingga <time period>
  • actionNotAvailable : Maaf, sepertinya saat ini saya tidak bisa melakukannya.
  • actionUnavailableWhileRunning : &lt;device(s)&gt; &lt;is/are&gt; sedang berjalan, jadi saya tidak bisa membuat perubahan apa pun.
  • alreadyArmed : &lt;device(s)&gt; &lt;is/are&gt; sudah diaktifkan.
  • alreadyAtMax : &lt;device(s)&gt; &lt;is/are&gt; sudah disetel ke suhu maksimum.
  • alreadyAtMin : &lt;device(s)&gt; &lt;is/are&gt; sudah disetel ke suhu minimum.
  • alreadyClosed : &lt;device(s)&gt; &lt;is/are&gt; sudah ditutup.
  • alreadyDisarmed : &lt;device(s)&gt; &lt;is/are&gt; sudah dinonaktifkan.
  • alreadyDocked : &lt;device(s)&gt; &lt;is/are&gt; sudah dipasang ke dok.
  • alreadyInState : &lt;device(s)&gt; &lt;is/are&gt; yang sudah berada dalam status tersebut.
  • alreadyLocked : &lt;device(s)&gt; &lt;is/are&gt; sudah dikunci.
  • alreadyOff : &lt;device(s)&gt; &lt;is/are&gt; sudah nonaktif.
  • alreadyOn : &lt;device(s)&gt; &lt;is/are&gt; sudah aktif.
  • alreadyOpen : &lt;device(s)&gt; &lt;is/are&gt; sudah terbuka.
  • alreadyPaused : &lt;device(s)&gt; &lt;is/are&gt; sudah dijeda.
  • alreadyStarted : &lt;device(s)&gt; &lt;is/are&gt; sudah dimulai.
  • alreadyStopped : &lt;device(s)&gt; &lt;is/are&gt; sudah dihentikan.
  • alreadyUnlocked : &lt;device(s)&gt; &lt;is/are&gt; sudah dibuka.
  • ambiguousZoneName : Maaf, <device(s)> tidak dapat mengidentifikasi zona mana yang Anda maksud. Pastikan zona Anda memiliki nama yang unik, lalu coba lagi.
  • amountAboveLimit : Itu lebih dari apa yang <device(s)> dapat didukung.
  • appLaunchFailed : Maaf, gagal meluncurkan <app name> di <device(s)>.
  • armFailure : &lt;device(s)&gt; tidak bisa diaktifkan.
  • armLevelNeeded : Saya tidak yakin level mana yang harus disetel <device(s)> tempat mesin terhubung. Coba ucapkan "Setel <perangkat> ke <keamanan rendah>" atau "Set <device(s)> ke <keamanan tinggi>"
  • authFailure : Sepertinya saya tidak bisa menjangkau <device(s)>. Coba cek aplikasi untuk memastikan <device/devices> Anda &lt;is/are&gt; sudah siap sepenuhnya.
  • bagFull : &lt;device(s)&gt; &lt;has/have&gt; <kantong penuh/tas penuh>. Kosongkan <it/them> lalu coba lagi.
  • belowMinimumLightEffectsDuration : Itu kurang dari durasi minimum 5 menit. Harap coba lagi.
  • belowMinimumTimerDuration : Saya tidak dapat menyetel <device(s)> dalam waktu yang singkat. Harap coba lagi.
  • binFull : &lt;device(s)&gt; &lt;has/have&gt; <a full bin/full bins>.
  • cancelArmingRestricted : Maaf, saya tidak dapat membatalkan pengaktifan <device(s)>.
  • cancelTooLate : Maaf, sudah terlambat untuk membatalkan. Gunakan <device(s)> atau aplikasi.
  • channelSwitchFailed : Maaf, gagal beralih ke channel <nama channel>. Coba lagi nanti.
  • chargerIssue : Maaf, sepertinya <device(s)> &lt;has/have&gt; <masalah pengisi daya/masalah pengisi daya>.
  • commandInsertFailed : Tidak dapat memproses perintah untuk <device(s)>.
  • deadBattery : <perangkat> &lt;has/have&gt; <baterai mati/baterai mati>.
  • degreesOutOfRange : Derajat yang diminta berada di luar rentang untuk <device(s)>.
  • deviceAlertNeedsAssistance : &lt;device(s)&gt; &lt;has/have&gt; pemberitahuan aktif dan <need(s)> bantuan Anda.
  • deviceAtExtremeTemperature : <perangkat> &lt;is/are&gt; pada <suhu ekstrem/suhu ekstrem>.
  • deviceBusy : Maaf, sepertinya <device(s)> sudah melakukan sesuatu sekarang.
  • deviceCharging : Maaf, sepertinya <device(s)> tidak dapat melakukannya karena (ha_shared.ItsMerekare size=$item.devices.total_device_count) mengisi daya.
  • deviceClogged : Maaf, sepertinya <device(s)> tersumbat.
  • deviceCurrentlyDispensing : &lt;device(s)&gt; sudah mengeluarkan sesuatu saat ini.
  • deviceDoorOpen : Pintu terbuka di <device(s)>. Tutup lalu coba lagi.
  • deviceHandleClosed : Pegangan ditutup di <device(s)>. Buka saja, lalu coba lagi.
  • deviceJammingDetected : &lt;device(s)&gt; &lt;is/are&gt; macet.
  • deviceLidOpen : Penutup terbuka di <device(s)>. Tutup lalu coba lagi.
  • deviceNeedsRepair : &lt;device(s)&gt; &lt;need(s)&gt; untuk diperbaiki. Hubungi dealer servis setempat.
  • deviceNotDocked : Maaf, sepertinya <device(s)> <bukan> terpasang di dok. Pasang <it/mereka> ke dok lalu coba lagi.
  • deviceNotFound : &lt;device(s)&gt; <is/are>tidak tersedia. Anda mungkin ingin mencoba menyetel <it/them> naik lagi.
  • deviceNotMounted : Maaf, sepertinya <device(s)> tidak dapat melakukan itu karena <it/they> <is/are>tidak dipasang.
  • deviceNotReady : &lt;device(s)&gt; <is/are>belum siap.
  • deviceStuck : &lt;device(s)&gt; &lt;is/are&gt; mengalami kebuntuan dan memerlukan bantuan Anda.
  • deviceTampered : <perangkat> &lt;has/have&gt; telah diubah.
  • deviceThermalShutdown : Maaf, sepertinya <device(s)> mati karena suhu ekstrem.
  • directResponseOnlyUnreachable : &lt;device(s)&gt; <tidak/tidak> mendukung remote control.
  • disarmFailure : &lt;device(s)&gt; tidak bisa dinonaktifkan.
  • discreteOnlyOpenClose : Maaf, <device(s)> hanya dapat dibuka atau ditutup sepenuhnya.
  • dispenseAmountAboveLimit : &lt;device(s)&gt; tidak dapat mengeluarkan dana dalam jumlah besar.
  • dispenseAmountBelowLimit : &lt;device(s)&gt; tidak dapat mengeluarkan dana dalam jumlah sebesar itu.
  • dispenseAmountRemainingExceeded : &lt;device(s)&gt; tidak memiliki cukup <dispense item> untuk melakukannya.
  • dispenseFractionalAmountNotSupported : &lt;device(s)&gt; tidak dapat mengeluarkan bagian dari <dispense item>.
  • dispenseFractionalUnitNotSupported : &lt;device(s)&gt; tidak mendukung pecahan satuan tersebut untuk <dispense item>.
  • dispenseUnitNotSupported : &lt;device(s)&gt; tidak mendukung unit tersebut untuk <dispense item>.
  • doorClosedTooLong : Sudah cukup lama sejak pintu masuk di <device(s)> telah dibuka. Harap buka pintunya, pastikan ada sesuatu di dalamnya, lalu coba lagi.
  • emergencyHeatOn : &lt;device(s)&gt; &lt;is/are&gt; dalam Mode Pemanas Darurat, jadi <it/mereka> harus disesuaikan secara manual.
  • faultyBattery : <perangkat> &lt;has/have&gt; <baterai rusak/baterai rusak>.
  • floorUnreachable : &lt;device(s)&gt; tidak dapat menjangkau ruangan itu. Harap pindahkan <it/mereka> ke lantai yang benar dan coba lagi.
  • functionNotSupported : Sebenarnya, <device(s)> <tidak/tidak> mendukung fungsi tersebut.
  • genericDispenseNotSupported : Saya perlu tahu apa yang ingin Anda berikan. Coba lagi dengan nama item.
  • 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 : &lt;device(s)&gt; &lt;is/are&gt; saat ini disetel ke mode otomatis. Untuk mengubah suhu, Anda harus mengganti <it/mereka> ke mode yang berbeda.
  • inAwayMode : &lt;device(s)&gt; &lt;is/are&gt; 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 : &lt;device(s)&gt; &lt;is/are&gt; yang saat ini disetel ke mode kering. Untuk mengubah suhu, Anda harus mengganti <it/mereka> ke mode yang berbeda.
  • inEcoMode : &lt;device(s)&gt; &lt;is/are&gt; saat ini disetel ke mode hemat energi. Untuk mengubah suhu, Anda harus mengganti <it/mereka> ke mode yang berbeda.
  • inFanOnlyMode : &lt;device(s)&gt; &lt;is/are&gt; saat ini disetel ke mode kipas saja. Untuk mengubah suhu, Anda harus mengganti <it/mereka> ke mode yang berbeda.
  • inHeatOrCool : &lt;device(s)&gt; <is/are>tidak dalam mode hangat/sejuk.
  • inHumidifierMode : &lt;device(s)&gt; &lt;is/are&gt; yang saat ini disetel ke mode pelembap udara. Untuk mengubah suhu, Anda harus mengganti <it/mereka> ke mode yang berbeda.
  • inOffMode : &lt;device(s)&gt; &lt;is/are&gt; saat ini nonaktif. Untuk mengubah suhu, Anda harus mengganti <it/mereka> ke mode yang berbeda.
  • inPurifierMode : &lt;device(s)&gt; &lt;is/are&gt; yang saat ini disetel ke mode penjernih udara. Untuk mengubah suhu, Anda harus mengganti <it/mereka> ke mode yang berbeda.
  • inSleepMode : &lt;device(s)&gt; &lt;is/are&gt; dalam mode tidur. Coba lagi nanti.
  • inSoftwareUpdate : <perangkat> &lt;is/are&gt; update software.
  • lockFailure : &lt;device(s)&gt; tidak dapat dikunci.
  • lockedState : &lt;device(s)&gt; &lt;is/are&gt; saat ini terkunci.
  • lockedToRange : Suhu tersebut berada di luar rentang yang dikunci di <perangkat>.
  • lowBattery : <perangkat> &lt;has/have&gt; daya baterai lemah.
  • maxSettingReached : &lt;device(s)&gt; &lt;is/are&gt; sudah ditetapkan ke setelan tertinggi.
  • maxSpeedReached : &lt;device(s)&gt; &lt;is/are&gt; sudah disetel ke kecepatan maksimum.
  • minSettingReached : &lt;device(s)&gt; &lt;is/are&gt; sudah ditetapkan ke setelan terendah.
  • minSpeedReached : &lt;device(s)&gt; &lt;is/are&gt; sudah disetel ke kecepatan minimum.
  • monitoringServiceConnectionLost : &lt;device(s)&gt; &lt;has/have&gt; kalah <its/mereka> koneksi ke layanan pemantauan.
  • needsAttachment : Maaf, sepertinya <device(s)> &lt;is/are&gt; lampiran yang diperlukan tidak ada. Harap ganti dan coba lagi.
  • needsBin : Maaf, sepertinya <device(s)> &lt;is/are&gt; kehilangan {i>bin<i}. Harap ganti dan coba lagi.
  • needsPads : &lt;device(s)&gt; &lt;need(s)&gt; pad baru.
  • needsSoftwareUpdate : <perangkat> &lt;need(s)&gt; update software.
  • needsWater : &lt;device(s)&gt; &lt;need(s)&gt; air.
  • networkProfileNotRecognized : Maaf, saya tidak mengenali "<profil jaringan>" di <device(s)>.
  • networkSpeedTestInProgress : Saya sudah menguji <network> <speed/speeds>>.
  • noAvailableApp : Maaf, sepertinya <nama aplikasi> tidak tersedia.
  • noAvailableChannel : Maaf, sepertinya channel <channel name> tidak tersedia.
  • noChannelSubscription : Maaf, Anda tidak subscribe ke channel <channel name> saat ini.
  • noTimerExists : Maaf, sepertinya tidak ada timer yang disetel di <device(s)>.
  • notSupported : Maaf, mode itu tidak tersedia untuk <device(s)>.
  • obstructionDetected : &lt;device(s)&gt; mendeteksi adanya penghalang.
  • offline , perangkatOffline : Maaf, sepertinya <device(s)> <is/are>tidak tersedia untuk saat ini.
  • onRequiresMode : Tentukan mode yang ingin Anda aktifkan.
  • passphraseIncorrect : Maaf, sepertinya PIN salah.
  • percentOutOfRange : Maaf, saya tidak dapat menyetel <device(s)> menjadi <percent>.
  • pinIncorrect : (passphraseIncorrect)
  • rainDetected : Saya tidak membuka <device(s)> karena hujan terdeteksi.
  • rangeTooClose : Nilai tersebut terlalu dekat untuk rentang Hangat-Sejuk untuk <device(s)>. Pilih suhu yang rentangnya lebih jauh.
  • relinkRequired : Maaf, sepertinya ada masalah dengan akun Anda. Gunakan Aplikasi Google Home atau Asisten untuk menautkan kembali <device(s)>.
  • remoteSetDisabled :
    • Parameter opsional errorCodeReason
    • currentlyArmed - Maaf, karena keamanan telah diaktifkan, Anda perlu menggunakan <device(s)> atau aplikasi untuk melakukan perubahan.
    • remoteUnlockNotAllowed - Maaf, saya tidak dapat membuka <device(s)> dari jarak jauh.
    • remoteControlOff - Tindakan itu saat ini dinonaktifkan. Aktifkan remote control di <device(s)> lalu coba lagi.
    • childSafetyModeActive - Tindakan tersebut dinonaktifkan untuk <device(s)> saat mode keselamatan anak aktif.
  • roomsOnDifferentFloors : &lt;device(s)&gt; tidak dapat menjangkau ruangan tersebut karena berada di lantai yang berbeda.
  • safetyShutOff : &lt;device(s)&gt; &lt;is/are&gt; dalam Mode Nonaktif Aman, jadi <it/mereka> harus disesuaikan secara manual.
  • sceneCannotBeApplied : Maaf, <device(s)> tidak dapat diterapkan.
  • securityRestriction : &lt;device(s)&gt; &lt;has/have&gt; mengalami pembatasan keamanan.
  • softwareUpdateNotAvailable : Maaf, tidak ada update software yang tersedia di <device(s)>.
  • startRequiresTime : Untuk melakukannya, Anda perlu memberi tahu saya berapa lama Anda mau menjalankan <device(s)>.
  • stillCoolingDown : &lt;device(s)&gt; &lt;is/are&gt; masih mendingin.
  • stillWarmingUp : &lt;device(s)&gt; &lt;is/are&gt; masih dalam proses pemanasan.
  • streamUnavailable : Maaf, sepertinya streaming tersebut saat ini tidak tersedia dari <device(s)>.
  • streamUnplayable : Maaf, saya tidak dapat memutar streaming dari <device> saat ini.
  • tankEmpty : &lt;device(s)&gt; &lt;has/have&gt; <tangki kosong/tangki kosong>. Harap isi <it/mereka> lalu coba lagi.
  • targetAlreadyReached : Maaf, sepertinya suhu yang digunakan sama dengan suhu saat ini.
  • timerValueOutOfRange : &lt;device(s)&gt; tidak dapat ditetapkan untuk jangka 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)>. Harap coba lagi.
  • turnedOff , perangkatNonaktif : &lt;device(s)&gt; &lt;is/are&gt; nonaktif sekarang.
  • unableToLocateDevice : Saya tidak bisa menemukan <device(s)>.
  • unknownFoodPreset : &lt;device(s)&gt; tidak mendukung preset makanan tersebut.
  • unlockFailure : &lt;device(s)&gt; tidak dapat dibuka.
  • unpausableState : &lt;device(s)&gt; tidak dapat dijeda saat ini.
  • userCancelled : oke
  • valueOutOfRange : &lt;device(s)&gt; tidak bisa disetel ke suhu itu.

Pengecualian

Anda harus menampilkan pengecualian saat ada masalah atau peringatan yang terkait dengan perintah. Perintah dapat berhasil atau gagal.

Jika perintah berhasil (status = "SUCCESS"), laporkan pengecualian menggunakan ciri StatusReport (untuk perangkat selain target), atau dengan menampilkan exceptionCode yang sesuai (untuk perangkat target).

Misalnya, jika layar lint pengering penuh, pengguna masih bisa memulai pengering, tetapi Anda perlu memperingatkan mereka tentang keadaan ini. Demikian pula, ketika perangkat memiliki daya baterai rendah yang tidak kosong, Anda masih dapat menjalankan perintah tetapi harus memberi tahu mereka bahwa baterai perangkat lemah.

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

Pengecualian non-pemblokiran (SUCCESS) tentang perangkat target

Contoh ini untuk mengunci pintu:

Daya baterai kunci 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 non-pemblokiran (SUCCESS) tentang perangkat lain menggunakan StatusReport

Contoh berikut ditujukan 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 di perangkat.

  • bagFull : &lt;device(s)&gt; &lt;has/have&gt; <kantong penuh/tas penuh>. Kosongkan <it/them> lalu coba lagi.
  • binFull : &lt;device(s)&gt; &lt;has/have&gt; <a full bin/full bins>.
  • carbonMonoxideDetected : Karbon monoksida terdeteksi di <nama rumah>.
  • deviceAtExtremeTemperature : <perangkat> &lt;is/are&gt; pada <suhu ekstrem/suhu ekstrem>.
  • deviceJammingDetected : &lt;device(s)&gt; &lt;is/are&gt; macet.
  • deviceMoved : &lt;device(s)&gt; &lt;was/were&gt; pindah.
  • deviceOpen : <perangkat> &lt;is/are&gt; terbuka.
  • deviceTampered : <perangkat> &lt;has/have&gt; telah diubah.
  • deviceUnplugged : <perangkat> &lt;is/are&gt; tidak terhubung ke sumber listrik.
  • floorUnreachable : &lt;device(s)&gt; tidak dapat menjangkau ruangan itu. Harap pindahkan <it/mereka> ke lantai yang benar dan coba lagi.
  • hardwareFailure : <perangkat> &lt;has/have&gt; masalah hardware.
  • inSoftwareUpdate : <perangkat> &lt;is/are&gt; update software.
  • isBypassed : &lt;device(s)&gt; &lt;is/are&gt; saat ini diabaikan.
  • lowBattery : <perangkat> &lt;has/have&gt; daya baterai lemah.
  • motionDetected : <perangkat> &lt;detect(s)&gt; {i>motion <i}(gerakan).
  • needsPads : &lt;device(s)&gt; &lt;need(s)&gt; pad baru.
  • needsSoftwareUpdate : <perangkat> &lt;need(s)&gt; update software.
  • needsWater : &lt;device(s)&gt; &lt;need(s)&gt; air.
  • networkJammingDetected : koneksi jaringan rumah ke <device(s)> tidak berfungsi dengan benar.
  • noIssuesReported : &lt;device(s)&gt; melaporkan tidak ada masalah.
  • roomsOnDifferentFloors : &lt;device(s)&gt; tidak dapat menjangkau ruangan tersebut karena berada di lantai yang berbeda.
  • runCycleFinished : &lt;device(s)&gt; &lt;has/have&gt; selesai berlari.
  • securityRestriction : &lt;device(s)&gt; &lt;has/have&gt; mengalami pembatasan keamanan.
  • smokeDetected : Asap telah terdeteksi di <nama rumah>.
  • tankEmpty : &lt;device(s)&gt; &lt;has/have&gt; <tangki kosong/tangki kosong>. Harap isi <it/mereka> lalu coba lagi.
  • usingCellularBackup : <perangkat> &lt;is/are&gt; menggunakan pencadangan seluler.
  • waterLeakDetected : <perangkat> &lt;detect(s)&gt; kebocoran air.