סכימה של ThermostatTemperatureSetpoint

Nest Thermostat 

sdm.devices.traits.ThermostatTemperatureSetpoint

המאפיין הזה שייך לסוגי מכשירים של THERMOSTAT שתומכים בהגדרת טמפרטורת היעד וטווח הטמפרטורות.

שדות

שדה תיאור סוג הנתונים
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 ותשובה – COOL

בקשה

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, התרמוסטט צריך להיות קודם במצב חימום:

מצב פקודה שדות
חום SetHeat heatCelsius
COOL SetCool coolCelsius
HEATCOOL SetRange heatCelsius, coolCelsius

שימו לב שפקודות ההגדרה מקבלות רק מעלות צלזיוס כפרמטר, למרות ש-Google Nest Thermostat יכול להציג את הטמפרטורה במעלות צלזיוס או פרנהייט.

SetHeat

הגדרת טמפרטורת היעד כשהתרמוסטט במצב חימום.

בקשה ותגובה של SetHeat

בקשה

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

תשובה

{}

שדות הבקשה של SetHeat

שדה תיאור סוג הנתונים
heatCelsius טמפרטורת היעד להגדרה כשהתרמוסטט במצב חימום. 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 חלק מהדגמים של התרמוסטטים לא תומכים בשינוי של מצב החיסכון כשהמצב של התרמוסטט הוא OFF, בהתאם למאפיין ThermostatMode . צריך לשנות את המצב של התרמוסטט ל-HEAT,‏ COOL או HEATCOOL לפני שמשנים את מצב החיסכון.
הערך של הקרירות חייב להיות גדול מהערך של החום. INVALID_ARGUMENT מוודאים שהערך בשדה heatCelsius קטן מהערך בשדה coolCelsius בפקודה.
אי אפשר להשתמש בפקודה כשהתרמוסטט במצב MANUAL_ECO. FAILED_PRECONDITION אי אפשר להגדיר את נקודת הטמפרטורה כשהתרמוסטט נמצא במצב חיסכון ידני.

רשימה מלאה של קודי השגיאה של ה-API מפורטת בדף קודי השגיאה.