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

API ของ Home สำหรับ 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 เรียกว่า traits ไม่ใช่ cluster

ดังนั้น ประเภทและลักษณะของอุปกรณ์ใน 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 โดยที่ฟังก์ชันการทำงานถูกแบ่งระหว่าง Matter SDK และระบบนิเวศ Google Home ตัวอย่างที่เฉพาะเจาะจง ของเรื่องนี้คือGoogle*ประเภทอุปกรณ์ที่มาจาก Cloud-to-cloud แต่ยังไม่มีอุปกรณ์ที่เทียบเท่ากับ Matter

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

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

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

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