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