Home API สำหรับ iOS นำเสนออุปกรณ์ทั้งหมดในระบบนิเวศ Google Home ในรูปแบบข้อมูลรวม โมเดลข้อมูลนี้ครอบคลุมอุปกรณ์ทุกประเภท (จาก Google Nest หรือผู้ผลิตบุคคลที่สาม) โดยไม่คำนึงถึงเทคโนโลยีสมาร์ทโฮม พื้นฐาน (เช่น Matter หรือ Cloud-to-cloud) และมี API ทั่วไปสำหรับสร้างประสบการณ์ของผู้ใช้สำหรับทั้งsmart home และนักพัฒนาแอปบนอุปกรณ์เคลื่อนที่
ประเภทอุปกรณ์
ประเภทอุปกรณ์ที่นำเสนอใน Home API เป็นการรวมโมเดลข้อมูล Matter และ Cloud-to-cloud บางส่วนได้มาจาก Matter โดยตรง บางส่วนเป็นส่วนขยายของประเภทอุปกรณ์ Matter และบางส่วนได้มาจาก Cloud-to-cloud
ประเภทอุปกรณ์ประกอบด้วยลักษณะเฉพาะที่ใช้ในการควบคุมและจัดการอุปกรณ์ ลักษณะจะมาจากคลัสเตอร์ Matter และลักษณะ Cloud-to-cloud เช่นเดียวกับ ประเภทอุปกรณ์ และจะแสดงในรูปแบบทั่วไปที่ คล้ายกับคลัสเตอร์ Matter ใน Home API ลักษณะที่ได้มาจาก Matter เรียกว่า traits ไม่ใช่ cluster
ดังนั้น ประเภทและลักษณะของอุปกรณ์ใน Home API จึงมีไว้เพื่อเป็นMatter-first ประเภทอุปกรณ์หรือลักษณะ Matter มีสิทธิ์เหนือกว่าอุปกรณ์อนาล็อก Cloud-to-cloud
ดูรายการประเภทอุปกรณ์และลักษณะของอุปกรณ์ได้ที่ประเภทอุปกรณ์ที่รองรับใน iOS
ลักษณะ
คุณลักษณะเวอร์ชัน Swift ถูกสร้างขึ้นเพื่อใช้งานใน Home API และประกอบด้วยฟีเจอร์เพิ่มเติมที่เฉพาะเจาะจงสำหรับ Home API (ไม่พบใน Matter หรือ Cloud-to-cloud) ตัวอย่างเช่น คุณลักษณะแต่ละรายการมีเมธอดสำหรับตรวจสอบว่าคุณลักษณะรองรับแอตทริบิวต์หรือคำสั่งเฉพาะหรือไม่ สิ่งนี้มีประโยชน์เมื่อกำหนดว่าสามารถดำเนินการอ่านสถานะหรือการดำเนินการบางอย่างบนอุปกรณ์ของผู้ใช้ได้หรือไม่ เนื่องจากอุปกรณ์ในประเภทอุปกรณ์หนึ่งๆ ไม่ได้คาดว่าจะมีคุณลักษณะทั้งหมดเหมือนกัน
หากต้องการนำเข้าลักษณะและประเภทอุปกรณ์ ให้ทำการนำเข้าโมดูล GoogleHomeTypes ลงในแอปพลิเคชันของคุณ:
import GoogleHomeTypes
นอกจากนี้ คุณยังสามารถใช้ typealias สำหรับชื่อลักษณะและประเภทอุปกรณ์เพื่อย่อโค้ดและหลีกเลี่ยงการทำซ้ำของเนมสเปซได้:
import GoogleHomeTypes
typealias OpenCloseTrait = Google.OpenCloseTrait
typealias OnOffTrait = Matter.OnOffTrait
typealias FanDevice = Matter.FanDeviceType
ลักษณะส่วนใหญ่ได้รับการรองรับให้ใช้กับระบบอัตโนมัติ และลักษณะบางอย่างจะใช้ได้กับระบบอัตโนมัติเท่านั้น ดูรายละเอียดเพิ่มเติมได้ที่การรองรับลักษณะของ Automation API ใน Android
องค์ประกอบประเภทอุปกรณ์
Home API รองรับคลัสเตอร์แอปพลิเคชัน Matter ส่วนใหญ่เป็นลักษณะเฉพาะในโมเดลข้อมูล ลักษณะที่ไม่สอดคล้องกับการควบคุมอุปกรณ์หรือสถานะ และไม่มีประโยชน์สำหรับผู้ใช้ปลายทาง เช่น การเชื่อมโยงและกลุ่ม จะไม่แสดงผ่าน Home API
ลักษณะที่ได้จากCloud-to-cloudลักษณะสมาร์ทโฮมมักจะมี
ชื่อเดียวกันระหว่าง Cloud-to-cloud กับ Home API เช่น ใน
ตัวอย่างของ OpenCloseTrait ส่วนที่เหลือแสดงเป็นส่วนขยายของคุณลักษณะ Matter ซึ่งสร้างขึ้นโดยใช้ส่วนขยายเฉพาะของผู้ผลิต Matter ลักษณะเหล่านี้เชื่อมช่องว่างสำหรับลักษณะ smart home โดยที่ฟังก์ชันการทำงานถูกแบ่งระหว่าง Matter SDK และระบบนิเวศ Google Home ตัวอย่างที่เฉพาะเจาะจง
ของเรื่องนี้คือGoogle*ประเภทอุปกรณ์ที่มาจาก
Cloud-to-cloud แต่ยังไม่มีอุปกรณ์ที่เทียบเท่ากับ Matter
ประเภทอุปกรณ์ประกอบด้วยลักษณะจากแหล่งที่มาอย่างน้อย 1 แหล่ง Matter หรือ Cloud-to-cloud
ตัวอย่างเช่น
FanDeviceType
ประกอบด้วยทั้ง 2 อย่างและมีลักษณะ 3 อย่างดังนี้
- ลักษณะ
IdentifyTraitMatter มีฟังก์ชันทั้งหมดจาก MatterIdentifyTrait - ลักษณะ
FanControlTraitMatter มีฟังก์ชันทั้งหมดจาก MatterFanControlTrait ExtendedFanControlTraitคุณลักษณะ Google มีฟังก์ชันทั้งหมด จาก smart homeFanSpeedTraitของ Google ที่ไม่ได้ ครอบคลุมอยู่ในคุณลักษณะFanControlTraitMatter
องค์ประกอบลักษณะเฉพาะประเภทนี้มอบแบบจำลองที่ยืดหยุ่นสำหรับฟังก์ชันประเภทอุปกรณ์ที่สมบูรณ์ โดยแยกแบบจำลองข้อมูล smart home ที่เป็นพื้นฐานออกไป