action.devices.SYNC

Intent ini meminta daftar perangkat yang terkait dengan pengguna tertentu dan kemampuannya.

Ini dipicu selama penautan akun atau saat pengguna menyinkronkan ulang perangkat mereka secara manual. fulfillment Anda harus merespons dengan karakteristik dan atribut yang didukung untuk setiap perangkat.

Respons SYNC Anda akan menampilkan semua perangkat yang terkait dengan pengguna. Tindakan ini tidak menentukan apakah ada perangkat tertentu yang dapat dijangkau. Hal ini ditangani oleh QUERY dan EXECUTE respons.

Untuk mengetahui detail selengkapnya, lihat Mengidentifikasi dan menyinkronkan.

Format permintaan

Kolom Jenis Deskripsi
requestId String

Wajib.

ID permintaan.

inputs Array

Wajib.

Daftar input yang cocok dengan permintaan intent.

[item, ...] Objek

Jenis dan payload yang terkait dengan permintaan intent.

intent

Wajib.

(Nilai konstanta: "action.devices.SYNC")

Jenis permintaan intent.

Contoh

Permintaan intent SYNC

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

Format respons

Kolom Jenis Deskripsi
requestId String

Wajib.

ID permintaan terkait.

payload Objek

Wajib.

Payload respons intent.

agentUserId String

Wajib.

Mencerminkan ID pengguna unik (dan tidak dapat diubah) pada platform agen. String ini buram bagi Google, jadi jika ada formulir yang tidak dapat diubah vs bentuk yang dapat diubah di sisi agen, gunakan bentuk yang tidak dapat diubah (misalnya, nomor rekening, bukan email).

errorCode String

Untuk error sistematis pada SYNC

debugString String

{i>Error<i} terperinci yang tidak akan pernah ditampilkan kepada pengguna tetapi mungkin dicatat atau digunakan selama pengembangan.

devices Array

Wajib.

Daftar perangkat yang dimiliki pengguna. Nol atau beberapa perangkat ditampilkan (tidak ada perangkat yang berarti pengguna tidak memiliki perangkat, atau telah memutuskan sambungan semua perangkat).

[item, ...] Objek

Metadata perangkat.

id String

Wajib.

ID perangkat di cloud developer. Nama ini harus unik bagi pengguna dan developer, karena dalam kasus berbagi, kami dapat menggunakannya untuk menghapus beberapa tampilan dari perangkat yang sama. Nilai ini harus tidak dapat diubah untuk perangkat; jika berubah, Asisten akan memperlakukannya sebagai perangkat baru.

type String

Wajib.

Jenis hardware perangkat.

traits Array

Wajib.

Daftar karakteristik yang dimiliki perangkat ini. Ini mendefinisikan perintah, atribut, dan status yang didukung perangkat.

[item, ...] String

Nama karakteristik yang didukung.

name Objek

Wajib.

Nama perangkat ini.

defaultNames Array

Daftar nama yang diberikan oleh developer, bukan pengguna, sering kali nama produsen, SKU, dll.

[item, ...] String

Nama default perangkat.

name String

Wajib.

Nama utama perangkat, umumnya diberikan oleh pengguna. Nama ini juga akan digunakan Asisten untuk mendeskripsikan perangkat dalam respons.

nicknames Array

Nama tambahan yang diberikan oleh pengguna untuk perangkat.

[item, ...] String

Nama panggilan perangkat.

willReportState Boolean

Wajib.

Menunjukkan apakah status perangkat ini akan diperbarui melalui Feed Real Time. (benar untuk menggunakan Feed Real Time untuk status pelaporan, dan salah untuk menggunakan model polling.)

notificationSupportedByAgent Boolean

(Default: false)

Menunjukkan apakah notifikasi diaktifkan untuk perangkat.

roomHint String

Memberikan ruangan perangkat saat ini di rumah pengguna untuk menyederhanakan penyiapan.

deviceInfo Objek

Berisi kolom yang menjelaskan perangkat untuk digunakan dalam logika satu kali jika diperlukan (misalnya, 'firmware rusak versi X dari cahaya Y memerlukan penyesuaian warna', atau 'kerusakan keamanan perlu memberi tahu semua pengguna tentang firmware Z').

manufacturer String

Hal ini sangat berguna jika developer menjadi pusat untuk perangkat lain. Google dapat memberikan daftar produsen standar di sini sehingga mis. TP-Link dan Smartthings keduanya menggambarkan 'osram' dengan cara yang sama.

model String

Model atau ID SKU perangkat tertentu.

hwVersion String

Nomor versi spesifik yang terpasang ke hardware jika tersedia.

swVersion String

Nomor versi spesifik yang disertakan pada software/firmware, jika tersedia.

attributes Objek

Disesuaikan dengan atribut per karakteristik yang dijelaskan di setiap referensi skema karakteristik.

customData Objek

Objek yang ditentukan oleh developer yang akan dilampirkan ke permintaan QUERY dan EXECUTE mendatang, maksimum 512 byte per perangkat. Gunakan objek ini untuk menyimpan informasi tambahan tentang perangkat yang mungkin diperlukan layanan cloud Anda, seperti region global perangkat. Data dalam objek ini memiliki beberapa batasan: Tidak ada informasi sensitif, termasuk tetapi tidak terbatas pada Informasi Identitas Pribadi.

otherDeviceIds Array

Daftar ID alternatif yang digunakan untuk mengidentifikasi perangkat yang disinkronkan di cloud untuk eksekusi lokal.

[item, ...] Objek

ID perangkat alternatif.

agentId String

ID agen. Umumnya, ini adalah project ID di konsol Actions.

deviceId String

Wajib.

ID perangkat yang ditentukan oleh agen. ID perangkat harus unik.

Contoh

Respons intent 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"
        }
      }
    ]
  }
}