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 จะเรียกว่า ลักษณะเฉพาะ ไม่ใช่ คลัสเตอร์
ดังนั้น ประเภทอุปกรณ์และลักษณะเฉพาะใน Home API จึงมีไว้เพื่อใช้กับ Matter-เป็นอันดับแรก ประเภทอุปกรณ์หรือลักษณะเฉพาะ 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
ประกอบด้วยทั้งและมีลักษณะเฉพาะ 3 อย่าง ดังนี้
- ลักษณะเฉพาะ
IdentifyTraitMatter มีฟังก์ชันการทำงานทั้งหมดจาก MatterIdentifyTrait - ลักษณะเฉพาะ
FanControlTraitMatter มีฟังก์ชันการทำงานทั้งหมดจาก MatterFanControlTrait - ลักษณะเฉพาะ Google
ExtendedFanControlTraitมีฟังก์ชันการทำงานทั้งหมด จาก smart home GoogleFanSpeedTraitที่ไม่ ครอบคลุมโดยลักษณะเฉพาะFanControlTraitMatter
การประกอบลักษณะเฉพาะประเภทนี้มีรูปแบบที่ยืดหยุ่นสำหรับฟังก์ชันการทำงานของประเภทอุปกรณ์ที่สมบูรณ์ โดยจะแยกรูปแบบข้อมูลเบื้องหลังsmart homeออก