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

การนำอุปกรณ์ออกเกี่ยวข้องกับการเลิกใช้งานอุปกรณ์จากโครงสร้าง ผู้ใช้สามารถ ทำได้โดยใช้ 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ที่ไม่ใช่ HomeError ระบบจะแสดงข้อผิดพลาด

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

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