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