สคีมา ThermostatTemperatureSetpoint

Nest Thermostat 

sdm.devices.traits.ThermostatTemperatureSetpoint

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

ช่อง

ช่อง คำอธิบาย ประเภทข้อมูล
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

โปรดทราบว่าคำสั่งจุดตั้งค่าจะใช้องศาเซลเซียสเป็นพารามิเตอร์เท่านั้น แม้ว่า 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 อุณหภูมิเป้าหมายที่จะตั้งค่าเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมด 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 อุณหภูมิเป้าหมายสูงสุดที่จะตั้งค่าเมื่อตัวควบคุมอุณหภูมิอยู่ในโหมดทำความร้อน number
ตัวอย่าง: 22.0

ข้อผิดพลาด

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

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

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