action.devices.SYNC

Intent นี้จะส่งคำขอรายการอุปกรณ์ที่เชื่อมโยงกับผู้ใช้ที่กำหนดและความสามารถของผู้ใช้

โดยจะทำงานระหว่างการลิงก์บัญชีหรือเมื่อผู้ใช้ ระบบจะซิงค์อุปกรณ์ให้ใหม่ด้วยตนเอง การดำเนินการตามคำสั่งซื้อควรตอบกลับด้วย ลักษณะและแอตทริบิวต์ที่รองรับสำหรับอุปกรณ์แต่ละเครื่อง

การตอบกลับ SYNC ของคุณควรแสดงผลอุปกรณ์ทั้งหมดที่เชื่อมโยงกับผู้ใช้ โดยไม่ได้ระบุว่าสามารถเข้าถึงอุปกรณ์ใดๆ ได้หรือไม่ ซึ่งจัดการโดย QUERY และ คำตอบคือ EXECUTE รายการ

โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อระบุและซิงค์

รูปแบบคำขอ

ช่อง ประเภท คำอธิบาย
requestId String

ต้องระบุ

รหัสของคำขอ

inputs อาร์เรย์

ต้องระบุ

รายการอินพุตที่ตรงกับคำขอ Intent

[item, ...] ออบเจ็กต์

ประเภทและเพย์โหลดที่เชื่อมโยงกับคำขอ Intent

intent

ต้องระบุ

(ค่าคงที่: "action.devices.SYNC")

ประเภทคำขอ Intent

ตัวอย่าง

คำขอซิงค์ Intent

{
 
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
 
"inputs": [
   
{
     
"intent": "action.devices.SYNC"
   
}
 
]
}

รูปแบบการตอบกลับ

ช่อง ประเภท คำอธิบาย
requestId String

ต้องระบุ

รหัสของคำขอที่เกี่ยวข้อง

payload ออบเจ็กต์

ต้องระบุ

เพย์โหลดการตอบกลับด้วยความตั้งใจ

agentUserId String

ต้องระบุ

แสดงถึงรหัสผู้ใช้ที่ไม่ซ้ำกัน (และเปลี่ยนแปลงไม่ได้) ในแพลตฟอร์มของตัวแทน สตริงนี้จะคลุมเครือสำหรับ Google ดังนั้นหากมีแบบฟอร์มที่เปลี่ยนแปลงไม่ได้และแบบฟอร์มที่เปลี่ยนแปลงได้ในฝั่งตัวแทน ให้ใช้แบบฟอร์มที่เปลี่ยนแปลงไม่ได้ (เช่น หมายเลขบัญชี ไม่ใช่อีเมล)

errorCode String

สำหรับข้อผิดพลาดที่เป็นระบบใน SYNC

debugString String

ข้อผิดพลาดโดยละเอียดที่จะไม่แสดงต่อผู้ใช้ แต่อาจบันทึกหรือใช้ในระหว่างการพัฒนา

devices อาร์เรย์

ต้องระบุ

รายการอุปกรณ์ที่ผู้ใช้เป็นเจ้าของ มีอุปกรณ์ที่ส่งคืนมา 0 เครื่องขึ้นไป (อุปกรณ์เป็น 0 เครื่อง หมายความว่าผู้ใช้ไม่มีอุปกรณ์หรือไม่ได้เชื่อมต่ออุปกรณ์ทั้งหมด)

[item, ...] ออบเจ็กต์

ข้อมูลเมตาของอุปกรณ์

id String

ต้องระบุ

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

type String

ต้องระบุ

ประเภทฮาร์ดแวร์ของอุปกรณ์

traits อาร์เรย์

ต้องระบุ

รายการลักษณะของอุปกรณ์นี้ แอตทริบิวต์นี้จะกำหนดคำสั่ง แอตทริบิวต์ และสถานะที่อุปกรณ์รองรับ

[item, ...] String

ชื่อของลักษณะที่รองรับ

name ออบเจ็กต์

ต้องระบุ

ชื่อของอุปกรณ์นี้

defaultNames อาร์เรย์

รายการชื่อที่นักพัฒนาแอประบุไว้แทนที่จะเป็นผู้ใช้ ซึ่งมักจะเป็นชื่อผู้ผลิต, SKU ฯลฯ

[item, ...] String

ชื่อเริ่มต้นของอุปกรณ์

name String

ต้องระบุ

ชื่อหลักของอุปกรณ์ โดยทั่วไปผู้ใช้จะเป็นผู้ระบุ ซึ่งเป็นชื่อที่ Assistant ต้องการอธิบายอุปกรณ์ในคำตอบด้วย

nicknames อาร์เรย์

ชื่อเพิ่มเติมที่ผู้ใช้ระบุสำหรับอุปกรณ์

[item, ...] String

ชื่อเล่นของอุปกรณ์

willReportState บูลีน

ต้องระบุ

ระบุว่าอุปกรณ์นี้จะอัปเดตสถานะของอุปกรณ์โดยฟีดแบบเรียลไทม์หรือไม่ (true เพื่อใช้ฟีดแบบเรียลไทม์สำหรับสถานะการรายงาน และ "เท็จ" เพื่อใช้โมเดลการสำรวจ)

notificationSupportedByAgent บูลีน

(ค่าเริ่มต้น: false)

