طرحواره ترموستاتTemperatureSetpoint

Nest Thermostat

sdm.devices.traits.ThermostatTemperatureSetpoint

این ویژگی متعلق به انواع دستگاه ترموستات است که از تنظیم دمای هدف و محدوده دما پشتیبانی می کند.

فیلدها

میدان توضیحات نوع داده
heatCelsius دمای مورد نظر بر حسب سلسیوس برای حالت‌های گرمایش و گرمایش ترموستات. number
مثال: 20.0
coolCelsius دمای مورد نظر بر حسب سانتیگراد برای حالت های خنک کننده و گرمایشی ترموستات. number
مثال: 22.0

نمونه درخواست و پاسخ GET - HEAT

درخواست کنید

GET /enterprises/project-id/devices/device-id

پاسخ

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
    }
  }
}

نمونه درخواست و پاسخ GET - جالب

درخواست کنید

GET /enterprises/project-id/devices/device-id

پاسخ

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "coolCelsius" : 22.0
    }
  }
}

نمونه درخواست و پاسخ GET - HEATCOOL

درخواست کنید

GET /enterprises/project-id/devices/device-id

پاسخ

{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    }
  }
}

دستورات

ترموستات باید در حالتی باشد که با فرمانی که قبل از تغییر تنظیمات دما فراخوانی می شود مطابقت دارد. فرمان و فیلد(های) تغییر نقطه(های) تنظیم بر اساس حالت ترموستات متفاوت است.

به عنوان مثال، برای صدور دستور SetHeat، ابتدا ترموستات باید در حالت HEAT باشد:

حالت فرمان زمینه(های)
گرما تنظیم گرما heatCelsius
باحال SetCool coolCelsius
HEATCOOL SetRange heatCelsius ، coolCelsius

توجه داشته باشید که دستورات نقطه تنظیم فقط درجه سانتیگراد را به عنوان پارامتر در نظر می گیرند، اگرچه ترموستات Google Nest می تواند دما را در درجه سانتیگراد یا فارنهایت نمایش دهد.

تنظیم گرما

زمانی که ترموستات در حالت HEAT است دمای مورد نظر را تنظیم می کند.

درخواست و پاسخ SetHeat

درخواست کنید

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat",
  "params" : {
    "heatCelsius" : 22.0
  }
}

پاسخ

{}

فیلدهای درخواست SetHeat

میدان توضیحات نوع داده
heatCelsius دمای مورد نظر برای تنظیم زمانی که ترموستات در حالت HEAT است. number
مثال: 22.0

SetCool

زمانی که ترموستات در حالت خنک است دمای مورد نظر را تنظیم می کند.

درخواست و پاسخ SetCool

درخواست کنید

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetCool",
  "params" : {
    "coolCelsius" : 20.0
  }
}

پاسخ

{}

فیلدهای درخواست SetCool

میدان توضیحات نوع داده
coolCelsius دمای مورد نظر برای تنظیم زمانی که ترموستات در حالت خنک است. number
مثال: 20.0

SetRange

زمانی که ترموستات در حالت HEATCOOL است، حداقل و حداکثر دما را تنظیم می کند.

درخواست و پاسخ SetRange

درخواست کنید

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetRange",
  "params" : {
    "heatCelsius" : 20.0,
    "coolCelsius" : 22.0
  }
}

پاسخ

{}

فیلدهای درخواست SetRange

میدان توضیحات نوع داده
heatCelsius حداقل دمای هدف برای تنظیم زمانی که ترموستات در حالت HEATCOOL است. number
مثال: 20.0
coolCelsius حداکثر دمای هدف برای تنظیم زمانی که ترموستات در حالت HEATCOOL است. number
مثال: 22.0

خطاها

کد(های) خطای زیر ممکن است در رابطه با این ویژگی برگردانده شوند:

پیغام خطا RPC عیب یابی
فرمان در حالت ترموستات فعلی مجاز نیست. FAILED_PRECONDITION با توجه به حالت ترموستات صفت قبل از تغییر حالت Eco، حالت ترموستات باید به HEAT، COOL یا HEATCOOL تغییر یابد.
مقدار خنک کننده باید بیشتر از مقدار حرارت باشد. INVALID_ARGUMENT مطمئن شوید که فیلد heatCelsius کمتر از قسمت coolCelsius در دستور شما باشد.
هنگام ترموستات در حالت MANUAL_ECO، فرمان مجاز نیست. FAILED_PRECONDITION زمانی که ترموستات در حالت Eco دستی است، نقطه تنظیم دما را نمی توان تنظیم کرد.

برای لیست کامل کدهای خطای API به مرجع کد خطای API مراجعه کنید.