Intent

เจตนาของสมาร์ทโฮมคือออบเจ็กต์การรับส่งข้อความอย่างง่ายที่อธิบายว่าควรใช้การผสานรวม Cloud-to-cloud ใด เช่น เปิดไฟหรือส่งเสียงไปยังลำโพง

smart home เจตนาทั้งหมดจะอยู่ในเนมสเปซ action.devices และคุณต้องระบุการดำเนินการตามคำสั่งสำหรับเจตนาเหล่านั้น เมื่อใดก็ตามที่ Google Assistant ส่ง Intent ไปยังการดำเนินการตามคำสั่ง ระบบจะส่งโทเค็นเพื่อการเข้าถึง OAuth 2 ของบุคคลที่สามของผู้ใช้ในส่วนหัวการให้สิทธิ์

smart homeเจตนาที่รองรับมีดังนี้

ซิงค์

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
รูปที่ 1: การโต้ตอบระหว่าง Google กับโครงสร้างพื้นฐานของพาร์ทเนอร์

หากไม่ต้องการยกเลิกการลิงก์และลิงก์บัญชีของผู้ใช้ใหม่ คุณสามารถส่งคำขอซิงค์ ไปยัง Assistant ได้ ซึ่งจะส่งเจตนา action.devices.SYNC ไปยังการดำเนินการตามคำสั่งเพื่อซิงค์รายการอุปกรณ์และความสามารถ ดูข้อมูลเพิ่มเติมได้ที่ ใช้การซิงค์คำขอ

แผนภาพโฟลว์ของเจตนา SYNC
รูปที่ 2: ความตั้งใจในการซิงค์

ในระหว่างการตั้งค่าการดำเนินการตามคำสั่งในพื้นที่ แพลตฟอร์มบ้านอัจฉริยะจะตรวจสอบการตอบกลับ SYNC จากการดำเนินการตามคำสั่งบนระบบคลาวด์ของsmart home Action ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีแก้ไขSYNCคำตอบเพื่อรองรับการดำเนินการตามคำสั่งในร้านได้ที่อัปเดตคำตอบ SYNC ในการดำเนินการตามคำสั่งในระบบคลาวด์

QUERY

ใช้เจตนา action.devices.QUERY เพื่อค้นหาสถานะปัจจุบันของอุปกรณ์ smart home

เมื่อผู้ใช้ค้นหาสถานะอุปกรณ์เพื่อตอบคำถาม เช่น Ok Google ไฟในครัวเปิดอยู่ไหม Assistant จะส่ง Intent action.devices.QUERY ไปยัง การดำเนินการตามคำสั่ง

แผนภาพโฟลว์ของความตั้งใจ QUERY
รูปที่ 3: เจตนาของคำค้นหา

คุณควรใช้รายงานสถานะเพื่อรายงานสถานะปัจจุบันของอุปกรณ์ของผู้ใช้ไปยัง Google Home Graph โดยตรงเพื่อมอบประสบการณ์การใช้งานที่ดีที่สุดแก่ผู้ใช้ เช่น ฟีเจอร์นี้จะช่วยให้ Assistant ทราบว่าผู้ใช้เปิดไฟอัจฉริยะด้วยสวิตช์ไฟ จริงหรือไม่

การรายงานสถานะอุปกรณ์โดยใช้ Report State
รูปที่ 4: รายงานสถานะอุปกรณ์

EXECUTE

ระบบใช้เจตนา action.devices.EXECUTE เพื่อให้คำสั่ง ที่จะดำเนินการในอุปกรณ์ smart home

เมื่อผู้ใช้ส่งคำสั่งไปยังอุปกรณ์ที่มี Assistant การดำเนินการตามคำสั่งของคุณจะได้รับเจตนา action.devices.EXECUTE ไปยังการดำเนินการตามคำสั่งของคุณ ซึ่งอธิบายการดำเนินการและอุปกรณ์ที่จะดำเนินการ ผู้ใช้สามารถดำเนินการ ในอุปกรณ์ด้วยคำสั่ง เช่น Ok Google เปิดไฟในห้องนั่งเล่น

แผนภาพโฟลว์ของความตั้งใจ EXECUTE
รูปที่ 5: ความตั้งใจในการดำเนินการ

ยกเลิกการเชื่อมต่อ

ระบบจะทริกเกอร์action.devices.DISCONNECTเพื่อแจ้งให้คุณทราบ เมื่อผู้ใช้ยกเลิกการลิงก์บัญชีแอปจาก Assistant หลังจากได้รับaction.devices.DISCONNECT คุณไม่ควรรายงาน สถานะสำหรับอุปกรณ์ของผู้ใช้รายนี้