ترموستات

تتوافق جميع طُرز Google Nest Thermostat مع واجهة برمجة التطبيقات لمجموعة أدوات Smart Device Management (SDM). تعرض هذه الأجهزة نوع الجهاز THERMOSTAT:

sdm.devices.types.THERMOSTAT

السمات

مراجع

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

السمةالوصفالطلبات الصوتية
الاتصالتنتمي هذه السمة إلى أي جهاز يتضمّن معلومات الاتصال.
Fanتنتمي هذه السمة إلى أي جهاز لديه إمكانية النظام للتحكّم في المروحة.SetTimer
الرطوبةتنتمي هذه السمة إلى أي جهاز يحتوي على أداة استشعار لقياس الرطوبة.
معلوماتتنتمي هذه السمة إلى أي جهاز للحصول على معلومات ذات صلة بالجهاز.
الإعداداتتنتمي هذه السمة إلى أي جهاز للحصول على معلومات إعدادات متعلّقة بالجهاز.
درجة الحرارةتنتمي هذه السمة إلى أي جهاز يحتوي على مستشعر لقياس درجة الحرارة.
ThermostatEcoتنتمي هذه السمة إلى أنواع الأجهزة من نوع THERMOSTAT التي تتوافق مع أوضاع ECO.SetMode
ThermostatHvacتنتمي هذه السمة إلى أنواع الأجهزة من نوع THERMOSTAT التي يمكنها إرسال تفاصيل نظام التدفئة والتهوية وتكييف الهواء.
ThermostatModeتنتمي هذه السمة إلى أنواع أجهزة THERMOSTAT التي تتيح أوضاع ترموستات مختلفة.SetMode
ThermostatTemperatureSetpointتنتمي هذه السمة إلى أنواع الأجهزة THERMOSTAT التي تتيح ضبط درجة الحرارة المستهدَفة ونطاق درجة الحرارة.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
    }
  }
}

درجة الحرارة والرطوبة

لقراءة درجة الحرارة المحيطة التي يسجّلها الترموستات، استخدِم السمة Temperature . يتم قياس درجة الحرارة المحيطة بالجهاز.

لقراءة نسبة الرطوبة المحيطة التي يرصدها الترموستات، استخدِم السمة Humidity . يتم قياس الرطوبة المحيطة بالجهاز.

مقياس درجة الحرارة

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

تغيير الوضع

تتم إدارة وضع الترموستات من خلال سمتَين مختلفتَين: ThermostatMode و ThermostatEco.

أوضاع عادية

لتغيير وضع الترموستات إلى HEAT أو COOL أو HEATCOOL، استخدِم الأمر 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:

تغيير درجات الحرارة المثلى

لا يمكن تغيير درجات الحرارة المثلى المضبوطة إلا عندما يكون الترموستات في وضع التدفئة أو التبريد أو التدفئة والتبريد، ويجب أن تتوافق درجات الحرارة المثلى المسموح بها مع الوضع الحالي للترموستات. لا يمكن تغيير نقاط ضبط درجة الحرارة عندما يكون الوضع OFF أو عندما يكون وضع Eco مضبوطًا على MANUAL_ECO.

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

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

الوضع Command الحقول
HEAT SetHeat heatCelsius
بارد SetCool coolCelsius
HEATCOOL SetRange "heatCelsius" و"coolCelsius"

يُرجى العِلم أنّ أوامر نقطة الضبط تقبل الدرجات المئوية فقط كمعلَمة، على الرغم من أنّ جهاز Google Nest Thermostat يمكنه عرض درجة الحرارة بالدرجات المئوية أو الفهرنهايت.

سيتم رفض جميع أوامر

على سبيل المثال، لتغيير درجة الحرارة المثلى عندما يكون الترموستات في وضع HEAT، استخدِم الأمر SetHeat الخاص بسمة ThermostatTemperatureSetpoint:

طلب

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 دقيقة.

التحقّق من إمكانية اتصال الجهاز

إذا كان الجهاز لا يستجيب للأوامر أو لا يرسل الأحداث، أو إذا تلقّيت أخطاء من واجهة برمجة التطبيقات ذات الصلة بالجهاز، استخدِم السمةConnectivity للتحقّق من حالة اتصال الجهاز بالإنترنت بحثًا عن الحالة OFFLINE. تحقَّق من اتصال الجهاز بالإنترنت وتأكَّد من أنّ خدمة Nest تعمل بشكل صحيح.

إذا كانت الأحداث مفعّلة، من المفترض أن يكون قد وصلك أيضًا حدث خاص بالموارد يشير إلى أنّ الجهاز أصبح غير متصل بالإنترنت:

الحمولة

{
  "eventId" : "71abee81-29d0-44fd-81fe-69c643d5e50e",
  "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 التالي إذا تغيّرت حالة نظام التدفئة والتهوية وتكييف الهواء في جهاز تنظيم الحرارة إلى HEATING:

الحمولة

{
  "eventId" : "d2da7e42-fd73-4d36-a55a-94704dccd830",
  "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 و ThermostatTemperatureSetpoint ، مع إرسال تغيير السمة ThermostatHvac لاحقًا كحدث منفصل بعد تشغيل النظام فعليًا. في حال عدم حدوث تأخير في تشغيل نظام التدفئة والتهوية وتكييف الهواء، سيتم إرسال الأحداث الثلاثة في الوقت نفسه.

الأخطاء

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

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

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