โมเดลข้อมูลใน iOS

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 อย่าง ดังนี้

  • ลักษณะเฉพาะ IdentifyTrait Matter มีฟังก์ชันการทำงานทั้งหมดจาก Matter IdentifyTrait
  • ลักษณะเฉพาะ FanControlTrait Matter มีฟังก์ชันการทำงานทั้งหมดจาก Matter FanControlTrait
  • ลักษณะเฉพาะ Google ExtendedFanControlTrait มีฟังก์ชันการทำงานทั้งหมด จาก smart home Google FanSpeedTrait ที่ไม่ ครอบคลุมโดยลักษณะเฉพาะ FanControlTrait Matter

การประกอบลักษณะเฉพาะประเภทนี้มีรูปแบบที่ยืดหยุ่นสำหรับฟังก์ชันการทำงานของประเภทอุปกรณ์ที่สมบูรณ์ โดยจะแยกรูปแบบข้อมูลเบื้องหลังsmart homeออก