Intent ของสมาร์ทโฮมคือออบเจ็กต์การรับส่งข้อความที่เรียบง่ายที่อธิบายการดำเนินการของ smart home ที่จะทำ เช่น เปิดไฟหรือแคสต์เสียงไปยังลำโพง
Intent ทั้งหมดของ smart home อยู่ในเนมสเปซ action.devices
และคุณต้องระบุ Fulfillment เหล่านั้น เมื่อใดก็ตามที่ Google Assistant ส่ง Intent ที่จะดำเนินการตามคำสั่งซื้อ ระบบจะส่งโทเค็นเพื่อการเข้าถึง OAuth 2 ของบุคคลที่สามในส่วนหัวการให้สิทธิ์
ต่อไปนี้คือ Intent smart home ที่รองรับ
ซิงค์
ระบบใช้ Intent ของ action.devices.SYNC
เพื่อขอรายการอุปกรณ์ smart home เครื่องที่ผู้ใช้ได้เชื่อมต่อและพร้อมใช้งาน
เมื่อผู้ใช้ตั้งค่าอุปกรณ์ด้วย Google Home app (GHA) ระบบจะตรวจสอบสิทธิ์ในโครงสร้างพื้นฐานของระบบคลาวด์ด้วย จากนั้น Assistant จะได้รับโทเค็น OAuth2 ณ จุดนี้ Assistant จะส่ง Intent action.devices.SYNC
ไปยังการดำเนินการเพื่อเรียกข้อมูลรายการเริ่มต้นของอุปกรณ์และความสามารถของผู้ใช้จากโครงสร้างพื้นฐานของระบบคลาวด์
![ตัวเลขนี้แสดงการโต้ตอบระหว่างโครงสร้างพื้นฐานของ Google กับโครงสร้างพื้นฐานของพาร์ทเนอร์ จากโครงสร้างพื้นฐานของ Google จะมีรายชื่อพาร์ทเนอร์ที่พร้อมใช้งานสำหรับแอปไคลเอ็นต์ Assistant ซึ่งจะย้ายไปยังโครงสร้างพื้นฐานของพาร์ทเนอร์เพื่อตรวจสอบสิทธิ์ OAuth ให้เสร็จสมบูรณ์ การตรวจสอบสิทธิ์ OAuth ในฝั่งพาร์ทเนอร์คือ WebView สำหรับการตั้งค่าพาร์ทเนอร์, OAuth WebView, การตั้งค่าและข้อกำหนดที่ไม่บังคับ และบริการระบบคลาวด์ของพาร์ทเนอร์ จากนั้นโครงสร้างพื้นฐานของพาร์ทเนอร์จะส่งคืนข้อมูลเข้าสู่ระบบ OAuth ไปยังแอปไคลเอ็นต์ Assistant บริการระบบคลาวด์ของพาร์ทเนอร์จะส่งอุปกรณ์และความสามารถที่พร้อมใช้งานไปยังบริการ Assistant ซึ่งจะจัดเก็บข้อมูลไว้ใน Home Graph](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome001.png?authuser=4&hl=th)
คุณสามารถส่งคําขอซิงค์ไปยัง Assistant เพื่อหลีกเลี่ยงการยกเลิกการลิงก์และการลิงก์บัญชีของผู้ใช้อีกครั้ง การดำเนินการนี้จะส่ง Intent action.devices.SYNC
ไปยัง Fulfillment ของคุณเพื่อซิงค์รายการอุปกรณ์และความสามารถ ดูข้อมูลเพิ่มเติมที่ใช้การซิงค์คำขอ
![แผนภาพโฟลว์ของความตั้งใจในการซิงค์](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome002.png?authuser=4&hl=th)
ระหว่างการตั้งค่าการดำเนินการตามคำสั่งซื้อในพื้นที่
แพลตฟอร์ม Local Home จะตรวจสอบการตอบสนอง SYNC
จากการดำเนินการตามคำสั่งซื้อในระบบคลาวด์ของการดำเนินการ smart home ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีแก้ไขการตอบกลับของ SYNC
เพื่อรองรับการดำเนินการตามคำสั่งซื้อในพื้นที่ได้ที่อัปเดตการตอบกลับ SYNC ใน Fulfillment ระบบคลาวด์
QUERY
ระบบใช้ Intent action.devices.QUERY
เพื่อค้นหาสถานะปัจจุบันของอุปกรณ์ smart home เครื่อง
เมื่อผู้ใช้ค้นหาสถานะอุปกรณ์ ให้ตอบคำถามอย่างเช่น Ok Google ไฟในครัวเปิดอยู่อะไรบ้าง
Assistant ส่ง Intent ของ action.devices.QUERY
ไปยังการดำเนินการตามคำสั่งซื้อ
![แผนภาพโฟลว์ของ Intent QUERY](https://developers.home.google.com/static/cloud-to-cloud/primer/images/query-diagram.png?authuser=4&hl=th)
เพื่อให้ผู้ใช้ได้รับประสบการณ์ที่ดีที่สุด คุณควรใช้สถานะรายงานเพื่อรายงานสถานะปัจจุบันของอุปกรณ์ของผู้ใช้กับ Google Home Graph โดยตรง ตัวอย่างเช่น การดำเนินการนี้ช่วยให้ Assistant ทราบว่าผู้ใช้เปิดหลอดไฟอัจฉริยะที่มีสวิตช์ไฟจริงหรือไม่
![การรายงานสถานะอุปกรณ์โดยใช้สถานะรายงาน](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome004.png?authuser=4&hl=th)
ดำเนินการ
ระบบจะใช้ Intent ของ action.devices.EXECUTE
เพื่อให้คำสั่ง
ในการดำเนินการในอุปกรณ์ smart home
เมื่อผู้ใช้ส่งคำสั่งไปยังอุปกรณ์ที่มี Assistant การดำเนินการตามคำสั่งซื้อจะได้รับ Intent action.devices.EXECUTE
ของการดำเนินการซึ่งอธิบายถึงการดำเนินการและอุปกรณ์ที่ต้องดำเนินการ ผู้ใช้จะดำเนินการในอุปกรณ์ได้ด้วยคำสั่ง เช่น Ok Google เปิดไฟห้องนั่งเล่น
![แผนผังโฟลว์ของความตั้งใจ EXECUTE](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome003.png?authuser=4&hl=th)
ยกเลิกการเชื่อมต่อ
Intent ของ action.devices.DISCONNECT
จะทริกเกอร์เพื่อแจ้งให้คุณทราบเมื่อผู้ใช้ยกเลิกการลิงก์บัญชีแอปกับ Assistant
หลังจากได้รับ Intent action.devices.DISCONNECT
แล้ว คุณไม่ควรรายงานสถานะสำหรับอุปกรณ์ของผู้ใช้รายนี้