โมเดลข้อมูลใน 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-first 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

องค์ประกอบประเภทอุปกรณ์

API ของบ้านอัจฉริยะรองรับMatterกลุ่มแอปพลิเคชัน ส่วนใหญ่เป็นลักษณะในโมเดลข้อมูล ลักษณะที่ไม่สอดคล้องกับการควบคุมอุปกรณ์หรือสถานะ และไม่มีประโยชน์สำหรับผู้ใช้ปลายทาง เช่น การเชื่อมโยงและกลุ่ม จะไม่แสดงผ่าน Home API

ลักษณะที่ได้จากCloud-to-cloudลักษณะสมาร์ทโฮมมักจะมี ชื่อเดียวกันระหว่าง Cloud-to-cloud กับ Home API เช่น ใน ตัวอย่างของ OpenClose ส่วนอื่นๆ จะแสดงเป็นส่วนขยายของMatterลักษณะที่สร้างขึ้นโดยใช้ส่วนขยายเฉพาะของผู้ผลิตMatter ลักษณะเหล่านี้จะช่วยลดช่องว่างสำหรับลักษณะ smart home ที่ฟังก์ชันการทำงานแยกกันระหว่าง SDK Matter กับระบบนิเวศของ Google Home ตัวอย่างที่เฉพาะเจาะจง ของเรื่องนี้คือGoogle*ประเภทอุปกรณ์ที่มาจาก Cloud-to-cloud แต่ยังไม่มีอุปกรณ์ที่เทียบเท่ากับ Matter

ประเภทอุปกรณ์ประกอบด้วยลักษณะจากแหล่งที่มาอย่างใดอย่างหนึ่งหรือทั้ง 2 แหล่ง Matter หรือ Cloud-to-cloud

เช่น ประเภทอุปกรณ์พัดลมประกอบด้วย ทั้ง 2 อย่างและมีลักษณะ 3 อย่าง

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

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