واجهة برمجة التطبيقات لإدارة الجهاز الذكي

واجهة برمجة التطبيقات لمجموعة أدوات Smart Device Management هي واجهة برمجة تطبيقات REST API توفّر طرقًا مختلفة لاطلاع على السمات وتنفيذ أوامر السمات لإدارة أجهزة Google Nest. استخدم رمز الدخول الذي تم منحه أثناء عملية التفويض مع كل طلب بيانات من واجهة برمجة التطبيقات.

السمات

تستخدِم واجهة برمجة التطبيقات SDM API نموذجًا مستندًا إلى السمات لمعلومات الجهاز ووظائفه. يُرجى الاطّلاع على أدلة الأجهزة الفردية لمعرفة السمات متاح للجهاز:

الطُرق

يمكنك الاطّلاع على مرجع واجهة برمجة التطبيقات للحصول على تفاصيل كاملة عن جميع الطرق المتاحة لواجهة برمجة تطبيقات SDM.

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

عمليات دمج "مساعد Google"

بعد تفويض جهاز لاستخدام ميزة "إدارة الخدمات الذكية"، تتعرّف Google على الجهاز في قاعدة بيانات Home Graph وتدير حالته مباشرةً. في حال الدمج مع "مساعد Google" كجزء من العرض التجاري:

الأخطاء

اطّلِع على مرجع رموز أخطاء واجهة برمجة التطبيقات للحصول على القائمة الكاملة لرموز أخطاء واجهة برمجة التطبيقات.