Smart Device Management API

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

מאפיינים

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

שיטות

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

executeCommand

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

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

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

ניתן למצוא דוגמאות נוספות לפקודות בכל הפניה של תכונה הדף הזה. מידע נוסף זמין ברשימת המאפיינים.

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 מזהה את המכשיר ב-Home Graph ומנהלת את המצב שלו ישירות. אם יש לכם שילוב עם Google Assistant כחלק מההצעה המסחרית שלכם:

שגיאות

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