ترموستات

كل أجهزة Google Nest Thermostat النماذج في واجهة برمجة التطبيقات لإدارة الأجهزة الذكية (SDM). تعرض هذه الأجهزة جهاز الترموستات نوع الجهاز:

sdm.devices.types.THERMOSTAT

الصفات

مَراجع

السمات أو الأوامر أو الأحداث التالية مرتبطة بهذه المجموعة:

سمةالوصفالطلبات الصوتية
إمكانية الاتصالتنتمي هذه السمة إلى أي جهاز يحتوي على معلومات عن الاتصال.
معجبتعود هذه السمة إلى أي جهاز لديه إمكانية التحكّم في المروحة.SetTimer
الرطوبةتنتمي هذه السمة إلى أي جهاز يحتوي على أداة استشعار لقياس مستوى الرطوبة.
المعلوماتهذه السمة تنتمي إلى أي جهاز للحصول على معلومات متعلقة بالجهاز.
الإعداداتهذه السمة تنتمي إلى أي جهاز للحصول على معلومات الإعدادات المتعلقة بالجهاز.
درجة الحرارةتعود هذه السمة إلى أي جهاز يحتوي على جهاز استشعار لقياس درجة الحرارة.
ThermostatEcoهذه السمة تنتمي إلى أنواع أجهزة الترموستات التي تتوافق مع أوضاع ECO.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 and 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:

تغيير درجة الحرارة المضبوطة

لا يمكن تغيير النقاط المضبوطة لدرجة الحرارة إلا أثناء تشغيل الترموستات. أوضاع التدفئة أو التبريد أو التدفئة والنقاط المضبوطة المسموح بها تتجاوب مع الوضع الحالي للترموستات. درجة الحرارة لا يمكن تغيير نقاط الضبط عندما يكون الوضع "إيقاف" أو عندما تم ضبط وضع "درجات حرارة اقتصادية" على MANUAL_ECO.

يجب أن يكون الترموستات في الوضع الذي يتوافق مع الأمر الذي يتم طلبه قبل التغيير. لدرجات الحرارة المثلى المضبوطة. تختلف الأوامر والحقول المطلوبة لتغيير النقاط الثابتة حسب الترموستات. الحالي.

على سبيل المثال، لإصدار SetHeat الأمر، يجب أن يكون الترموستات في وضع التدفئة أولاً:

الوضع Command الحقول
تدفئة SetHeat heatCelsius
رائع SetCool coolCelsius
تدفئة SetRange heatCelsius، coolCelsius

لاحظ أن أوامر نقطة الضبط تأخذ درجات بالدرجة المئوية فقط كمعلمة، إلا أن يمكن أن يعرض جهاز Google Nest Thermostat درجة الحرارة إما بالدرجة المئوية أو فهرنهايت.

على سبيل المثال، لتغيير درجة الحرارة المضبوطة عند ضبط الترموستات على وضع التدفئة، استخدم الأمر SetHeat للسمة Thermostat ThermostatSetpoint:

الطلب

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" : "51205360-534c-4da1-9f48-afcbf7ad8a92",
  "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" : "10a0c1b3-32f0-4481-b406-e01515a0d862",
  "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 and تغييرات Thermostat أموالSetpoint في السمة تم إرسال تغيير في السمة ThermostatHvac في وقت لاحق كعنصر منفصل الحدث بمجرد تشغيل النظام فعليًا. إذا لم يكن هناك أي تأخير في تشغيل نظام التدفئة والتهوية وتكييف الهواء، إرسال ثلاثة أحداث في نفس الوقت.

الأخطاء

قد يتم عرض رموز الخطأ التالية فيما يتعلق بهذا الجهاز:

رسالة الخطأ متوسط عائد النقرة تحديد المشاكل وحلّها
يجب أن تكون قيمة التبريد أكبر من قيمة التدفئة. INVALID_ARGUMENT تأكَّد من أنّ الحقل heatCelsius أقل من الحقل coolCelsius في الأمر.
لا يُسمح بالطلب في وضع الترموستات الحالي. FAILED_PRECONDITION وفقًا لسمة ThermostatMode لا يمكن تغيير وضع "درجات حرارة اقتصادية" في بعض طُرز الترموستات. يجب تغيير وضع الترموستات إلى "التدفئة" أو "التبريد" أو "التدفئة" قبل تغيير وضع "درجات حرارة اقتصادية".
مروحة الترموستات غير متاحة. FAILED_PRECONDITION لا يتضمّن الترموستات وظيفة مروحة. لا يمكن استخدام السمات والأوامر المتعلّقة بالمعجبين على هذا الجهاز.
لا يُسمح بالطلب عند تفعيل الترموستات في وضع MANUAL_ECO. FAILED_PRECONDITION لا يمكن ضبط درجة الحرارة المضبوطة عندما يكون الترموستات في وضع "درجات حرارة اقتصادية" اليدوي.

يمكنك الاطّلاع على مرجع رمز خطأ واجهة برمجة التطبيقات للحصول على القائمة الكاملة لرموز أخطاء واجهة برمجة التطبيقات.