移除裝置時,必須從結構中停用裝置。使用者可以透過 Google Home app (GHA) 執行這項操作,應用程式則可以透過程式輔助停用智慧住宅裝置。可移除的裝置有限制。此外,移除裝置可能會影響應用程式的結構和使用者體驗。
可移除的內容
您可以透過 Home API,以程式輔助方式移除下列裝置:
- 應用程式具有權限的 Matter 部裝置。
- Matter 橋接器,前提是應用程式可存取透過橋接器連線的所有裝置。移除橋接器後,所有連線的 Matter 裝置都會一併移除。
- 支援的攝影機和門鈴裝置,包括支援 Matter 的 Google Nest 攝影機和門鈴,以及相容的合作夥伴攝影機。如要瞭解支援和不支援的型號,請參閱「攝影機和門鈴」。
無法移除的內容
下列裝置無法透過 Google Home API 以程式輔助方式移除:
- Matter 裝置,但您的應用程式缺少使用者權限。
- 連線至Matter橋接器的個別裝置。
- Cloud-to-cloud 部連結的裝置。
- 非攝影機雙路徑裝置 (實作 Matter 和 Cloud-to-cloud 的裝置,但支援的攝影機和門鈴除外)。
- 不支援的攝影機和門鈴裝置,包括內建攝影機的智慧螢幕,以及不支援 Matter 的舊版攝影機 (請參閱「攝影機和門鈴」)。
移除裝置前的重要注意事項
應用程式移除裝置時,整個結構都會受到影響,包括所有使用者和所有應用程式 (包括 GHA)。視裝置類型而定,停用裝置可能會產生其他副作用:
- 如果裝置提供多項功能 (例如智慧型燈具同時也是中樞裝置),移除這類裝置也會一併移除所有相關聯的裝置。如果多項裝置功能受到影響,應用程式應告知使用者。
- 移除攝影機或門鈴後,系統會永久刪除整個住家結構體中,與該攝影機相關聯的所有全天候錄影記錄、事件錄影記錄、錄製的片段和熟面孔資料庫資料。
- 停用攝影機不會取消有效訂閱項目,例如 Google Home Premium 或合作夥伴監控服務。訂閱方案會持續有效,直到使用者取消為止。
- 停用攝影機或門鈴時,Home API 平台會向使用者顯示 Google 管理的確認畫面,說明錄影記錄將永久刪除。使用者必須確認這個提示,裝置才會移除。
- 請小心刪除共用介面上的裝置,因為這可能會對其他使用者造成意外影響。
- 移除裝置時,只能使用已通過驗證的介面 (例如手機),不得使用未通過驗證的裝置 (例如電視)。否則將違反 Google Home 開發人員政策。
移除裝置
檢查裝置是否符合移除資格的成本很高,因此只有在必要時才應執行。如要檢查裝置是否符合移除資格,請使用下列指令:
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 裝置
如果裝置不在 Matter 橋接器後方,您可以透過程式輔助方式移除 Matter 裝置。
如要移除 Matter 裝置,請撥打
decommissionDevice()
電話:
val decommissionedDeviceIds = device.decommissionDevice()
如果呼叫未擲回錯誤,即代表成功。
您可以檢查裝置 ID 是否在 decommissionDevice() 傳回的 ID 中:
if (decommissionedDeviceIds.contains(deviceId)) { println("Decommission successful!") } else { println("Decommission failed!") }
攝影機和門鈴
您可以使用 decommissionDevice(),以程式輔助方式移除支援的攝影機和門鈴。
支援的機型包括:
- 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)
- 相容的合作夥伴攝影機和門鈴 (例如 Walmart onn.)
下列攝影機和門鈴裝置無法以程式輔助方式停用:
- 內建攝影機的智慧螢幕,例如 Google Nest Hub Max。
- 不支援 Matter 且僅透過雲端服務連線的舊版 Nest 攝影機和門鈴,例如 Nest Cam Indoor (第 1 代)、Nest Cam Outdoor (第 1 代)、Nest Cam IQ 和 Nest Doorbell (有線版,第 1 代)。
- 已連結的第三方Cloud-to-cloud攝影機和門鈴。
當應用程式啟動攝影機或門鈴的停用程序時,平台會向使用者顯示 Google 管理的確認畫面。這個畫面會告知使用者,移除攝影機後,系統會永久刪除整個結構中與該裝置相關聯的所有全天候錄影記錄、事件記錄、影像片段和熟面孔資料庫資料。
如果使用者關閉或取消確認畫面,decommissionDevice() 會擲回 HomeException。
停用攝影機不會取消有效的攝影機訂閱方案 (例如 Google Home Premium)。使用者必須透過訂閱方案供應商另外取消訂閱。
kotlin
try {
val decommissionedDeviceIds = device.decommissionDevice()
if (decommissionedDeviceIds.contains(device.id)) {
// Camera was successfully decommissioned
}
} catch (e: HomeException) {
// Handle cancellation or decommission error
}
非 Matter 裝置
非 Matter 裝置 (支援的攝影機和門鈴除外) 無法透過程式輔助方式移除。如要移除其他非 Matter 裝置,可以發出同步要求 (請參閱「要求同步」),或刪除 Cloud-to-cloud 整合 (請參閱「刪除已啟動的雲端對雲端整合」)。
如果您在不支援的非 Matter 裝置上呼叫 decommissionDevice(),系統會擲回 HomeException。
移除非 Matter 裝置後,請檢查裝置是否仍在清單中,確認是否已成功移除:
var removedDevice: HomeDevice? = null runBlockingCustom { try { removedDevice = homeManager.devices().get(deviceId) } catch (exception: Exception) { println("removal successful!") } } if (removedDevice != null) { println("removal failed!") }