สคีมา ThermostatEco
sdm.devices.traits.ThermostatEco
ลักษณะนี้เป็นของอุปกรณ์ประเภทเทอร์โมสตัทที่รองรับโหมดประหยัด
ช่อง
| ช่อง | คำอธิบาย | ประเภทข้อมูล | 
|---|---|---|
| availableModes | รายการโหมดอีโคที่รองรับ | array(string)ค่า: ["MANUAL_ECO", "OFF"] | 
| mode | โหมดอีโคปัจจุบันของตัวควบคุมอุณหภูมิ | stringค่า: "MANUAL_ECO", "OFF" | 
| heatCelsius | อุณหภูมิต่ำสุดในหน่วยเซลเซียสที่ตัวควบคุมอุณหภูมิเริ่มทำความร้อนในโหมดอีโค | numberตัวอย่าง: 20.0 | 
| coolCelsius | อุณหภูมิสูงสุดในหน่วยเซลเซียสที่ตัวควบคุมอุณหภูมิเริ่มทำความเย็นในโหมดอีโค | numberตัวอย่าง: 22.0 | 
ตัวอย่างคำขอและการตอบกลับ GET
ส่งคำขอ
GET /enterprises/project-id/devices/device-id
การตอบกลับ
{
  "name" : "enterprises/project-id/devices/device-id",
  "traits" : {
    "sdm.devices.traits.ThermostatEco" : {
      "availableModes" : ["MANUAL_ECO", "OFF"],
      "mode" : "MANUAL_ECO",
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    }
  }
}คำสั่ง
SetMode
เปลี่ยนโหมดอีโคของตัวควบคุมอุณหภูมิ
หากต้องการเปลี่ยนโหมดตัวควบคุมอุณหภูมิเป็น HEAT, COOL หรือ HEATCOOL ให้ใช้คำสั่ง SetMode ของลักษณะ ThermostatMode
คำสั่งนี้จะส่งผลต่อลักษณะอื่นๆ โดยอิงตามสถานะปัจจุบันหรือการเปลี่ยนแปลงโหมดประหยัดพลังงาน ดังนี้
- หากโหมดอีโคปิดอยู่ โหมดตัวควบคุมอุณหภูมิจะเปลี่ยนเป็นโหมดมาตรฐานล่าสุด (HEAT, COOL, HEATCOOL หรือ OFF) ที่ใช้งานอยู่โดยค่าเริ่มต้น
- หากโหมดอีโคเป็น MANUAL_ECO
- ระบบจะปฏิเสธคำสั่งสำหรับลักษณะ ThermostatTemperatureSetpoint
- ลักษณะ ThermostatTemperatureSetpoint จะไม่แสดงจุดตั้งค่าอุณหภูมิ
คำขอและการตอบกลับ SetMode
ส่งคำขอ
POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatEco.SetMode",
  "params" : {
    "mode" : "MANUAL_ECO"
  }
}
การตอบกลับ
{}
ฟิลด์คำขอ SetMode
| ช่อง | คำอธิบาย | ประเภทข้อมูล | 
|---|---|---|
| mode | โหมดประหยัดพลังงานที่จะเปลี่ยนตัวควบคุมอุณหภูมิ | stringค่า: "MANUAL_ECO", "OFF" | 
ข้อผิดพลาด
ระบบอาจแสดงรหัสข้อผิดพลาดต่อไปนี้ที่เกี่ยวข้องกับลักษณะนี้
| ข้อความแสดงข้อผิดพลาด | RPC | การแก้ปัญหา | 
|---|---|---|
| ไม่อนุญาตให้ใช้คำสั่งในโหมดตัวควบคุมอุณหภูมิปัจจุบัน | FAILED_PRECONDITION | ตัวควบคุมอุณหภูมิบางรุ่นไม่รองรับการเปลี่ยนโหมดอีโคเมื่อโหมดตัวควบคุมอุณหภูมิเป็นปิด ตามลักษณะ ThermostatMode ต้องเปลี่ยนโหมดตัวควบคุมอุณหภูมิเป็น HEAT, COOL หรือ HEATCOOL ก่อนจึงจะเปลี่ยนโหมดอีโคได้ | 
| ไม่อนุญาตให้ใช้คำสั่งเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมด MANUAL_ECO | FAILED_PRECONDITION | ไม่สามารถตั้งค่าจุดอุณหภูมิได้เมื่อตัวควบคุมอุณหภูมิอยู่ในโหมดอีโคแบบกำหนดเอง | 
ดูรายการรหัสข้อผิดพลาดของ API ทั้งหมดได้ที่ข้อมูลอ้างอิงรหัสข้อผิดพลาดของ API
