action.devices.SYNC

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

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

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

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

รูปแบบคําขอ

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

ต้องระบุ

รหัสของคําขอ

inputs อาร์เรย์

ต้องระบุ

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

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

พิมพ์และเพย์โหลดที่เชื่อมโยงกับคําขอ Intent

intent

ต้องระบุ

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

ประเภทคําขอ Intent

ตัวอย่าง

คําขอ Intent ของ SYNC

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

รูปแบบคําตอบ

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

ต้องระบุ

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

payload ออบเจ็กต์

ต้องระบุ

เพย์โหลดการตอบกลับ Intent

agentUserId สตริง

ต้องระบุ

แสดง User-ID ที่ไม่ซ้ํากัน (และเปลี่ยนแปลงไม่ได้) บนแพลตฟอร์มของ Agent สตริงจะคลุมเครือกับ Google ดังนั้นหากมีแบบฟอร์มที่เปลี่ยนแปลงไม่ได้และแบบฟอร์มที่เปลี่ยนแปลงไม่ได้ในฝั่งตัวแทน ให้ใช้แบบฟอร์มที่เปลี่ยนแปลงไม่ได้ (เช่น หมายเลขบัญชี แทนที่จะเป็นอีเมล)

errorCode สตริง

สําหรับข้อผิดพลาดอย่างเป็นระบบใน SYNC

debugString สตริง

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

devices อาร์เรย์

ต้องระบุ

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

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

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

id สตริง

ต้องระบุ

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

type สตริง

ต้องระบุ

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

traits อาร์เรย์

ต้องระบุ

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

[item, ...] สตริง

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

name ออบเจ็กต์

ต้องระบุ

ชื่ออุปกรณ์

defaultNames อาร์เรย์

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

[item, ...] สตริง

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

name สตริง

ต้องระบุ

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

nicknames อาร์เรย์

ชื่ออื่นๆ ที่กําหนดโดยผู้ใช้สําหรับอุปกรณ์

[item, ...] สตริง

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

willReportState บูลีน

ต้องระบุ

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

notificationSupportedByAgent บูลีน

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

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

roomHint สตริง

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

deviceInfo ออบเจ็กต์

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

manufacturer สตริง

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

model สตริง

รุ่นหรือตัวระบุ SKU ของอุปกรณ์หนึ่งๆ

hwVersion สตริง

หมายเลขเวอร์ชันที่เจาะจงที่แนบมากับฮาร์ดแวร์ (หากมี)

swVersion สตริง

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

attributes ออบเจ็กต์

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

customData ออบเจ็กต์

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

otherDeviceIds อาร์เรย์

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

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

รหัสอุปกรณ์สํารอง

agentId สตริง

รหัสของ Agent โดยทั่วไป นี่คือรหัสโปรเจ็กต์ในคอนโซลการดําเนินการ

deviceId สตริง

ต้องระบุ

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

ตัวอย่าง

การตอบกลับความตั้งใจของ SYNC

{
  "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"
        }
      }
    ]
  }
}