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

-placeholder20 l10n-

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 مراجعه کنید.