action.devices.SYNC

Bu amaç, belirtilen kullanıcıyla ilişkilendirilmiş cihazların listesini ve özelliklerini ister.

Bu işlem, hesap bağlama işlemi sırasında veya bir kullanıcı cihazlarını manuel olarak yeniden senkronize edebilir. Sipariş karşılama işleminiz özellikleri ve özellikleri tanıtacağız.

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

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

İstek biçimi

Alanlar Tür Açıklama
requestId String

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

SENKRONİZASYON isteği

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

Yanıt biçimi

Alanlar Tür Açıklama
requestId String

Zorunludur.

İlgili isteğin kimliği.

payload Nesne

Zorunludur.

Intent yanıtı yükü.

agentUserId String

Zorunludur.

Aracının platformundaki benzersiz (ve değiştirilemez) kullanıcı kimliğini yansıtır. Dize, Google için opaktır.Bu nedenle, aracı tarafında sabit veya değiştirilebilir bir biçim varsa değiştirilemez biçimi (ör. e-posta yerine hesap numarası) kullanın.

errorCode String

SYNC'teki sistematik hatalar için

debugString String

Kullanıcılara hiçbir zaman gösterilmeyecek olan ancak geliştirme sırasında günlüğe kaydedilebilen 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ülmez (sıfır cihaz, kullanıcının hiç cihazı olmadığı veya tüm cihazların bağlantısını kestiği anlamına gelir).

[item, ...] Nesne

Cihaz meta verileri.

id String

Zorunludur.

Cihazın, geliştiricinin buluttaki kimliği. Bu hem kullanıcı hem de geliştirici için benzersiz olmalıdır. Paylaşım durumunda aynı cihazın birden fazla görünümünü tekilleştirmek için bunu kullanabiliriz. Cihaz için sabit olmalıdır, Cihaz değişirse Asistan cihazı yeni bir cihaz olarak algılar.

type String

Zorunludur.

Cihazın donanım türü.

traits Dizi

Zorunludur.

Bu cihazın özelliklerinin listesi. Cihazın desteklediği komutları, özellikleri ve durumları tanımlar.

[item, ...] String

Desteklenen özelliğin adı.

name Nesne

Zorunludur.

Bu cihazın adları.

defaultNames Dizi

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

[item, ...] String

Cihazın varsayılan adı.

name String

Zorunludur.

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

nicknames Dizi

Cihaz için kullanıcı tarafından sağlanan ek adlar.

[item, ...] String

Cihaz takma adı.

willReportState Boole

Zorunludur.

Bu cihazın durumlarının Gerçek Zamanlı Feed tarafından güncellenip güncellenmeyeceğini belirtir. (raporlama durumu için Gerçek Zamanlı Feed'i, yoklama modelini kullanmak için false'u kullanın.)

notificationSupportedByAgent Boole

(Varsayılan: false)

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

roomHint String

Kurulumu kolaylaştırmak için kullanıcının evindeki mevcut odayı belirtir.

deviceInfo Nesne

Gerekirse cihazı tek seferlik bir mantıkla kullanmak üzere açıklayan alanlar içerir (ör. "bozuk Y ışığının bozulan donanım yazılımı sürümü X, rengin ayarlanmasını gerektiriyor" veya "güvenlik hatası, tüm donanım yazılımı Z kullanıcılarını bilgilendirmeyi gerektiriyor").

manufacturer String

Bu, özellikle geliştirici diğer cihazların merkezi olduğunda kullanışlıdır. Google, örneğin TP-Link ve Smartthings 'osram'ı tanımlar aynı şekilde ele alacağız.

model String

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

hwVersion String

Varsa donanıma eklenen belirli sürüm numarası.

swVersion String

Varsa yazılıma/donanım yazılımına eklenen belirli sürüm numarası.

attributes Nesne

Her özellik şeması referansında açıklanan özellik başına özelliklerle hizalanır.

customData Nesne

Geliştiricinin tanımladığı ve gelecekteki QUERY ve EXECUTE isteklerine eklenecek olan nesne başına maksimum 512 bayt. Bulut hizmetinizin ihtiyaç duyabileceği cihaz hakkında ek bilgileri (ör. cihazın genel bölgesi) depolamak için bu nesneyi kullanın. Bu nesnedeki verilerde birkaç kısıtlama var: Kimliği tanımlayabilecek bilgiler dahil ancak bunlarla sınırlı olmamak üzere hassas bilgiler bulunmuyor.

otherDeviceIds Dizi

Yerel olarak yürütme işlemi için bulutla senkronize edilmiş bir cihazı tanımlamak üzere kullanılan alternatif kimliklerin listesi.

[item, ...] Nesne

Alternatif cihaz kimliği.

agentId String

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

deviceId String

Zorunludur.

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

Örnekler

Niyet yanıtını senkronize etme

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