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

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

  • ลักษณะเฉพาะ Identify Matter มี ฟังก์ชันการทำงานทั้งหมดจาก Matter Identify
  • ลักษณะเฉพาะ FanControl Matter มีฟังก์ชันการทำงานทั้งหมดจากลักษณะเฉพาะ Matter FanControl
  • ลักษณะเฉพาะ ExtendedFanControl ของ Google มีฟังก์ชันการทำงานทั้งหมดจาก Google smart home FanSpeed ซึ่งลักษณะเฉพาะ FanControl Matter ไม่ครอบคลุม

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