Skema Trait RunCycle Smart Home
action.devices.traits.RunCycle
- Trait ini mewakili perangkat apa pun yang memiliki durasi berkelanjutan untuk operasinya yang dapat dikueri.
Perangkat seperti ini akan melaporkan jumlah total siklusnya di awal operasi, dan setiap siklus yang sedang dijalankan perangkat saat berjalan. Hal ini memungkinkan pengguna membuat kueri, seperti berikut:
- Apa siklus pengering saya?
- Berapa siklus yang tersisa di mesin pencuci piring?
- Apa yang dilakukan pengering?
- Kapan cuci akan dilakukan?
Perangkat tertentu menyertakan durasi dalam format non-siklis. Perangkat apa pun yang berjalan untuk jangka waktu tertentu dapat melaporkan sisa waktunya, tanpa siklus. Hal ini juga menangani kasus saat siklus mungkin tidak konsisten (misalnya, mesin pencuci piring mungkin tidak selalu menggunakan semua siklus). Misalnya, pengguna dapat bertanya, Seberapa lama penyedot debu saya berjalan? yang akan menampilkan jumlah waktu dalam satuan yang proporsional dengan waktu yang tersisa. Ini juga berlaku untuk perangkat yang tercantum di atas; Berapa lama lagi pakaian saya akan mengering? akan menampilkan durasi dalam menit.
Perangkat dapat menampilkan hal yang diketahui, 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 status ke kueri. Di masa mendatang, mungkin ada mekanisme untuk menjalankan kembali siklus atau melewatkan siklus (baik untuk penyiram, tidak baik untuk mesin cuci).
ATTRIBUTE Perangkat
Tidak ada.
STATUS Perangkat
Entitas dengan karakteristik ini dapat melaporkan status berikut sebagai bagian dari operasi QUERY
. Untuk mempelajari
penanganan intent QUERY
lebih lanjut, lihat
Fulfillment intent.
Status | 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 dilakukan. |
lang |
String |
Wajib. Kode bahasa untuk nama siklus yang ditentukan. Lihat Bahasa yang didukung. |
currentTotalRemainingTime |
Bilangan Bulat |
Wajib. Waktu yang tersisa saat pengoperasian, dalam detik. |
currentCycleRemainingTime |
Bilangan Bulat |
Wajib. Waktu yang tersisa pada siklus saat ini, dalam detik. |
Contoh
Perangkat akan bilas selama 5 menit lagi, dan akan selesai dalam 20 menit.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Perangkat dibilas selama 5 menit lagi, sebelum diputar.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
Perangkat COMMAND
Tidak ada.
NOTIFIKASI Perangkat
Perangkat dengan trait 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 yang berikut: | ||
0
|
Objek |
Berhasil |
priority |
Bilangan Bulat |
Wajib. Menampilkan level notifikasi. Nilai yang saat ini didukung adalah 0, yang menunjukkan bahwa notifikasi harus diucapkan. |
status |
String |
Wajib. Hasil operasi. Nilai yang didukung:
|
currentCycleRemainingTime |
Bilangan Bulat |
Wajib. Waktu yang tersisa pada siklus saat ini, dalam detik. |
1
|
Objek |
Kegagalan |
priority |
Bilangan Bulat |
Wajib. Menampilkan level 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 apa pun 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" } }