ภาพรวมของ Home API สำหรับ Android

Google Home API สำหรับ Android มีแพลตฟอร์ม API แบบรวมเพื่อให้นักพัฒนาแอปโต้ตอบกับสถานะของเอนทิตีในบ้านของผู้ใช้ เอนทิตีเหล่านี้สามารถอธิบายอุปกรณ์และข้อมูลที่ไม่ใช่อุปกรณ์ซึ่งเชื่อมโยงกับโครงสร้างและห้องของผู้ใช้

Home API จะกำหนดเอนทิตีต่อไปนี้ที่ผู้ใช้โต้ตอบได้

  • โครงสร้างแสดงถึงบ้านที่มีห้องและอุปกรณ์
  • ห้องเป็นส่วนหนึ่งของโครงสร้างและมีอุปกรณ์
  • อุปกรณ์ใช้ลักษณะที่มีแอตทริบิวต์ เป็นไปตามประเภท ส่งเหตุการณ์ และตอบสนองต่อคําสั่ง
  • การทำงานอัตโนมัติเป็นส่วนหนึ่งของโครงสร้างและใช้ข้อมูลเมตาและอุปกรณ์ในบ้านเพื่อทำงานต่างๆ ในบ้านโดยอัตโนมัติ

รูปที่ 1 แสดงสถาปัตยกรรมนี้

แผนภาพแสดงสถาปัตยกรรมของ Home API
รูปที่ 1: สถาปัตยกรรมของ Home API

ประเภทอุปกรณ์ Home API อาจรองรับ Matter ซึ่งเป็นมาตรฐานแบบเปิดสำหรับสมาร์ทโฮม หรือเป็นอุปกรณ์ Cloud-to-cloud ในระบบนิเวศของ Google Home อุปกรณ์บางประเภทอาจรวมฟังก์ชันการทำงานจากทั้ง 2 ประเภท ดูข้อมูลเพิ่มเติมที่หัวข้อประเภทอุปกรณ์ที่รองรับใน Android

ใน Matter ฟังก์ชันการทำงานของอุปกรณ์จะจัดกลุ่มตามคลัสเตอร์ ซึ่งแสดงใน Home API เป็นMatterลักษณะมาตรฐาน Home API รองรับชุดคลัสเตอร์ Matter มาตรฐานตามที่ระบุไว้ในข้อกําหนด Matter ปัจจุบัน

ในระบบนิเวศของ Google Home ฟังก์ชันการทำงานของอุปกรณ์จะจัดกลุ่มตามลักษณะสมาร์ทโฮม ซึ่งแสดงใน Home API เป็นลักษณะสมาร์ทโฮมของ Google Home API รองรับชุดลักษณะสมาร์ทโฮมตามที่ระบุไว้ในโปรแกรม Cloud-to-cloud

นอกจากนี้ยังมีลักษณะอื่นๆ เช่น คลัสเตอร์เฉพาะผู้ผลิตและลักษณะแพลตฟอร์ม ดูข้อมูลเพิ่มเติมได้ที่โมเดลข้อมูลใน Android

ภาษา

Home API สําหรับ Android เขียนด้วยภาษา Kotlin และมีอินเทอร์เฟซ Kotlin ที่เป็นรูปแบบที่ใช้ Flow เพื่อจัดการสถานะและการสมัครใช้บริการ ซึ่งมีข้อดีหลายประการเหนือกว่า API การสมัครใช้บริการมาตรฐาน

เราขอแนะนำให้ทำความคุ้นเคยกับเอกสารประกอบของ Kotlin เกี่ยวกับโคโริวทีน, Flow และ Jetpack Compose หากยังไม่ได้ดำเนินการ

ตัวระบุเอนทิตี

เอนทิตีแต่ละรายการใน Home API มีรหัสที่แสดงตัวระบุหลัก รหัสนี้เป็นตัวระบุที่ไม่ซ้ำกันและคงที่ ซึ่งจะไม่เปลี่ยนแปลงตลอดอายุการใช้งานของเอนทิตี รหัสนี้ใช้เพื่อแคชออบเจ็กต์หรือตรวจสอบความเท่าเทียมกันได้ เนื่องจากข้อมูลเมตาของเอนทิตีอาจเปลี่ยนแปลงได้

ดูอินเทอร์เฟซ HasId เพื่อดูว่าเอนทิตีใดมีรหัส

การแมปคำศัพท์

เอนทิตีใน Home API จะแมปกับแนวคิด Matter และ Cloud-to-cloud ดังนี้

API สำหรับ Home Matter Cloud-to-cloud
ลักษณะ คลัสเตอร์ ลักษณะ
แอตทริบิวต์ แอตทริบิวต์ แอตทริบิวต์ สถานะ
คำสั่ง คำสั่ง คำสั่ง
กิจกรรม กิจกรรม การตอบกลับเพื่อติดตามผล การแจ้งเตือน