ترموستات

يتم دعم جميع طُرز 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:

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

لا يمكن تغيير النقاط المحدّدة لدرجة الحرارة إلا عندما يكون الترموستات في أوضاع "التدفئة" أو "التبريد" أو "التبريد" (التدفئة)، وتوافق نقاط الضبط المسموح بها مع الوضع الحالي للترموستات. لا يمكن تغيير نقاط ضبط درجة الحرارة عندما يكون الوضع غير مفعّل أو عند ضبط الوضع "درجات حرارة اقتصادية" على 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 لا يمكن ضبط نقطة ضبط درجة الحرارة عندما يكون الترموستات في وضع "درجات حرارة اقتصادية" اليدوي.

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