Bir cihazı kaldırmak, cihazın yapıdan devre dışı bırakılmasını gerektirir. Kullanıcılar bu işlemi Google Home app (GHA) ile yapabilir. Uygulamalar ise akıllı ev cihazlarını programatik olarak devre dışı bırakabilir. Hangi cihazların kaldırılabileceğiyle ilgili sınırlamalar vardır. Ayrıca, bir cihazın kaldırılması uygulamanızın yapısını ve kullanıcı deneyimlerini etkileyebilir.
Kaldırabilecekleriniz
Aşağıdaki cihazları Home API'leri aracılığıyla programatik olarak kaldırabilirsiniz:
- Uygulamanızın izinlere sahip olduğu Matter cihaz.
- Matter köprüleri, uygulamanızın köprü üzerinden bağlı tüm cihazlara erişebilmesi koşuluyla. Köprünün kaldırılması, ona bağlı tüm Matter cihazlarını kaldırır.
- Matter özellikli Google Nest kameralar ve kapı zilleri ile uyumlu iş ortağı kameraları dahil olmak üzere desteklenen kamera ve kapı zili cihazları. Desteklenen ve desteklenmeyen modeller hakkında ayrıntılı bilgi için Kameralar ve kapı zilleri başlıklı makaleyi inceleyin.
Kaldıramayacaklarınız
Aşağıdaki cihazlar, Home API'leri aracılığıyla programatik olarak kaldırılamaz:
- Uygulamanızın kullanıcı izinlerinin eksik olduğu Matter cihaz.
- Matter köprüsünün arkasına bağlı bağımsız cihazlar.
- Cloud-to-cloud bağlı cihaz.
- Kamera olmayan çift cihazlar (desteklenen kameralar ve kapı zilleri dışında hem Matter hem de Cloud-to-cloud işlevlerini uygulayan cihazlar).
- Yerleşik kameralı akıllı ekranlar ve Matter'yı desteklemeyen eski kameralar dahil olmak üzere desteklenmeyen kamera ve kapı zili cihazları (bkz. Kameralar ve kapı zilleri).
Cihazı kaldırmadan önce dikkat edilmesi gereken önemli noktalar
Uygulamanız bir cihazı kaldırdığında bu cihaz, yapının tamamından kaldırılır. Bu durum, GHA dahil olmak üzere tüm kullanıcıları ve tüm uygulamaları etkiler. Cihazın türüne bağlı olarak, devre dışı bırakmanın ek yan etkileri olabilir:
- Bir cihaz birden fazla işlev sunuyorsa (ör. akıllı ışık aynı zamanda hub olarak da çalışıyorsa) bu cihazı kaldırdığınızda ilişkili tüm cihazlar da kaldırılır. Uygulama, birden fazla cihaz işlevinin etkilendiği durumlarda kullanıcıyı bilgilendirmelidir.
- Kamera veya kapı zili kaldırıldığında, tüm ev yapısı genelinde bu kamerayla ilişkili tüm 7/24 video geçmişi, olay videosu geçmişi, kaydedilmiş klipler ve tanıdık yüz kitaplığı verileri kalıcı olarak silinir.
- Bir kameranın hizmet dışı bırakılması, Google Home Premium veya iş ortağı izleme hizmetleri gibi etkin abonelikleri iptal etmez. Abonelikler, kullanıcı tarafından iptal edilene kadar devam eder.
- Bir kamera veya kapı zili hizmetten kaldırıldığında Home API'leri platformu, kullanıcıya video geçmişinin kalıcı olarak silineceğini açıklayan Google tarafından yönetilen bir onay ekranı gösterir. Cihaz kaldırılmadan önce kullanıcının bu istemi onaylaması gerekir.
- Paylaşılan yüzeylerde cihaz silerken dikkatli olun. Bu işlem, diğer kullanıcılar için istenmeyen sonuçlara yol açabilir.
- Cihaz kaldırma işlemi yalnızca cep telefonu gibi kimliği doğrulanmış yüzeylerde yapılmalıdır. TV gibi kimliği doğrulanmamış cihazlarda yapılmamalıdır. Bu durum, Google Home Geliştirici Politikaları'nı ihlal eder.
Cihazı kaldırma
Bir cihazın kaldırılmaya uygun olup olmadığını kontrol etmek maliyetlidir ve yalnızca gerektiğinde yapılmalıdır. Bir cihazın kaldırılmaya uygun olup olmadığını kontrol etmek için aşağıdaki komutu kullanın:
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.") }
Matter cihazları
Cihaz bir Matter köprüsünün arkasında değilse Matter cihazını programatik olarak kaldırabilirsiniz.
Bir Matter cihazı kaldırmak için cihazda
decommissionDevice()
şu işlevi çağırın:
val decommissionedDeviceIds = device.decommissionDevice()
Çağrı hata vermiyorsa başarılı olmuştur.
Cihazın kimliğinin
decommissionDevice()
tarafından döndürülenler arasında olup olmadığını kontrol edebilirsiniz::
if (decommissionedDeviceIds.contains(deviceId)) { println("Decommission successful!") } else { println("Decommission failed!") }
Kameralar ve kapı zilleri
Desteklenen kameraları ve kapı zillerini
decommissionDevice()
kullanarak programlı bir şekilde kaldırabilirsiniz.
Desteklenen modeller şunlardır:
- 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)
- Uyumlu iş ortağı kameraları ve kapı zilleri (ör. Walmart onn.)
Aşağıdaki kamera ve kapı zili cihazları programatik olarak hizmetten çıkarılamaz:
- Google Nest Hub Max gibi dahili kameralı akıllı ekranlar.
- Yalnızca bulut hizmetleri üzerinden bağlanmayı destekleyen ve Matter desteklemeyen eski Nest kameralar ve kapı zilleri (ör. Nest Cam Indoor (1. nesil), Nest Cam Outdoor (1. nesil), Nest Cam IQ ve Nest Doorbell (kablolu, 1. nesil)).
- Üçüncü taraf Cloud-to-cloud bağlı kameralar ve kapı zilleri.
Uygulamanız bir kamera veya kapı zili için hizmetten çıkarma işlemini başlattığında platform, kullanıcıya Google tarafından yönetilen bir onay ekranı gösterir. Bu ekranda, kameranın kaldırılmasıyla birlikte tüm yapıda cihazla ilişkili olarak kaydedilen tüm 7/24 video geçmişi, etkinlik geçmişi, klipler ve tanıdık yüz kitaplığı verilerinin kalıcı olarak silineceği kullanıcıya bildirilir.
Kullanıcı onay ekranını kapatır veya iptal edersedecommissionDevice(), HomeException oluşturur.
Bir kameranın hizmetten çıkarılması, etkin kamera aboneliklerini (ör. Google Home Premium) iptal etmez. Kullanıcılar, abonelikleri abonelik sağlayıcı üzerinden ayrı ayrı iptal etmelidir.
kotlin
try {
val decommissionedDeviceIds = device.decommissionDevice()
if (decommissionedDeviceIds.contains(device.id)) {
// Camera was successfully decommissioned
}
} catch (e: HomeException) {
// Handle cancellation or decommission error
}
Matter olmayan cihazlar
Desteklenen kameralar ve ziller dışındaki Matter olmayan cihazlar programatik olarak kaldırılamaz. Diğer Matter olmayan cihazları kaldırmak için bir senkronizasyon isteği gönderebilir (bkz. Senkronizasyon isteğinde bulunma) veya Cloud-to-cloud entegrasyonunu silebilirsiniz (bkz. Başlatılan bir buluttan buluta entegrasyonunu silme).
Desteklenmeyen bir decommissionDevice()
cihazda Matter çağrısı yaparsanız HomeException
oluşturulur.
Matter olmayan bir cihazı kaldırdıktan sonra, başarıyla kaldırıldığını doğrulamak için cihazın varlığını kontrol edin:
var removedDevice: HomeDevice? = null runBlockingCustom { try { removedDevice = homeManager.devices().get(deviceId) } catch (exception: Exception) { println("removal successful!") } } if (removedDevice != null) { println("removal failed!") }