واجهة برمجة التطبيقات SDM هي واجهة REST API توفّر طرقًا مختلفة لعرض السمات وتنفيذ أوامر السمات لإدارة أجهزة 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 من أي ردود على طلب SYNC
الأخطاء
اطّلِع على مرجع رموز الخطأ في واجهة برمجة التطبيقات للاطّلاع على القائمة الكاملة برموز الخطأ في واجهة برمجة التطبيقات.