Home API สำหรับ Android จะแสดงอุปกรณ์ทั้งหมดในระบบนิเวศของ 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ที่คล้ายกัน
ดูรายการประเภทอุปกรณ์และลักษณะเฉพาะของอุปกรณ์ได้ที่ประเภทอุปกรณ์ที่รองรับใน Android
ลักษณะเฉพาะ
ระบบจะสร้างลักษณะเฉพาะเวอร์ชัน Kotlin เพื่อใช้ใน Home API และมี ฟีเจอร์เพิ่มเติมที่เฉพาะเจาะจงสำหรับ Home API (ซึ่งไม่มีใน Matter หรือ Cloud-to-cloud) เช่น ลักษณะเฉพาะแต่ละอย่างมีเมธอดเพื่อตรวจสอบว่าลักษณะเฉพาะรองรับแอตทริบิวต์หรือ คำสั่งที่เฉพาะเจาะจงหรือไม่ ซึ่งจะเป็นประโยชน์เมื่อพิจารณาว่าสามารถอ่านสถานะหรือดำเนินการบางอย่างในอุปกรณ์ของผู้ใช้ได้หรือไม่ เนื่องจากอุปกรณ์บางประเภทอาจไม่มีฟีเจอร์เหมือนกันทั้งหมด
ลักษณะเฉพาะแต่ละอย่างจะอยู่ในเนมสเปซของตัวเองและต้องนำเข้าทีละรายการเพื่อใช้งาน
ตัวอย่างเช่น หากต้องการใช้ลักษณะเฉพาะ เปิด/ปิด Matter และประเภทอุปกรณ์ปลั๊กอินเปิด/ปิด ให้นำเข้าแพ็กเกจต่อไปนี้ลงในแอปพลิเคชัน
import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice
สำหรับประเภทอุปกรณ์โรงจอดรถ (จากสมาร์ทโฮมของ Google) ให้รวมลักษณะเฉพาะ Matter และ Google เข้าด้วยกัน:
import com.google.home.google.LockUnlock
import com.google.home.matter.standard.DoorLock
import com.google.home.matter.standard.GoogleGarageDevice
Android Studio มีฟังก์ชันเติมข้อความอัตโนมัติและมักจะ
จัดการชื่อแพ็กเกจแบบเต็มให้คุณเมื่อเพิ่มบรรทัด import ลงในไฟล์ต้นฉบับ
ในโปรเจ็กต์ อย่างไรก็ตาม ชื่อแพ็กเกจจะไม่สอดคล้องกันในอุปกรณ์และลักษณะเฉพาะทุกประเภท โปรดดูข้อมูลอ้างอิงเพื่อตรวจสอบชื่อแพ็กเกจที่ถูกต้องสำหรับแต่ละ
DeviceType หรือ
Trait
ระบบรองรับการใช้ลักษณะเฉพาะส่วนใหญ่กับการทำงานอัตโนมัติ และลักษณะเฉพาะบางอย่างพร้อมใช้งานสำหรับการทำงานอัตโนมัติ เท่านั้น ดูรายละเอียดเพิ่มเติมได้ที่การรองรับลักษณะเฉพาะของ Automation API ใน Android
องค์ประกอบของประเภทอุปกรณ์
Home API รองรับคลัสเตอร์แอปพลิเคชัน Matter ส่วนใหญ่ เป็นลักษณะเฉพาะในโมเดลข้อมูล ระบบจะไม่แสดงลักษณะเฉพาะที่ไม่เกี่ยวข้องกับการควบคุมหรือสถานะของอุปกรณ์และไม่มีประโยชน์สำหรับผู้ใช้ปลายทาง เช่น การผูกและการจัดกลุ่ม ผ่าน Home API
ลักษณะเฉพาะที่ได้มาจาก Cloud-to-cloud ลักษณะเฉพาะสมาร์ทโฮม มักจะมี
ชื่อเดียวกันระหว่าง Cloud-to-cloud กับ Home API เช่น ใน
ตัวอย่างของ OpenClose ส่วนลักษณะเฉพาะอื่นๆ จะแสดงเป็นส่วนขยายของ
Matter ลักษณะเฉพาะ ซึ่งสร้างขึ้นโดยใช้ Matter
ส่วนขยายเฉพาะของผู้ผลิต ลักษณะเฉพาะเหล่านี้ช่วยลดช่องว่างสำหรับลักษณะเฉพาะ
smart homeที่ฟังก์ชันการทำงานแยกกันระหว่าง
Matter SDK กับระบบนิเวศของ Google Home ตัวอย่างที่เฉพาะเจาะจง
คือประเภทอุปกรณ์ Google* ซึ่งมาจาก
Cloud-to-cloud แต่ยังไม่มีลักษณะเฉพาะ Matter ที่คล้ายกัน
ประเภทอุปกรณ์ประกอบด้วยลักษณะเฉพาะจากแหล่งที่มาอย่างน้อย 1 แหล่ง ได้แก่ Matter หรือ Cloud-to-cloud
ตัวอย่างเช่น ประเภทอุปกรณ์พัดลม ประกอบด้วยลักษณะเฉพาะ Matter และ Google และมีลักษณะเฉพาะ 3 อย่าง ดังนี้
- ลักษณะเฉพาะ
IdentifyMatter มี ฟังก์ชันการทำงานทั้งหมดจาก MatterIdentify - ลักษณะเฉพาะ
FanControlMatter มีฟังก์ชันการทำงานทั้งหมดจากลักษณะเฉพาะ MatterFanControl - ลักษณะเฉพาะ
ExtendedFanControlGoogle มีฟังก์ชันการทำงานทั้งหมดจาก ลักษณะเฉพาะ smart homeFanSpeedสมาร์ทโฮมของ Google ซึ่งลักษณะเฉพาะFanControlMatter Matter ไม่ครอบคลุม
การรวมลักษณะเฉพาะประเภทนี้มีรูปแบบที่ยืดหยุ่นสำหรับฟังก์ชันการทำงานของประเภทอุปกรณ์ที่สมบูรณ์ โดยจะแยกรูปแบบข้อมูลเบื้องหลังออกsmart home