SDM API, özellikleri görüntülemek ve Google Nest cihazlarının yönetimi için özellik komutlarını çalıştırmak için çeşitli yöntemler sağlayan bir REST API'dir. Yetkilendirme işlemi sırasında verilen erişim jetonunu her API çağrısıyla kullanın.
Özellikler
SDM API, cihaz bilgileri ve işlevleri için özellik tabanlı bir model kullanır. Bir cihaz için hangi özelliklerin kullanılabilir olduğunu görmek için cihaz rehberlerini tek tek kontrol edin:
- Kamera
- Kamera (pil)
- Floodlight ile kamera
- Kamera (kablolu)
- Görüntülü reklam ağı
- Kapı zili
- Kapı zili (pil)
- Kapı zili (kablolu)
- Termostat
Yöntemler
SDM API'si için kullanılabilen tüm yöntemler hakkında ayrıntılı bilgi edinmek üzere API Referansı'na bakın.
Komut Komutu
Yetkilendirilmiş bir cihazda komut yürütür.
Komut çalıştırmak için POST
çağrısı kullanın. Örneğin, termostat modunu değiştirmek için:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
Her bir özellik referans sayfasında başka komut örnekleri bulunabilir. Daha fazla bilgi için özellik listelemesinin tamamını inceleyin.
get
Yetkili bir yapı veya cihaz hakkında bilgi alır.
Bir GET
çağrısı, izin verilen bir yapı veya cihaz için kullanılabilir tüm özelliklere yönelik mevcut alanlar ve değerlerle tek bir yanıt döndürür. Ayrıca, mevcut kaynağın üst kaynağını (yapı veya oda) temsil eden "parentRelations" nesnesi user de döndürür.
Örneğin, bir Nest Thermostat şu bilgileri döndürebilir:
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 jetonuyla yetkilendirilen tüm yapıları, odaları veya cihazları listelemek için uygun kaynak uç noktasına karşı 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ı
Google, bir cihaz SDM için yetkilendirildikten sonra Home Graph'i fark eder ve durumunu doğrudan yönetir. Ticari teklifinizin bir parçası olarak Google Asistan entegrasyonunuz varsa:
- SDM cihazlar için Senkronizasyon İsteme İstekleri göndermeyin
- SDM cihazlarını bir SYNC girişimine verilen yanıtlardan çıkarır
Hatalar
API hata kodlarının tam listesini API Hata Kodu Referansı'nda bulabilirsiniz.