API مدیریت دستگاه هوشمند

SDM API یک API REST است که روش‌های مختلفی را برای مشاهده صفات و اجرای دستورات صفت برای مدیریت دستگاه‌های Google Nest ارائه می‌کند. از رمز دسترسی اعطا شده در طول فرآیند مجوز با هر تماس API استفاده کنید.

صفات

SDM API از یک مدل مبتنی بر ویژگی برای اطلاعات و عملکرد دستگاه استفاده می کند. راهنمای دستگاه های جداگانه را بررسی کنید تا ببینید چه ویژگی هایی برای یک دستگاه در دسترس است:

روش ها

برای جزئیات کامل در مورد تمام روش های موجود برای SDM API به مرجع API مراجعه کنید.

executeCommand

یک فرمان را به دستگاه مجاز اجرا می کند.

از فراخوانی POST برای اجرای دستور استفاده کنید. به عنوان مثال، برای تغییر حالت ترموستات:

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

نمونه‌های بیشتری از دستورات را می‌توان در صفحه مرجع هر ویژگی یافت. برای اطلاعات بیشتر به فهرست کامل صفات مراجعه کنید.

دریافت کنید

اطلاعاتی در مورد یک ساختار یا دستگاه مجاز دریافت می کند.

یک فراخوانی GET یک پاسخ واحد را با فیلدها و مقادیر فعلی برای همه صفات موجود برای یک ساختار یا دستگاهی که user دارای مجوز و یک شئ "parentRelations" است که منبع اصلی منبع فعلی، یک ساختار یا اتاق را نشان می دهد.

برای مثال، یک Nest Thermostat ممکن است موارد زیر را برگرداند:

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

فهرست

سازه‌ها، اتاق‌ها یا دستگاه‌های مجاز را فهرست می‌کند.

برای فهرست کردن تمام ساختارها، اتاق‌ها یا دستگاه‌های مجاز تحت یک نشانه دسترسی، یک تماس GET با نقطه پایانی منبع مناسب برقرار کنید:

GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices

ادغام دستیار گوگل

هنگامی که دستگاهی برای SDM مجاز شد، Google از دستگاه در Home Graph آگاه می‌شود و وضعیت آن را مستقیماً مدیریت می‌کند. اگر Google Assistant را به عنوان بخشی از پیشنهاد تجاری خود ادغام کرده اید:

خطاها

برای لیست کامل کدهای خطای API به مرجع کد خطای API مراجعه کنید.