واجهة برمجة تطبيقات SDM هي واجهة برمجة تطبيقات REST توفر طرقًا متنوعة وعرض السمات وتنفيذ أوامر السمات لإدارة أجهزة 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
معتمد و"parentعلاقات" الذي يمثل المورد الرئيسي
من المورد الحالي، إما بنية أو غرفة.
على سبيل المثال، قد يعرض جهاز 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 من أي ردود على المزامنة النيّة بالشراء
الأخطاء
يمكنك الاطّلاع على مرجع رمز خطأ واجهة برمجة التطبيقات للحصول على القائمة الكاملة لرموز أخطاء واجهة برمجة التطبيقات.