สคีมา ThermostatTemperatureSetpoint

Nest Thermostat 

sdm.devices.traits.ThermostatTemperatureSetpoint

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

ช่อง

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

ตั้งอุณหภูมิต่ำสุดและสูงสุดเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมดทำความร้อน

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

ส่งคำขอ

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

คำตอบ

{}

ช่องคำขอ SetRange

ช่อง คำอธิบาย ประเภทข้อมูล
heatCelsius อุณหภูมิเป้าหมายขั้นต่ำที่จะตั้งค่าเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมดทำความร้อน number
ตัวอย่าง: 20.0
coolCelsius อุณหภูมิเป้าหมายสูงสุดที่จะตั้งค่าเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมดทำความร้อน number
ตัวอย่าง: 22.0

ข้อผิดพลาด

ระบบอาจแสดงรหัสข้อผิดพลาดต่อไปนี้ซึ่งเกี่ยวข้องกับลักษณะนี้

ข้อความแสดงข้อผิดพลาด RPC การแก้ปัญหา
ไม่อนุญาตให้ใช้คำสั่งในโหมดตัวควบคุมอุณหภูมิปัจจุบัน FAILED_PRECONDITION ตัวควบคุมอุณหภูมิบางรุ่นไม่รองรับการเปลี่ยนโหมดอีโคเมื่อโหมดตัวควบคุมอุณหภูมิปิดอยู่ตามลักษณะ ThermostatMode ต้องเปลี่ยนโหมดตัวควบคุมอุณหภูมิเป็น HEAT, COOL หรือ HEATCOOL ก่อนเปลี่ยนโหมดอีโค
ค่าความเย็นต้องมากกว่าค่าความร้อน INVALID_ARGUMENT ตรวจสอบว่าช่อง heatCelsius สั้นกว่าช่อง coolCelsius ในคำสั่ง
ไม่อนุญาตคำสั่งเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมด MANUAL_ECO FAILED_PRECONDITION ไม่สามารถตั้งอุณหภูมิที่กำหนดเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมดอีโคด้วยตนเอง

ดูข้อมูลอ้างอิงรหัสข้อผิดพลาด API สำหรับ รายการรหัสข้อผิดพลาด API ทั้งหมด