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 แอตทริบิวต์ที่ได้มาจะเรียกว่าแอตทริบิวต์ ไม่ใช่คลัสเตอร์
ดังนั้น ประเภทและลักษณะของอุปกรณ์ใน 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
องค์ประกอบประเภทอุปกรณ์
Home API รองรับMatterคลัสเตอร์แอปพลิเคชัน
ส่วนใหญ่เป็นลักษณะในโมเดลข้อมูล คลัสเตอร์การกำหนดค่าระดับต่ำที่ไม่มีประโยชน์โดยตรงสำหรับผู้ใช้ปลายทาง เช่น Binding จะไม่แสดงผ่าน Home API
ลักษณะที่ได้จากCloud-to-cloudลักษณะสมาร์ทโฮมมักจะมี
ชื่อเดียวกันระหว่าง Cloud-to-cloud กับ Home API เช่น ใน
ตัวอย่างของ OpenClose ส่วนอื่นๆ จะแสดงเป็นส่วนขยายของลักษณะ Matter ที่สร้างขึ้นโดยใช้ส่วนขยายเฉพาะของผู้ผลิต Matter
ลักษณะเหล่านี้จะช่วยลดช่องว่างสำหรับลักษณะ smart home ที่ฟังก์ชันการทำงานแยกกันระหว่าง SDK Matter กับระบบนิเวศของ Google Home ตัวอย่างที่เฉพาะเจาะจงของเรื่องนี้คือGoogle*ประเภทอุปกรณ์ที่มาจากCloud-to-cloudแต่ยังไม่มีอุปกรณ์ที่เทียบเท่ากับ Matter
ประเภทอุปกรณ์ประกอบด้วยลักษณะจากแหล่งที่มาอย่างน้อย 1 แหล่ง Matter หรือ Cloud-to-cloud
เช่น ประเภทอุปกรณ์ของแฟนๆประกอบด้วย ทั้ง 2 อย่างและมีลักษณะ 3 อย่างดังนี้
- คุณลักษณะ
IdentifyMatter มีฟังก์ชันการทำงานทั้งหมดจาก MatterIdentify - ลักษณะ
FanControlMatter มีฟังก์ชันทั้งหมดจากลักษณะ MatterFanControl ExtendedFanControlลักษณะของ Google จะมีฟังก์ชันทั้งหมดจากลักษณะของ smart homeFanSpeedของ Google ที่ลักษณะของFanControlMatter ไม่ครอบคลุม
การประกอบลักษณะประเภทนี้มีโมเดลที่ยืดหยุ่นสําหรับฟังก์ชันการทํางานของอุปกรณ์ประเภทต่างๆ อย่างสมบูรณ์ โดยจะแยกโมเดลsmart homeข้อมูล พื้นฐานออก
กลุ่มอุปกรณ์
กลุ่มอุปกรณ์แสดงถึงคอลเล็กชันอุปกรณ์ที่ผู้ใช้กำหนดภายในโครงสร้างเดียว กลุ่มอุปกรณ์แสดงโดยเอนทิตี DeviceGroup ซึ่งแตกต่างจาก HomeDevice
ดูข้อมูลเพิ่มเติมเกี่ยวกับกลุ่มอุปกรณ์ได้ที่API สำหรับบ้าน