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