สคีมา ThermostatTemperatureSetpoint
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 ตัวควบคุมอุณหภูมิต้องอยู่ในโหมดทำความร้อนก่อน
| โหมด | คำสั่ง | ช่อง | 
|---|---|---|
| HEAT | SetHeat | heatCelsius | 
| เย็น | 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 | ตัวควบคุมอุณหภูมิบางรุ่นไม่รองรับการเปลี่ยนโหมดอีโคเมื่อโหมดตัวควบคุมอุณหภูมิเป็นปิด ตามลักษณะ ThermostatMode ต้องเปลี่ยนโหมดตัวควบคุมอุณหภูมิเป็น HEAT, COOL หรือ HEATCOOL ก่อนจึงจะเปลี่ยนโหมดอีโคได้ | 
| ค่าเย็นต้องมากกว่าค่าร้อน | INVALID_ARGUMENT | ตรวจสอบว่าฟิลด์ heatCelsiusมีค่าน้อยกว่าฟิลด์coolCelsiusในคำสั่ง | 
| ไม่อนุญาตให้ใช้คำสั่งเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมด MANUAL_ECO | FAILED_PRECONDITION | ไม่สามารถตั้งค่าจุดอุณหภูมิได้เมื่อตัวควบคุมอุณหภูมิอยู่ในโหมดอีโคแบบกำหนดเอง | 
ดูรายการรหัสข้อผิดพลาดของ API ทั้งหมดได้ที่ข้อมูลอ้างอิงรหัสข้อผิดพลาดของ API
