นำอุปกรณ์ออก

การนำอุปกรณ์ออกเกี่ยวข้องกับการเลิกใช้งานอุปกรณ์จากโครงสร้าง ผู้ใช้สามารถ ทำได้โดยใช้ Google Home app (GHA) และแอปสามารถ เลิกใช้งานอุปกรณ์สมาร์ทโฮมโดยอัตโนมัติได้ โดยมีข้อจำกัดเกี่ยวกับอุปกรณ์ที่นำออกได้ นอกจากนี้ การนำอุปกรณ์ออกอาจส่งผลต่อโครงสร้างและประสบการณ์ของผู้ใช้ สำหรับแอปของคุณ

สิ่งที่คุณนำออกได้

คุณสามารถนำอุปกรณ์ต่อไปนี้ออกโดยใช้โปรแกรมผ่าน Home API

  • Matter อุปกรณ์ที่แอปของคุณมีสิทธิ์เข้าถึง
  • Matter ตราบใดที่แอปของคุณมีสิทธิ์เข้าถึงอุปกรณ์ทั้งหมดที่เชื่อมต่อผ่านบริดจ์ การนำบริดจ์ออกจะเป็นการนำอุปกรณ์ Matter ทั้งหมดที่เชื่อมต่อกับบริดจ์ออก

สิ่งที่คุณนำออกไม่ได้

คุณนำอุปกรณ์ต่อไปนี้ออกโดยใช้โปรแกรมผ่าน Home API ไม่ได้

  • Matter อุปกรณ์ที่แอปของคุณไม่มี สิทธิ์ของผู้ใช้
  • อุปกรณ์แต่ละเครื่องที่เชื่อมต่ออยู่หลังบริดจ์ Matter
  • มีอุปกรณ์ที่ลิงก์ไว้ Cloud-to-cloud เครื่อง
  • อุปกรณ์แบบ 2 เส้นทาง (อุปกรณ์ที่ใช้ทั้ง Matter และ Cloud-to-cloud)

สิ่งสำคัญที่ควรพิจารณาก่อนนำอุปกรณ์ออก

เมื่อแอปนำอุปกรณ์ออก ระบบจะนำอุปกรณ์ดังกล่าวออกจากโครงสร้างทั้งหมด ซึ่งจะส่งผลต่อผู้ใช้และแอปทั้งหมด รวมถึง GHA ด้วย การเลิกใช้งานอุปกรณ์อาจส่งผลข้างเคียงเพิ่มเติมดังนี้ ทั้งนี้ขึ้นอยู่กับประเภทของอุปกรณ์

  • อุปกรณ์ที่ใช้ประเภทอุปกรณ์หลายประเภท: หากอุปกรณ์มีฟังก์ชันหลายอย่าง เช่น หลอดไฟอัจฉริยะที่ทำหน้าที่เป็นฮับด้วย การนำอุปกรณ์ออกจะนำอุปกรณ์ที่เชื่อมโยงทั้งหมดออกด้วย แอปควรแจ้งให้ผู้ใช้ทราบหากฟังก์ชันของอุปกรณ์หลายอย่างจะได้รับผลกระทบ
  • ประวัติอุปกรณ์: การลบอุปกรณ์อาจส่งผลให้ระบบนำประวัติของอุปกรณ์ออก
  • แพลตฟอร์มที่แชร์: โปรดใช้ความระมัดระวังเมื่อลบอุปกรณ์ในแพลตฟอร์มที่แชร์ เนื่องจากอาจส่งผลกระทบโดยไม่ตั้งใจต่อผู้อื่น
  • การตรวจสอบสิทธิ์: การนำอุปกรณ์ออกควรดำเนินการในแพลตฟอร์มที่ผ่านการตรวจสอบสิทธิ์แล้วเท่านั้น เช่น โทรศัพท์มือถือ ไม่ใช่ในอุปกรณ์ที่ไม่ผ่านการตรวจสอบสิทธิ์ เช่น ทีวี การดำเนินการดังกล่าวละเมิดนโยบายสำหรับนักพัฒนาแอป Google Home

