Menghapus perangkat berarti menonaktifkannya dari struktur. Pengguna dapat melakukan ini menggunakan Google Home app (GHA), dan aplikasi dapat menonaktifkan perangkat smart home secara terprogram. Ada batasan mengenai perangkat mana saja yang dapat dihapus. Selain itu, menghapus perangkat dapat memengaruhi struktur dan pengalaman pengguna aplikasi Anda.
Yang dapat Anda hapus
Anda dapat menghapus perangkat berikut secara terprogram melalui Home API:
- Perangkat Matter yang aplikasi Anda memiliki izinnya.
- Bridge Matter, jika aplikasi Anda memiliki akses ke semua perangkat yang terhubung melalui bridge tersebut. Dengan menghapus bridge, semua perangkat Matter yang terhubung ke bridge tersebut juga dihapus.
- Perangkat kamera dan bel pintu yang didukung, termasuk kamera dan bel pintu Google Nest yang kompatibel dengan Matter serta kamera partner yang kompatibel. Untuk mengetahui detail tentang model yang didukung dan tidak didukung, lihat Kamera dan bel pintu.
Yang tidak dapat Anda hapus
Perangkat berikut tidak dapat dihapus secara terprogram melalui Home API:
- Perangkat Matter yang izin penggunanya tidak dimiliki aplikasi Anda.
- Perangkat yang terhubung di balik suatu bridge Matter.
- Perangkat tertaut Cloud-to-cloud.
- Perangkat jalur ganda non-kamera (perangkat yang menerapkan Matter dan Cloud-to-cloud, selain kamera dan bel pintu yang didukung).
- Perangkat kamera dan bel pintu yang tidak didukung, termasuk layar smart dengan kamera bawaan dan kamera lama yang tidak mendukung Matter (lihat Kamera dan bel pintu).
Pertimbangan penting sebelum menghapus perangkat
Jika aplikasi Anda menghapus perangkat, perangkat tersebut akan dihapus dari seluruh struktur, yang memengaruhi semua pengguna dan semua aplikasi, termasuk GHA. Bergantung pada jenis perangkatnya, mungkin ada efek samping tambahan dari menonaktifkan perangkat:
- Jika perangkat menyediakan beberapa fungsi, seperti lampu smart yang juga berfungsi sebagai hub, menghapusnya juga akan menghapus semua perangkat terkait. Aplikasi harus memberi tahu pengguna jika beberapa fungsi perangkat terpengaruh.
- Menghapus kamera atau bel pintu akan menghapus semua histori video 24/7, histori video peristiwa penting, klip yang direkam, dan data galeri foto wajah yang dikenali yang terkait dengan kamera tersebut di seluruh struktur rumah.
- Menonaktifkan kamera tidak akan membatalkan langganan aktif, seperti Google Home Premium atau layanan pemantauan partner. Langganan berlanjut hingga dibatalkan oleh pengguna.
- Saat menonaktifkan kamera atau bel pintu, platform Home API menampilkan layar konfirmasi yang dikelola Google kepada pengguna yang menjelaskan bahwa histori video akan dihapus secara permanen. Pengguna harus mengonfirmasi perintah ini sebelum perangkat dihapus.
- Berhati-hatilah saat menghapus perangkat di platform bersama, karena hal ini dapat menimbulkan konsekuensi yang tidak diinginkan bagi orang lain.
- Penghapusan perangkat hanya boleh dilakukan pada platform yang diautentikasi, seperti ponsel, bukan pada perangkat yang tidak diautentikasi seperti TV. Tindakan ini melanggar Kebijakan Developer Google Home.
Menghapus perangkat
Pemeriksaan kelayakan perangkat untuk dihapus dapat cukup membebani, sehingga sebaiknya hanya dilakukan jika diperlukan. Untuk memeriksa apakah suatu perangkat memenuhi syarat untuk dihapus, gunakan perintah berikut:
val eligibility = device.checkDecommissionEligibility() if (eligibility is DecommissionEligibility.Ineligible) { println("The device cannot be decommissioned.") } else if (eligibility is DecommissionEligibility.EligibleWithSideEffects) { println("The device can be decommissioned but there will be side effects on other devices.") } else if (eligibility is DecommissionEligibility.Eligible) { println("The device can be decommissioned.") }
Perangkat Matter
Anda dapat menghapus perangkat Matter secara terprogram jika perangkat tidak berada di balik bridge Matter.
Untuk menghapus perangkat Matter, panggil
decommissionDevice()
terhadap perangkat tersebut:
val decommissionedDeviceIds = device.decommissionDevice()
Jika panggilan tidak menampilkan error, berarti berhasil.
Anda dapat memeriksa apakah ID perangkat termasuk di antara ID yang ditampilkan oleh
decommissionDevice()
:
if (decommissionedDeviceIds.contains(deviceId)) { println("Decommission successful!") } else { println("Decommission failed!") }
Kamera dan bel pintu
Anda dapat menghapus kamera dan bel pintu yang didukung secara terprogram menggunakan
decommissionDevice()
.
Model yang didukung meliputi:
- Google Nest Cam (indoor, wired)
- Google Nest Cam (outdoor or indoor, battery)
- Google Nest Cam with floodlight
- Google Nest Doorbell (battery)
- Google Nest Doorbell (wired)
- Kamera dan bel pintu partner yang kompatibel (seperti onn. Walmart)
Perangkat kamera dan bel pintu berikut tidak dapat dihentikan penggunaannya secara terprogram:
- Layar smart dengan kamera bawaan, seperti Google Nest Hub Max.
- Kamera dan bel pintu Nest lama yang tidak mendukung Matter dan hanya terhubung melalui layanan cloud, seperti Nest Cam Indoor (generasi ke-1), Nest Cam Outdoor (generasi ke-1), Nest Cam IQ, dan Nest Doorbell (berkabel, generasi ke-1).
- Kamera dan bel pintu pihak ketiga Cloud-to-cloud yang tertaut.
Saat aplikasi Anda memulai penonaktifan untuk kamera atau bel pintu, platform akan menampilkan layar konfirmasi yang dikelola Google kepada pengguna. Layar ini memberi tahu pengguna bahwa menghapus kamera akan menghapus semua histori video 24/7, histori peristiwa, klip, dan data galeri foto wajah yang dikenali yang terkait dengan perangkat secara permanen di seluruh struktur.
Jika pengguna menutup atau membatalkan layar konfirmasi,decommissionDevice() akan menampilkan HomeException.
Menonaktifkan kamera tidak membatalkan langganan kamera aktif (seperti Google Home Premium). Pengguna harus membatalkan langganan secara terpisah melalui penyedia langganan.
kotlin
try {
val decommissionedDeviceIds = device.decommissionDevice()
if (decommissionedDeviceIds.contains(device.id)) {
// Camera was successfully decommissioned
}
} catch (e: HomeException) {
// Handle cancellation or decommission error
}
Perangkat non-Matter
Perangkat non-Matter (selain kamera dan bel pintu yang didukung) tidak dapat dihapus secara terprogram. Untuk menghapus perangkat non-Matter lainnya, Anda dapat mengirimkan permintaan Sinkronisasi (lihat Meminta Sinkronisasi), atau menghapus integrasi Cloud-to-cloud (lihat Menghapus integrasi cloud-ke-cloud yang diluncurkan).
Jika Anda memanggil decommissionDevice()
di perangkat non-Matter yang tidak didukung, maka
HomeException
akan ditampilkan.
Setelah Anda menghapus perangkat non-Matter, periksa keberadaan perangkat untuk memverifikasi bahwa perangkat berhasil dihapus:
var removedDevice: HomeDevice? = null runBlockingCustom { try { removedDevice = homeManager.devices().get(deviceId) } catch (exception: Exception) { println("removal successful!") } } if (removedDevice != null) { println("removal failed!") }