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