Perangkat di ekosistem Google Home dapat diimplementasikan menggunakan Cloud-to-cloud, Matter, atau keduanya. Beberapa jenis perangkat lebih kompleks daripada yang lain, dan menghadirkan tantangan untuk dikembangkan saat menggunakan Home API dengan cara yang memungkinkan antarmuka yang lancar dengan perangkat lain dalam ekosistem.
Salah satu tantangan dalam menerapkan beberapa jenis perangkat ini adalah perangkat dapat terdiri dari berbagai kombinasi ciri. Tidak semua kombinasi berfungsi sebaik kombinasi lainnya. Selain itu, model data Cloud-to-cloud dipetakan ke model data Matter, tetapi tidak selalu dengan cara yang jelas dan satu per satu. Lihat Model data di iOS, yang membahas model data dan pemetaannya secara lebih mendalam.
Halaman ini berisi informasi selengkapnya tentang pemetaan model data untuk perangkat tertentu, dan menawarkan beberapa panduan tentang karakteristik yang akan digunakan untuk menerapkan jenis perangkat tersebut.
Oven
Jenis perangkat Oven
(OvenDeviceType)
dan ciri komponennya tidak sesederhana untuk diterapkan
dibandingkan dengan jenis perangkat lainnya. Ada beberapa cara untuk menerapkan Oven di
Matter, tetapi tidak semua pendekatan menghasilkan interoperabilitas
yang lancar dengan perangkat lain atau dengan ekosistem Google Home.
Pemetaan karakteristik
Daripada menerapkan perangkat Oven Matter menggunakan
cluster Mode Oven dan On Off, sebaiknya gunakan cluster Status Operasional
Rongga Oven. Cluster ini direpresentasikan di Home API oleh karakteristik
OvenCavityOperationalStateTrait, dan dipetakan ke karakteristik Cloud-to-cloud
RunCycle. Status ini menentukan fase seperti
"pra-pemanasan", "pra-pemanasan", dan "pendinginan".
| API Home | Cloud-to-cloud |
|---|---|
OvenCavityOperationalState
|
RunCycle
|
Ada batasan pada model data Oven Cloud-to-cloud. Model data Oven Cloud-to-cloud hanya memungkinkan satu ruang, dengan satu RunCycle. Sebaliknya, Matter memodelkan
Oven multi-ruang sebagai endpoint perangkat dengan cluster Status Operasional Rongga Oven
untuk setiap ruang.
Untuk beberapa perangkat Oven, daftar fase mungkin perlu diubah saat runtime. Misalnya, Oven yang mendukung pemanasan awal dapat memiliki entri yang berbeda dalam daftar fase selama fase pemanasan awal dibandingkan selama fase pemanasan atau pendinginan.
Penerapan yang direkomendasikan
Seperti yang dibahas di bagian sebelumnya, implementasi Oven Matter
harus mengimplementasikan cluster Oven Cavity Operational State, yang
dimodelkan di Home API sebagai
trait
OvenCavityOperationalStateTrait.
Untuk hasil terbaik, pastikan perangkat Oven Cloud-to-cloud Anda
menerapkan karakteristik RunCycle dan memublikasikan
status saat ini dengan menetapkan atribut currentRunCycle. Atribut ini dapat
diamati oleh Home API melalui atribut
OvenCavityOperationalStateTrait.phaseList
dan
OvenCavityOperationalStateTrait.currentPhase.
Perangkat Oven juga harus memublikasikan notifikasi perangkat siklus operasi dengan memperbarui
atribut priority, status, dan currentCycleRemainingTime dari
RunCycle. Contoh berikut menghasilkan peristiwa
OperationalStateTrait.OperationCompletion
yang dikirim, dan dapat digunakan untuk menunjukkan bahwa oven telah beralih
dari siklus 'pra-pemanasan' ke siklus 'prapemanasan':
{
"currentRunCycle": [
{
"currentCycle": "pre-heating",
"nextCycle": "pre-heated",
"lang": "en"
}
],
"currentTotalRemainingTime": 1200,
"currentCycleRemainingTime": 300
}
Menggunakan Oven dalam otomatisasi
Saat membuat otomatisasi untuk Oven yang diimplementasikan menggunakan
cluster Oven Cavity Operational State, referensikan atribut currentPhase untuk
mengetahui siklus oven:
sequential {
let operationalState = starter(
oven,
OvenDeviceType.self,
OvenCavityOperationalStateTrait.self
)
operationalState
condition {
operationalState.phaseList[operationalState.currentPhase.toUInt()].equals("pre-heated")
}
for speaker in speakers {
action(speaker, SpeakerDeviceType.self) {
Google.AssistantBroadcastTrait.broadcast(msg: "Oven Cycle Complete")
}
}
}
Untuk contoh lengkap, lihat Jika TV menyala saat siklus oven selesai, lampu ruang keluarga akan berkedip dan smart speaker akan menyiarkan "Siklus Oven Selesai".