action.devices.SYNC

Bu amaç, belirli bir kullanıcıyla ilişkili cihazların listesini ve bu cihazların özelliklerini ister.

Hesap bağlama sırasında veya kullanıcı cihazlarını manuel olarak yeniden senkronize ettiğinde tetiklenir. Karşılama yanıtınız, her cihaz için desteklenen özellikler ve niteliklerle birlikte verilmelidir.

SYNC yanıtınız, kullanıcıyla ilişkili tüm cihazları döndürmelidir. Bu, belirli bir cihaza ulaşılıp ulaşılamayacağını belirlemez. Bu durum, QUERY ve EXECUTE yanıtlarıyla ele alınır.

Daha fazla bilgi için Tanımlama ve senkronize etme başlıklı makaleye göz atın.

İstek biçimi

Alanlar Tür Açıklama
requestId String

Zorunludur.

İsteğin kimliği.

inputs Array

Zorunludur.

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

[item, ...] Nesne

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

intent

Zorunludur.

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

Amaç isteği türü.

Örnekler

SYNC intent request

{
  "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.

Amaç yanıtı yükü.

agentUserId String

Zorunludur.

Aracının platformundaki benzersiz (ve değişmez) kullanıcı kimliğini yansıtır. Dize, Google için opak olduğundan aracı tarafında değişmez bir form ile değişebilir bir form varsa değişmez formu kullanın (ör. e-posta yerine hesap numarası).

errorCode String

SYNC'teki sistematik hatalar için

debugString String

Kullanıcılara hiçbir zaman gösterilmeyen ancak geliştirme sırasında kaydedilebilen veya kullanılan ayrıntılı hata.

devices Array

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ın bağlantısını kestiği anlamına gelir).

[item, ...] Nesne

Cihaz meta verileri.

id String

Zorunludur.

Geliştiricinin bulutundaki cihazın kimliği. Bu değer, kullanıcı ve geliştirici için benzersiz olmalıdır. Paylaşım durumlarında, aynı cihazın birden fazla görüntülemesini tekilleştirmek için bu değeri kullanabiliriz. Cihaz için değişmez olmalıdır. Değişirse Asistan, cihazı yeni bir cihaz olarak değerlendirir.

type String

Zorunludur.

Cihazın donanım türü.

traits Array

Zorunludur.

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

[item, ...] String

Desteklenen özelliğin adı.

name Nesne

Zorunludur.

Bu cihazın adları.

defaultNames Array

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

[item, ...] String

Cihazın varsayılan adı.

name String

Zorunludur.

Cihazın birincil adı (genellikle kullanıcı tarafından sağlanır). Asistan, yanıtlarda cihazı tanımlamak için bu adı kullanır. Adlar, 60 Unicode kod noktası (karakter) sınırını aşarsa kesilir ve hata verilmez. Uzun adların işlenmesinden geliştiriciler sorumludur.

nicknames Array

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

[item, ...] String

Cihazın takma adı.

willReportState Boole

Zorunludur.

Bu cihazın durumlarının, anlık feed ile güncellenip güncellenmeyeceğini gösterir. (Raporlama durumu için anlık feed'i kullanmak üzere true, yoklama modelini kullanmak üzere false)

notificationSupportedByAgent Boole

(Varsayılan: false)

Cihazda bildirimlerin etkin olup olmadığını gösterir.

roomHint String

Kurulumu basitleştirmek için kullanıcının evindeki cihazın bulunduğu odayı sağlar.

deviceInfo Nesne

Gerekirse tek seferlik mantıkta kullanılmak üzere cihazı açıklayan alanlar içerir (ör. "Y ışığının X sürümünde bozuk donanım yazılımı var, rengin ayarlanması gerekiyor" veya "güvenlik açığı nedeniyle Z donanım yazılımının tüm kullanıcılarına bildirim gönderilmesi gerekiyor").

manufacturer String

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

model String

İlgili cihazın model veya SKU tanımlayıcısı.

hwVersion String

Varsa donanıma eklenmiş belirli sürüm numarası.

swVersion String

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

attributes Nesne

Her özellik şeması referansında açıklanan özelliğe göre özelliklerle uyumlu olmalıdır.

customData Nesne

Geliştirici tarafından tanımlanan ve gelecekteki QUERY ve EXECUTE isteklerine eklenecek nesne. Cihaz başına en fazla 512 bayt. Bulut hizmetinizin ihtiyaç duyabileceği cihazla ilgili ek bilgileri (ör. cihazın bulunduğu küresel bölge) depolamak için bu nesneyi kullanın. Bu nesnedeki veriler birkaç kısıtlamaya tabidir: Kişisel olarak tanımlanabilecek bilgiler dahil ancak bunlarla sınırlı olmamak üzere hassas bilgiler içermez.

otherDeviceIds Array

Yerel yürütme 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. Bu genellikle Actions Console'daki proje kimliğidir.

deviceId String

Zorunludur.

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

Örnekler

SYNC intent response

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