Smart Device Management API

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. Yetkilendirme işlemi sırasında verilen erişim jetonunu her API çağrısında kullanın.

Ö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:

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 modunu değiştirmek için:

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatMode.SetMode",
  "params" : {
    "mode" : "HEAT"
  }
}

Komutlarla ilgili daha fazla örneği her bir özellik referans sayfasında bulabilirsiniz. Daha fazla bilgi için özellik listesinin tamamını inceleyin.

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, Nest Thermostat aşağıdakileri 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 jetonu altında yetkilendirilmiş tüm yapıları, odaları veya cihazları listelemek için uygun kaynak uç noktasına GET çağrısı gönderin:

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 Graph'te cihazı algılar ve durumunu doğrudan yönetir. Ticari teklifinizin bir parçası olarak Google Asistan entegrasyonunuz varsa:

Hatalar

Aşağıdakiler için API Hata Kodu Referansı'na bakın: API hata kodlarının tam listesini inceleyin.