สคีมา 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