นำอุปกรณ์ออก

การตรวจสอบสิทธิ์ของอุปกรณ์ในการนำออกมีค่าใช้จ่ายสูงและควรดำเนินการเฉพาะในกรณีที่จำเป็นเท่านั้น หากต้องการตรวจสอบว่าอุปกรณ์มีสิทธิ์นำออกหรือไม่ ให้ใช้คำสั่งต่อไปนี้

swift let eligibility = try await device.decommissionEligibility

อุปกรณ์ Matter

คุณนำอุปกรณ์ Matter ออกแบบเป็นโปรแกรมได้หากอุปกรณ์ไม่ได้อยู่หลังบริดจ์ Matter

หากต้องการนำMatterอุปกรณ์ออก ให้โทรหา decommission()อุปกรณ์ดังกล่าว

swift let decommissionedDeviceIDs = try await device.decommission()

หากการเรียกใช้ไม่ทำให้เกิดข้อผิดพลาด แสดงว่าสำเร็จ

คุณตรวจสอบได้ว่ารหัสของอุปกรณ์อยู่ในรายการที่ส่งคืนโดย decommission()หรือไม่ โดยทำดังนี้

swift do { let decommissionedDeviceIDs = try await device.decommission() print("The following devices were decommissioned: \(decommissionedDeviceIDs)") } catch { print("An error occurred: \(error)") }

อุปกรณ์ที่ไม่ใช่ Matter

ไม่สามารถนำอุปกรณ์ที่ไม่ใช่ Matter ออกโดยใช้โปรแกรม หากต้องการนำอุปกรณ์ที่ไม่ใช่ Matter ออก คุณสามารถ ส่งคำขอซิงค์ (ดูส่งคำขอ ซิงค์) หรือลบการผสานรวม Cloud-to-cloud (ดู ลบการผสานรวมระบบคลาวด์ต่อระบบคลาวด์ที่เปิดตัวแล้ว)

หากคุณเรียกใช้ decommission() ในอุปกรณ์ที่Matterไม่ใช่ Matter ระบบจะส่งHomeError ออกมา

เมื่อนำอุปกรณ์ที่ไม่ใช่ Matter ออกแล้ว ให้ตรวจสอบว่าอุปกรณ์นั้นยังอยู่หรือไม่เพื่อยืนยันว่านำออกเรียบร้อยแล้ว

swift guard try await !self.context.devices().list().contains(where: { $0.id == deviceID }) else { // The device still exists in Home APIs }

อุปกรณ์หลายแหล่ง

อุปกรณ์หลายแหล่งคืออุปกรณ์ที่ใช้ทั้ง API ของ Cloud-to-cloud และ Matter หากตรวจสอบสิทธิ์ในการเลิกใช้งาน อุปกรณ์ดังกล่าว คุณจะได้รับ DecommissionIneligibleReason.multiSourceDevice ซึ่งระบุว่าเลิกใช้งานอุปกรณ์ไม่ได้เนื่องจากเป็นอุปกรณ์แบบหลายแหล่งที่มา

หากต้องการนำอุปกรณ์แบบหลายแหล่งที่มาออก ให้ทำตามขั้นตอนต่อไปนี้

  1. นำการเชื่อมโยง Cloud-to-cloud ออกตามที่อธิบายไว้ใน อุปกรณ์ที่ไม่ใช่ Matter
  2. เลิกใช้งานอุปกรณ์ Matter ตามที่อธิบายไว้ใน อุปกรณ์ Matter

ลำดับของขั้นตอนเหล่านี้มีความสำคัญ หากคุณพยายาม เลิกใช้งานMatterอุปกรณ์ก่อนที่จะนำการเชื่อมโยงCloud-to-cloudออก ระบบจะแสดงHomeError