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
ตัวอย่างเช่น ประเภทอุปกรณ์พัดลม ประกอบด้วยลักษณะเฉพาะทั้ง 2 แหล่งและมีลักษณะเฉพาะ 3 อย่าง ดังนี้
- ลักษณะเฉพาะ
IdentifyMatter มี ฟังก์ชันการทำงานทั้งหมดจาก MatterIdentify - ลักษณะเฉพาะ
FanControlMatter มีฟังก์ชันการทำงานทั้งหมดจากลักษณะเฉพาะ MatterFanControl - ลักษณะเฉพาะ
ExtendedFanControlของ Google มีฟังก์ชันการทำงานทั้งหมดจาก Google smart homeFanSpeedซึ่งลักษณะเฉพาะFanControlMatter ไม่ครอบคลุม
การรวมลักษณะเฉพาะประเภทนี้มีรูปแบบที่ยืดหยุ่นสำหรับฟังก์ชันการทำงานของประเภทอุปกรณ์ที่สมบูรณ์ โดยจะแยกรูปแบบข้อมูลเบื้องหลังออกsmart home