สคีมา ThermostatTemperatureSetpoint

Nest Thermostat 

sdm.devices.traits.ThermostatTemperatureSetpoint

ลักษณะนี้เป็นของอุปกรณ์ประเภทตัวควบคุมอุณหภูมิที่รองรับการตั้งค่าอุณหภูมิและช่วงอุณหภูมิเป้าหมาย

ช่อง

ฟิลด์ คำอธิบาย ประเภทข้อมูล
heatCelsius อุณหภูมิเป้าหมายเป็นเซลเซียสสำหรับโหมดทำความร้อนของตัวควบคุมอุณหภูมิและทำความร้อน number
ตัวอย่าง: 20.0
coolCelsius อุณหภูมิเป้าหมายเป็นเซลเซียสสำหรับโหมด COOL และ HEATCOOL ของตัวควบคุมอุณหภูมิ 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
เย็น SetCool coolCelsius
ทำความร้อน ทำความเย็น SetRange heatCelsius coolCelsius

โปรดทราบว่าคำสั่งของ setpoint จะใช้องศาเซลเซียสเป็นพารามิเตอร์เท่านั้น แต่ 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

ตั้งค่าอุณหภูมิเป้าหมายเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมด COOL

คำขอและการตอบกลับ SetCool

ส่งคำขอ

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

คำตอบ

{}

ช่องคำขอ SetCool

ฟิลด์ คำอธิบาย ประเภทข้อมูล
coolCelsius อุณหภูมิเป้าหมายที่จะตั้งเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมด COOL 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