يتم دعم جميع طُرز Google Nest Thermostat في واجهة برمجة تطبيقات Smart Device Management (SDM). تعرض هذه الأجهزة نوع الجهاز "الترموستات":
sdm.devices.types.THERMOSTAT
السمات
مَراجع
السمات أو الأوامر أو الأحداث التالية ذات صلة بهذه المجموعة:
السمة | الوصف | الطلبات الصوتية |
---|---|---|
إمكانية الاتصال | تنتمي هذه السمة إلى أي جهاز يحتوي على معلومات عن إمكانية الاتصال. | |
معجب | تنتمي هذه السمة إلى أي جهاز بإمكان النظام التحكّم في المروحة. | SetTimer |
الرطوبة | تنتمي هذه السمة إلى أي جهاز به جهاز استشعار لقياس الرطوبة. | |
معلومات | تنتمي هذه السمة إلى أي جهاز يقدّم المعلومات المتعلقة بالجهاز. | |
الإعدادات | تنتمي هذه السمة إلى أي جهاز للحصول على معلومات الإعدادات المتعلقة بالجهاز. | |
درجة الحرارة | تنتمي هذه السمة إلى أي جهاز به جهاز استشعار لقياس درجة الحرارة. | |
ThermostatEco | تنتمي هذه السمة إلى أنواع أجهزة "الترموستات" المتوافقة مع الأوضاع الاقتصادية. | SetMode |
ThermostatHvac | تنتمي هذه السمة إلى أنواع أجهزة "الترموستات" التي يمكنها الإبلاغ عن تفاصيل التدفئة والتهوية وتكييف الهواء. | |
ThermostatMode | تنتمي هذه السمة إلى أنواع أجهزة الترموستات المتوافقة مع أوضاع الترموستات المختلفة. | SetMode |
ThermostatTemperatureSetpoint | تنتمي هذه السمة إلى أنواع أجهزة الترموستات التي تتيح ضبط نطاق درجة الحرارة ودرجة الحرارة المستهدَفة. | SetHeat SetCool SetRange |
JSON
يشير عدم توفّر سمة في استجابة GET إلى أنّ السمة أو الميزة غير متاحة حاليًا للجهاز. يمكنك الاطّلاع على أنواع الأجهزة للحصول على مزيد من المعلومات.
{ "type" : "sdm.devices.types.THERMOSTAT", "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 } } }
درجة الحرارة والرطوبة
لقراءة درجة الحرارة في البيئة المحيطة بالترموستات، استخدِم السمة درجة الحرارة . يتم قياس درجة الحرارة المحيطة بالجهاز.
لقراءة نسبة الرطوبة في البيئة المحيطة بالترموستات، استخدِم سمة الرطوبة . يتم قياس الرطوبة المحيطة بالجهاز.
مقياس درجة الحرارة
يمكن لجهاز Google Nest Thermostat عرض درجة الحرارة إما بالدرجات المئوية أو بالفهرنهايت، ولكن لا يمكن ضبط المقياس من خلال واجهة برمجة تطبيقات SDM. لتحديد مقياس درجة الحرارة الذي يضبطه المستخدم حاليًا، يمكنك استخدام سمة الإعدادات .
تغيير الوضع
تتم إدارة وضع الترموستات من خلال سمتَين مختلفتَين: ThermostatMode و ThermostatEco.
وسائل النقل العادية
لتغيير وضع الترموستات إلى "تدفئة" أو "تبريد" أو "تدفئة حرارية"، استخدِم الأمر SetMode في سمة ThermostatMode.
يمكن أيضًا استخدام هذا الأمر لإيقاف وضع الترموستات، ولا يمكن استخدامه لتفعيل وضع "درجات حرارة اقتصادية".على سبيل المثال، لتغيير أحد أوضاع الترموستات العادية:
الطلب
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatMode.SetMode
",
"params" : {
"mode" : "HEAT"
}
}
الإجابة
{}
وضع "درجات حرارة اقتصادية"
لتفعيل وضع "درجات حرارة اقتصادية"، استخدِم MANUAL_ECO كوضع باستخدام الأمر SetMode في سمة ThermostatEco:
الطلب
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatEco.SetMode
",
"params" : {
"mode" : "MANUAL_ECO"
}
}
الإجابة
{}
يؤثر هذا الأمر في السمات الأخرى استنادًا إلى الحالة الحالية لوضع "درجات حرارة اقتصادية" أو التغييرات التي تطرأ عليه:
- إذا كان وضع "درجات حرارة اقتصادية" غير مفعّل، سيضبط وضع الترموستات تلقائيًا الوضع العادي الأخير ("التدفئة" أو "التبريد" أو "التبريد" أو "إيقاف التشغيل") الذي كان نشطًا.
- إذا كان وضع "درجات حرارة اقتصادية" هو MANUAL_ECO:
- يتم رفض الطلبات الخاصة بسمة ThermostatTimingSetpoint .
- لا تعرض سمة درجة الحرارة جهاز ضبط درجة الحرارة نقاط ضبط درجة الحرارة.
تغيير النقاط المضبوطة لدرجة الحرارة
لا يمكن تغيير النقاط المحدّدة لدرجة الحرارة إلا عندما يكون الترموستات في أوضاع "التدفئة" أو "التبريد" أو "التبريد" (التدفئة)، وتوافق نقاط الضبط المسموح بها مع الوضع الحالي للترموستات. لا يمكن تغيير نقاط ضبط درجة الحرارة عندما يكون الوضع غير مفعّل أو عند ضبط الوضع "درجات حرارة اقتصادية" على MANUAL_ECO.
يجب أن يكون الترموستات في الوضع المتوافق مع الأمر الذي يتم استدعاؤه قبل تغيير درجات الحرارة المحدّدة. يختلف الأمر والحقول المطلوب تغيير نقاط الضبط باختلاف وضع الترموستات.
على سبيل المثال، لإصدار أمر SetHeat، يجب أن يكون الترموستات في وضع "التدفئة" أولاً:
الوضع | Command | الحقول |
---|---|---|
تدفئة | SetHeat | heatCelsius |
رائع | SetCool | coolCelsius |
تبريد تدفئة | SetRange | heatCelsius ، coolCelsius |
يُرجى العِلم أنّ أوامر ضبط نقطة الضبط تتخذ الدرجات المئوية فقط كمَعلمة، إلا أنّ Google Nest Thermostat يمكنه عرض درجة الحرارة إما بالدرجات المئوية أو بالفهرنهايت.
على سبيل المثال، لتغيير نقطة ضبط درجة الحرارة عندما يكون الترموستات في وضع "التدفئة"، يمكنك استخدام الأمر SetHeat للسمة "ترموستاترمستيبوينت" في الترموستات:
الطلب
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat
",
"params" : {
"heatCelsius" : 22.0
}
}
الإجابة
{}
نقاط ضبط وضع "درجات حرارة اقتصادية"
يحدّد المستخدم نقطتي ضبط heatCelsius
وcoolCelsius
التي تعرضها
سمة ThermostatEco، ولا يمكن تغييرها من خلال واجهة برمجة تطبيقات SDM.
تشغيل المروحة أو إيقافها
إذا كان الترموستات يتيح تشغيل المروحة، استخدِم الأمر SetTimer من سمة المروحة لتفعيلها أو إيقافها. عند تشغيل المروحة، يمكنك تحديد المدة الزمنية المطلوبة لتشغيل المروحة، بالثواني.
على سبيل المثال، لتشغيل المروحة لمدة ساعة:
الطلب
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.Fan.SetTimer
",
"params" : {
"timerMode" : "ON",
"duration" : "3600s"
}
}
الإجابة
{}
إذا تم حذف الحقل duration
، سيتم تشغيل المروحة لمدة تلقائية تبلغ 15
دقيقة.
التأكّد من إمكانية اتصال الجهاز
في حال عدم استجابة الجهاز للأوامر أو إرسال الأحداث أو في حال ظهور أخطاء من واجهة برمجة التطبيقات ذات الصلة بالجهاز، استخدِم سمةإمكانية الاتصال للتأكّد من أنّ الجهاز متصل بالشبكة بحثًا عن الحالة "غير متصل بالإنترنت". يُرجى التحقّق من اتصال الجهاز بالإنترنت والتأكّد من أنّ خدمة Nest مفعَّلة.
إذا كانت الأحداث مفعّلة، من المفترض أن تكون قد تلقّيت أيضًا حدث مورد يشير إلى أنّ الجهاز أصبح غير متصل بالإنترنت:
المحتوى
{
"eventId" : "b7705246-9224-46af-b5f2-b2af8437cd0e",
"timestamp" : "2019-01-01T00:00:01Z",
"resourceUpdate" : {
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.Connectivity
" : {
"status" : "OFFLINE"
}
}
},
"userId": "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
"resourceGroup" : [
"enterprises/project-id/devices/device-id"
]
}
التفاعل مع أحداث الجهاز
يؤدي أي تغيير في حقل السمات إلى إنشاء حدث.
على سبيل المثال، ستتلقّى
حدث resourceUpdate
التالي إذا تم تغيير حالة التدفئة والتهوية وتكييف الهواء
في الترموستات إلى "تدفئة":
المحتوى
{
"eventId" : "849df9a2-9a28-452e-9b34-5490fc93d88b",
"timestamp" : "2019-01-01T00:00:01Z",
"resourceUpdate" : {
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatHvac
" : {
"status" : "HEATING"
}
}
},
"userId": "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
"resourceGroup" : [
"enterprises/project-id/devices/device-id"
]
}
يتم تشغيل الأحداث لجميع السمات المرتبطة بنوع الجهاز هذا. يمكنك تفعيل الأحداث إذا كنت بحاجة إلى التفاعل معها بطريقة ما كجزء من عملية الدمج.
توقيت الأحداث
يُرجى العلم أنّه قد لا يتم إرسال حدث حدث تغيير في حالة نظام التدفئة والتهوية وتكييف الهواء في الوقت نفسه الذي يتم فيه عرض حدث لتغيير وضع الترموستات.
على سبيل المثال، يحدث أحيانًا تأخير في بدء وضع التدفئة أو التبريد في جهاز الترموستات من أجل حماية نظام التدفئة والتهوية وتكييف الهواء. في هذه الحالة، قد يؤدي تغيير وضع الترموستات في البداية إلى إرسال الأحداث فقط في ThermostatMode و ThermostatTimingSetpoint التغييرات في السمة، مع تغيّر ThermostatHvac في حال تغيّر نظام الترموستات في وقت لاحق. إذا لم يحدث أي تأخير في تفعيل نظام التدفئة والتهوية وتكييف الهواء، سيتم إرسال الأحداث الثلاثة جميعها في الوقت نفسه.
الأخطاء
قد يتم عرض رموز الخطأ التالية في ما يتعلق بهذا الجهاز:
رسالة الخطأ | متوسط عائد النقرة | تحديد المشاكل وحلّها |
---|---|---|
يجب أن تكون قيمة التبريد أكبر من قيمة الحرارة. | INVALID_ARGUMENT |
تأكَّد من أنّ الحقل heatCelsius أقل من الحقل coolCelsius في الأمر. |
لا يُسمَح بتنفيذ الأمر في وضع الترموستات الحالي. | FAILED_PRECONDITION |
لا تتيح بعض طُرز الترموستات تغيير وضع "درجات حرارة اقتصادية" عند إيقاف وضع الترموستات، وذلك وفقًا لسمة وضع الترموستات . يجب تغيير وضع الترموستات إلى "تدفئة" أو "بارد" أو "تدفئة" قبل تغيير وضع "درجات حرارة اقتصادية". |
مروحة الترموستات غير متوفّرة. | FAILED_PRECONDITION |
لا تتوفّر مروحة في الترموستات. لا يمكن استخدام السمات والأوامر المتعلّقة بالمعجبين على هذا الجهاز. |
لا يُسمح بتنفيذ الأمر عندما يكون الترموستات في وضع MANUAL_ECO. | FAILED_PRECONDITION |
لا يمكن ضبط نقطة ضبط درجة الحرارة عندما يكون الترموستات في وضع "درجات حرارة اقتصادية" اليدوي. |
ويمكنك الاطّلاع على مرجع رموز الأخطاء في واجهة برمجة التطبيقات للاطّلاع على القائمة الكاملة لرموز الأخطاء في واجهة برمجة التطبيقات.