Smart Device Management API

SDM API הוא API ל-REST שמספק שיטות שונות כדי הצגת תכונות והרצת פקודות trait לניהול של מכשירי 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 הציגו בגרף את המצב ומנהלות אותו ישירות. אם יש לכם שילוב של Google Assistant כחלק מהחבילה המסחרית שלכם:

שגיאות

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