Skema Trait Smart RunCycle Trait
action.devices.traits.RunCycle
- Sifat ini mewakili setiap perangkat yang memiliki durasi berkelanjutan untuk operasinya yang dapat dikueri.
Perangkat seperti ini akan melaporkan jumlah total siklusnya pada awal operasi, dan setiap siklus tempat perangkat saat ini sedang berjalan. Hal ini memungkinkan pengguna membuat kueri, seperti berikut:
- Di siklus berapa pengering saya?
- Berapa siklus yang tersisa untuk mesin pencuci piring?
- Apa yang dilakukan pengering?
- Kapan pencucian dilakukan?
Perangkat tertentu mencakup durasi dalam format non-siklus. Setiap perangkat yang berjalan selama jangka waktu tertentu dapat melaporkan sisa waktu, tanpa siklus. Ini juga menangani kasus saat siklus mungkin tidak konsisten (misalnya, mesin pencuci piring mungkin tidak selalu menggunakan semua siklus). Misalnya, pengguna dapat bertanya, Berapa lama waktu yang diperlukan untuk menjalankan penyedot debu saya?, yang akan menampilkan jumlah waktu dalam unit yang proporsional dengan waktu yang tersisa. Hal ini juga berlaku untuk perangkat yang tercantum di atas; Berapa lama pakaian saya akan kering? akan menampilkan durasi dalam menit.
Perangkat dapat menampilkan apa yang mereka ketahui, dan respons TTS Asisten akan membentuk jawaban terbaik dengan data yang tersedia (misalnya, Mesin pencuci piring sedang berjalan dan akan selesai dalam waktu sekitar 20 menit.)
RunCycle saat ini bersifat hanya baca - tidak memiliki perintah, hanya menyatakan kueri. Di masa mendatang, mungkin terdapat mekanisme untuk menjalankan kembali siklus atau melewati siklus (baik untuk penyemprot air, buruk untuk mesin cuci).
ATRIBUT Perangkat
Tidak ada.
STATE Perangkat
Entitas dengan karakteristik ini dapat melaporkan status
berikut sebagai bagian dari operasi QUERY
. Untuk mempelajari
penanganan intent QUERY
lebih lanjut, lihat
fulfillment intent.
Negara bagian | Type | Deskripsi |
---|---|---|
currentRunCycle |
Array |
Wajib. Berisi sinonim untuk siklus saat ini dalam setiap bahasa yang didukung. |
[item, ...] |
Objek |
Nama sinonim siklus. |
currentCycle |
String |
Wajib. Siklus saat ini sedang dilakukan. |
nextCycle |
String |
Opsional. Siklus berikutnya yang harus dijalankan. |
lang |
String |
Wajib. Kode bahasa untuk nama siklus yang diberikan. Lihat Bahasa yang didukung. |
currentTotalRemainingTime |
Integer |
Wajib. Waktu yang tersisa dalam operasi, dalam detik. |
currentCycleRemainingTime |
Integer |
Wajib. Waktu yang tersisa dalam siklus saat ini, dalam detik. |
Contoh
Perangkat sedang berkumur selama 5 menit lagi, dan akan selesai dalam 20 menit.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Perangkat sedang berkumur selama 5 menit lagi, sebelum bergerak untuk memutar.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
PERMINTAAN Perangkat
Tidak ada.
NOTIFIKASI Perangkat
Perangkat dengan karakteristik ini dapat menampilkan payload notifikasi berikut sebagai bagian dari perubahan status perangkat. Untuk mempelajari cara menerapkan notifikasi lebih lanjut, lihat Notifikasi untuk Action smart home.
Kolom | Type | Deskripsi |
---|---|---|
RunCycle |
Wajib. Payload notifikasi. |
|
Mendukung salah satu dari berikut ini: | ||
0
|
Objek |
Berhasil |
priority |
Integer |
Wajib. Mewakili tingkat notifikasi. Nilai yang saat ini didukung adalah 0, yang menunjukkan bahwa notifikasi harus diucapkan. |
status |
String |
Wajib. Hasil operasi. Nilai yang didukung:
|
currentCycleRemainingTime |
Integer |
Wajib. Waktu yang tersisa dalam siklus saat ini, dalam detik. |
1
|
Objek |
Kegagalan |
priority |
Integer |
Wajib. Mewakili tingkat notifikasi. Nilai yang saat ini didukung adalah 0, yang menunjukkan bahwa notifikasi harus diucapkan. |
status |
String |
Wajib. Hasil operasi. Nilai yang didukung:
|
errorCode |
String |
Wajib. Nilainya dapat berupa kode error untuk fitur ini, misalnya, |
Contoh
Perangkat telah selesai berjalan.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Terjadi error saat menyelesaikan siklus saat ini.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }