SDM API هي واجهة 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
الأخطاء
يمكنك الاطّلاع على مرجع رموز الخطأ في واجهة برمجة التطبيقات للحصول على القائمة الكاملة بهذه الرموز.