action.devices.SYNC

Bu niyet, belirtilen kullanıcı ile ilişkili cihaz listesini ve işlevlerini ister.

Hesap bağlama sırasında veya kullanıcı cihazlarını manuel olarak yeniden senkronize ettiğinde tetiklenir. Sipariş karşılama, her cihaz için desteklenen özellikler ve özelliklerle yanıt vermelidir.

SYNC yanıtınız, kullanıcıyla ilişkili tüm cihazları döndürmelidir. Bu, belirli bir cihaza erişilebilir olup olmadığını belirlemez. Bu işlem, QUERY ve EXECUTE yanıtlarını kullanır.

Daha ayrıntılı bilgi için Tanımlama ve senkronize etme başlıklı makaleyi inceleyin.

İstek biçimi

Alanlar Tür Açıklama
requestId Dize

Zorunludur.

İsteğin kimliği.

inputs Dizi

Zorunludur.

Amaç isteğiyle eşleşen girişlerin listesi.

[item, ...] Nesne

Amaç isteğiyle ilişkili tür ve yük.

intent

Zorunludur.

(Sabit değer: "action.devices.SYNC")

Amaç istek türü.

Örnekler

Senkronizasyon isteği senkronizasyonu

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

Yanıt biçimi

Alanlar Tür Açıklama
requestId Dize

Zorunludur.

İlgili isteğin kimliği.

payload Nesne

Zorunludur.

Intent yanıt yükü.

agentUserId Dize

Zorunludur.

Temsilcinin platformundaki benzersiz (ve sabit) kullanıcı kimliğini yansıtır. Dize Google için opaktır.Bu nedenle, temsilci tarafında sabit bir form ve sabit bir form varsa sabit formu (ör. e-posta yerine bir hesap numarası) kullanın.

errorCode Dize

SYNC'deki sistematik hatalar için

debugString Dize

Kullanıcılara hiçbir zaman sunulmayacak, ancak geliştirme sırasında günlüğe kaydedilebilecek veya kullanılabilecek ayrıntılı hata.

devices Dizi

Zorunludur.

Kullanıcıya ait cihazların listesi. Sıfır veya daha fazla cihaz döndürülür (sıfır cihaz, kullanıcının cihazı olmadığı veya tüm cihazların bağlantısının kesildiği anlamına gelir).

[item, ...] Nesne

Cihaz meta verileri.

id Dize

Zorunludur.

Geliştiricinin bulutunda cihazın kimliği. Bu ad, kullanıcı ve geliştirici için benzersiz olmalıdır. Örneğin, paylaşma durumunda bunu kullanarak aynı cihazın birden çok kez görüntülenmesini sağlamak için kullanabiliriz. Cihaz için sabit olmalıdır. Değişirse Asistan bunu yeni bir cihaz olarak değerlendirir.

type Dize

Zorunludur.

Cihazın donanım türü.

traits Dizi

Zorunludur.

Bu cihazın sahip olduğu özelliklerin listesi. Bu, cihazın desteklediği komutları, özellikleri ve durumları tanımlar.

[item, ...] Dize

Desteklenen özelliğin adı.

name Nesne

Zorunludur.

Bu cihazın adları.

defaultNames Dizi

Kullanıcı yerine geliştirici tarafından sağlanan, genellikle üretici adları, SKU'lar vb. adların listesi

[item, ...] Dize

Cihaz varsayılan adı.

name Dize

Zorunludur.

Cihazın genellikle kullanıcı tarafından sağlanan birincil adı. Bu, Asistan'ın da yanıtlarda cihazı tanımlamayı tercih edeceği addır.

nicknames Dizi

Kullanıcı tarafından cihaz için sağlanan ek adlar.

[item, ...] Dize

Cihaz takma adı.

willReportState Boole

Zorunludur.

Bu cihazın durumlarının Gerçek Zamanlı Feed ile güncellenip güncellenmeyeceğini belirtir. (raporlama durumu için Gerçek Zamanlı Feed'i kullanmak için true (doğru) ve yoklama modelini kullanmak için false (yanlış) değerini girin.)

notificationSupportedByAgent Boole

(Varsayılan: false)

Cihaz için bildirimlerin etkinleştirilip etkinleştirilmediğini belirtir.

roomHint Dize

Kurulumu kolaylaştırmak için kullanıcının evindeki geçerli odayı sağlar.

deviceInfo Nesne

Gerekirse, cihazı bir defalık mantık mantığında kullanmak üzere açıklayan alanlar içerir (ör. "Y ışığının donanım yazılımı sürümü X" rengin ayarlanmasını gerektiriyor veya "güvenlik hatası nedeniyle tüm donanım yazılımı Z kullanıcılarını bilgilendirmek gerekiyor").

manufacturer Dize

Bu, özellikle geliştirici diğer cihazlar için bir merkez olduğunda faydalıdır. Google, burada standart bir üretici listesi sağlayabilir. Örneğin, TP-Link ve Smartthings için "osram" aynı şekilde tanımlanır.

model Dize

Belirli cihazın modeli veya SKU tanımlayıcısı.

hwVersion Dize

Varsa donanıma bağlı özel sürüm numarası.

swVersion Dize

Varsa yazılıma/donanım yazılımına eklenmiş belirli bir sürüm numarasıdır.

attributes Nesne

Her özellik şeması referansında açıklanan özellik başına özelliklerle uyumlu hale getirildi.

customData Nesne

Geliştirici tarafından tanımlanan nesne. Bu nesne, gelecekteki QUERY ve EXECUTE isteklerine eklenir. Cihaz başına maksimum 512 bayt. Bulut hizmetinizin ihtiyaç duyabileceği cihazla ilgili ek bilgileri (ör. cihazın genel bölgesi) depolamak için bu nesneyi kullanın. Bu nesnedeki verilerin birkaç kısıtlaması vardır: Kimliği tanımlayabilecek bilgiler dahil ancak bunlarla sınırlı olmamak üzere, hassas bilgiler yoktur.

otherDeviceIds Dizi

Bulutta senkronize edilmiş bir cihazı yerel yürütme için tanımlamak amacıyla kullanılan alternatif kimliklerin listesi.

[item, ...] Nesne

Alternatif cihaz kimliği.

agentId Dize

Temsilcinin kimliği. Genellikle bu, Actions konsolundaki proje kimliğidir.

deviceId Dize

Zorunludur.

Temsilci tarafından tanımlanan cihaz kimliği. Cihaz kimliği benzersiz olmalıdır.

Örnekler

Senkronizasyon niyetine verilen yanıtı senkronize edin

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