Smart Device Management API

SDM API הוא ממשק API ל-REST שמספק שיטות שונות להצגה של תכונות ולביצוע פקודות trait לניהול מכשירי Google Nest. משתמשים באסימון הגישה שהוענק בתהליך ההרשאה בכל קריאה ל-API.

תכונות

ב-SDM API נעשה שימוש במודל מבוסס-traits למידע על מכשירים ולפונקציונליות שלהם. כדאי לעיין במדריכים הספציפיים למכשירים כדי לראות אילו תכונות זמינות למכשיר:

שיטות

פרטים מלאים על כל השיטות הזמינות ל-SDM API זמינים בחומר העזר בנושא API.

executeCommand

מפעיל פקודה במכשיר מורשה.

יש להשתמש בקריאה ל-POST כדי להפעיל פקודה. לדוגמה, כדי לשנות את מצב התרמוסטט:

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

אפשר למצוא דוגמאות נוספות לפקודות בכל דף של ייחוס ל-trait. למידע נוסף, ראו פירוט מלא של תכונות.

get

קבלת מידע על מבנה או מכשיר מורשים.

הקריאה 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"
    }
  ]
}

list

רשימה של מבנים, חדרים או מכשירים מורשים.

כדי להציג רשימה של כל המבנים, החדרים או המכשירים המורשים באמצעות אסימון גישה אחד, יש לבצע קריאה ל-GET לנקודת הקצה המתאימה של המשאב:

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

שילובים עם Google Assistant

ברגע שמכשיר מקבל הרשאה ל-SDM, Google מודעת למכשיר בתרשים הבית ומנהלת את מצבו ישירות. אם יש לכם שילוב של Google Assistant בהצעה מסחרית:

שגיאות

בחומר העזר בנושא קוד שגיאה של API מופיעה הרשימה המלאה של קודי השגיאות של ה-API.