واجهة برمجة التطبيقات لمجموعة أدوات Smart Device Management هي واجهة برمجة تطبيقات REST API توفّر طرقًا مختلفة لاطلاع على السمات وتنفيذ أوامر السمات لإدارة أجهزة Google Nest. استخدِم رمز الوصول الذي تم منحه أثناء عملية التفويض مع كل طلب بيانات من واجهة برمجة التطبيقات.
السمات
تستخدِم واجهة برمجة التطبيقات SDM API نموذجًا مستندًا إلى السمات لمعلومات الجهاز ووظائفه. اطّلِع على أدلة الأجهزة الفردية لمعرفة السمات التي تتوفّر لجهاز معيّن:
- الكاميرا
- الكاميرا (البطارية)
- كاميرا مزوّدة بضوء Floodlight
- الكاميرا (سلكية)
- الشبكة الإعلانية
- جرس الباب
- جرس الباب (بطارية)
- جرس الباب (سلكي)
- الترموستات
الطُرق
اطّلِع على مرجع واجهة برمجة التطبيقات للحصول على التفاصيل الكاملة حول جميع الطرق المتاحة لواجهة برمجة التطبيقات SDM 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
عمليات دمج "مساعد Google"
بعد تفويض جهاز لاستخدام ميزة "إدارة الخدمات الذكية"، تتعرّف Google على الجهاز في قاعدة بيانات Home Graph وتدير حالته مباشرةً. إذا كنت قد دمجت "مساعد Google" كجزء من عرضك التجاري:
- لا ترسِل طلبات مزامنة لأجهزة SDM.
- حذف أجهزة SDM من أيّ ردود على SYNC intent
الأخطاء
اطّلِع على مرجع رموز الخطأ في واجهة برمجة التطبيقات للحصول على القائمة الكاملة لرموز الخطأ في واجهة برمجة التطبيقات.