SDM API, raporlama ve analiz için çeşitli yöntemler sunan bir REST API'dir. yönetimi için özellikleri görüntüleme ve özellik komutlarını yürütme Google Nest cihazlar. Şurada verilen erişim jetonunu kullanın: her API çağrısıyla yetkilendirme işlemi yapılmasını sağlar.
Özellikler
SDM API, cihaz bilgileri için özellik tabanlı bir model kullanır ve işlevsellik. Özellikleri görmek için cihaz rehberlerini kontrol edin. bir cihazda kullanılabilir:
- Kamera
- Kamera (pil)
- Floodlightlı kamera
- Kamera (kablolu)
- Görüntülü reklam ağı
- Kapı zili
- Kapı zili (pil)
- Kapı zili (kablolu)
- Termostat
Yöntemler
Aşağıdakilerle ilgili ayrıntılı bilgi için API Referansı'na bakın: SDM API için kullanılabilen tüm yöntemler.
executeCommand
Yetkili bir cihaza komut yürütür.
Komut yürütmek için POST
çağrısı kullanın. Örneğin, termostatı değiştirmek için
mod:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
Her bir özellik referansında başka komut örnekleri bulabilirsiniz sayfasını ziyaret edin. Özellik girişinin tamamını inceleyin konulu videomuzu izleyin.
get
Yetkilendirilmiş bir yapı veya cihaz hakkında bilgi alır.
GET
çağrısı, tümü için geçerli alanları ve değerleri içeren tek bir yanıt döndürür
sahip olduğu bir yapı veya cihaz için user özellikleri
yetkili ve "parentRelations" ana kaynağı temsil eden nesne
mevcut kaynağın yapısı olabilir.
Örneğin, bir Nest Thermostat, takip etmek için:
GET /enterprises/project-id/devices/device-id { "name" : "enterprises/project-id/devices/device-id", "type" : "sdm.devices.types.THERMOSTAT", "assignee" : "enterprises/project-id/structures/structure-id/rooms/room-id", "traits" : { "sdm.devices.traits.Connectivity" : { "status" : "ONLINE" }, "sdm.devices.traits.Fan" : { "timerMode" : "ON", "timerTimeout" : "2019-05-10T03:22:54Z" }, "sdm.devices.traits.Humidity" : { "ambientHumidityPercent" : 35.0 }, "sdm.devices.traits.Info" : { "customName" : "My device" }, "sdm.devices.traits.Settings" : { "temperatureScale" : "CELSIUS" }, "sdm.devices.traits.Temperature" : { "ambientTemperatureCelsius" : 23.0 }, "sdm.devices.traits.ThermostatEco" : { "availableModes" : ["MANUAL_ECO", "OFF"], "mode" : "MANUAL_ECO", "heatCelsius" : 20.0, "coolCelsius" : 22.0 }, "sdm.devices.traits.ThermostatHvac" : { "status" : "HEATING" }, "sdm.devices.traits.ThermostatMode" : { "availableModes" : ["HEAT", "COOL", "HEATCOOL", "OFF"], "mode" : "COOL" }, "sdm.devices.traits.ThermostatTemperatureSetpoint" : { "heatCelsius" : 20.0, "coolCelsius" : 22.0 } }, "parentRelations" : [ { "parent" : "enterprises/project-id/structures/structure-id/rooms/room-id", "displayName" : "Lobby" } ] }
list
Yetkili yapıları, odaları veya cihazları listeler.
Tek bir erişim kapsamında yetkilendirilen tüm yapıları, odaları veya cihazları listelemek için
jetonu kullanıyorsanız uygun kaynak uç noktasına bir GET
çağrısı yapın:
GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices
Google Asistan entegrasyonları
Bir cihaz SDM için yetkilendirildikten sonra Google, Home'daki cihazı tespit eder. Grafik oluşturur ve durumunu doğrudan yönetir. Google Asistan entegrasyonunuz varsa şunları yapabilirsiniz:
- Gönderme Senkronizasyon İsteğinde Bulunun SDM cihazlar için istek sayısı
- SDM cihazlarını SENKRONİZE ETME amaç
Hatalar
Aşağıdakiler için API Hata Kodu Referansı'na bakın: API hata kodlarının tam listesini inceleyin.