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