ระบุว่ามีการเปิดใช้การแจ้งเตือนสำหรับอุปกรณ์หรือไม่

roomHint String

ระบุห้องปัจจุบันของอุปกรณ์ในบ้านของผู้ใช้เพื่อลดความซับซ้อนในการตั้งค่า

deviceInfo ออบเจ็กต์

มีช่องที่อธิบายอุปกรณ์สำหรับใช้ในการทำงานแบบแบบครั้งเดียวหากจำเป็น (เช่น "เฟิร์มแวร์เสียเวอร์ชัน X ที่สว่าง Y ต้องมีการปรับสี" หรือ "ข้อบกพร่องด้านความปลอดภัยต้องแจ้งเตือนผู้ใช้ทุกคนเกี่ยวกับเฟิร์มแวร์ Z")

manufacturer String

มีประโยชน์อย่างยิ่งเมื่อนักพัฒนาซอฟต์แวร์เป็นฮับสำหรับอุปกรณ์อื่นๆ Google อาจแสดงรายการมาตรฐานของผู้ผลิตไว้ที่นี่ เช่น ทั้ง TP-Link และ Smartthings อธิบายคำว่า "osram" แบบเดียวกัน

model String

รุ่นหรือตัวระบุ SKU ของอุปกรณ์ที่ต้องการ

hwVersion String

หมายเลขเวอร์ชันเฉพาะที่แนบมากับฮาร์ดแวร์ หากมี

swVersion String

หมายเลขเวอร์ชันเฉพาะที่แนบมากับซอฟต์แวร์/เฟิร์มแวร์ หากมี

attributes ออบเจ็กต์

สอดคล้องกับแอตทริบิวต์ต่อลักษณะที่อธิบายไว้ในการอ้างอิงสคีมาลักษณะแต่ละรายการ

customData ออบเจ็กต์

ออบเจ็กต์ที่นักพัฒนาซอฟต์แวร์กำหนดซึ่งจะแนบไปกับคำขอ QUERY และ EXECUTE ในอนาคต โดยมีขนาดสูงสุด 512 ไบต์ต่ออุปกรณ์ ใช้ออบเจ็กต์นี้เพื่อเก็บข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์ที่บริการระบบคลาวด์ของคุณอาจต้องการ เช่น ภูมิภาคทั่วโลกของอุปกรณ์ ข้อมูลในออบเจ็กต์นี้มีข้อจำกัดบางประการ ได้แก่ ไม่มีข้อมูลที่ละเอียดอ่อน ซึ่งรวมถึงแต่ไม่จำกัดเพียงข้อมูลส่วนบุคคลที่ระบุตัวบุคคลนั้นได้

otherDeviceIds อาร์เรย์

รายการรหัสสำรองที่ใช้ระบุอุปกรณ์ที่ซิงค์ในระบบคลาวด์สำหรับการดำเนินการในเครื่อง

[item, ...] ออบเจ็กต์

รหัสอุปกรณ์อื่น

agentId String

รหัสของตัวแทน โดยทั่วไปจะเป็นรหัสโปรเจ็กต์ในคอนโซล Actions

deviceId String

ต้องระบุ

รหัสอุปกรณ์ที่ตัวแทนกำหนด รหัสอุปกรณ์ต้องไม่ซ้ำกัน

ตัวอย่าง

การตอบสนองของ Intent

{
 
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
 
"payload": {
   
"agentUserId": "1836.15267389",
   
"devices": [
     
{
       
"id": "123",
       
"type": "action.devices.types.OUTLET",
       
"traits": [
         
"action.devices.traits.OnOff"
       
],
       
"name": {
         
"defaultNames": [
           
"My Outlet 1234"
         
],
         
"name": "Night light",
         
"nicknames": [
           
"wall plug"
         
]
       
},
       
"willReportState": false,
       
"roomHint": "kitchen",
       
"deviceInfo": {
         
"manufacturer": "lights-out-inc",
         
"model": "hs1234",
         
"hwVersion": "3.2",
         
"swVersion": "11.4"
       
},
       
"otherDeviceIds": [
         
{
           
"deviceId": "local-device-id"
         
}
       
],
       
"customData": {
         
"fooValue": 74,
         
"barValue": true,
         
"bazValue": "foo"
       
}
     
},
     
{
       
"id": "456",
       
"type": "action.devices.types.LIGHT",
       
"traits": [
         
"action.devices.traits.OnOff",
         
"action.devices.traits.Brightness",
         
"action.devices.traits.ColorSetting"
       
],
       
"name": {
         
"defaultNames": [
           
"lights out inc. bulb A19 color hyperglow"
         
],
         
"name": "lamp1",
         
"nicknames": [
           
"reading lamp"
         
]
       
},
       
"willReportState": false,
       
"roomHint": "office",
       
"attributes": {
         
"colorModel": "rgb",
         
"colorTemperatureRange": {
           
"temperatureMinK": 2000,
           
"temperatureMaxK": 9000
         
},
         
"commandOnlyColorSetting": false
       
},
       
"deviceInfo": {
         
"manufacturer": "lights out inc.",
         
"model": "hg11",
         
"hwVersion": "1.2",
         
"swVersion": "5.4"
       
},
       
"customData": {
         
"fooValue": 12,
         
"barValue": false,
         
"bazValue": "bar"
       
}
     
}
   
]
 
}
}