Bộ điều nhiệt

Tất cả Google Nest Thermostat các mô hình được hỗ trợ trong API Quản lý thiết bị thông minh (SDM). Các thiết bị này trả lại MÁY ĐIỀU NHIỆT loại thiết bị:

sdm.devices.types.THERMOSTAT

Đặc điểm

Tài liệu tham khảo

Các đặc điểm, lệnh hoặc sự kiện sau đây liên quan đến nhóm này:

Đặc điểmMô tảLệnh
Kết nốiĐặc điểm này thuộc về bất kỳ thiết bị nào có thông tin về khả năng kết nối.
QuạtĐặc điểm này thuộc về bất kỳ thiết bị nào có hệ thống điều khiển quạt.SetTimer
Độ ẩmĐặc điểm này thuộc về bất kỳ thiết bị nào có cảm biến để đo độ ẩm.
Thông tinTrait này thuộc về bất kỳ thiết bị nào có thông tin liên quan đến thiết bị.
Cài đặtTrait này thuộc về bất kỳ thiết bị nào có thông tin cài đặt liên quan đến thiết bị.
Nhiệt độĐặc điểm này thuộc về bất kỳ thiết bị nào có cảm biến để đo nhiệt độ.
ThermostatEcoĐặc điểm này thuộc về các loại thiết bị của MÁY ĐIỀU NHIỆT có hỗ trợ các chế độ ECO.SetMode
ThermostatHvacĐặc điểm này thuộc về các loại thiết bị của NHỮNG ĐIỀU NHIỆT có thể báo cáo thông tin chi tiết về hệ thống sưởi, thông gió và điều hoà.
ThermostatModeĐặc điểm này thuộc về các loại thiết bị của MÁY ĐIỀU NHIỆT hỗ trợ nhiều chế độ máy điều nhiệt.SetMode
ThermostatTemperatureSetpointĐặc điểm này thuộc các loại thiết bị của NHIỆT ĐIỀU NHIỆT hỗ trợ đặt nhiệt độ mục tiêu và phạm vi nhiệt độ.SetHeat
SetCool
SetRange

JSON

Việc không có đặc điểm trong phản hồi GET cho thấy đặc điểm hoặc tính năng hiện không khả dụng cho thiết bị này. Xem Loại thiết bị để biết thêm thông tin của bạn.

{
  "type" : "sdm.devices.types.THERMOSTAT",
  "traits" : {
    "sdm.devices.traits.Connectivity" : {
      "status" : "ONLINE"
    },
    "sdm.devices.traits.Fan" : {
      "timerMode" : "ON",
      "timerTimeout" : "2019-05-10T03:22:54Z"
    },
    "sdm.devices.traits.Humidity" : {
      "ambientHumidityPercent" : 35.0
    },
    "sdm.devices.traits.Info" : {
      "customName" : "My device"
    },
    "sdm.devices.traits.Settings" : {
      "temperatureScale" : "CELSIUS"
    },
    "sdm.devices.traits.Temperature" : {
      "ambientTemperatureCelsius" : 23.0
    },
    "sdm.devices.traits.ThermostatEco" : {
      "availableModes" : ["MANUAL_ECO", "OFF"],
      "mode" : "MANUAL_ECO",
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    },
    "sdm.devices.traits.ThermostatHvac" : {
      "status" : "HEATING"
    },
    "sdm.devices.traits.ThermostatMode" : {
      "availableModes" : ["HEAT", "COOL", "HEATCOOL", "OFF"],
      "mode" : "COOL"
    },
    "sdm.devices.traits.ThermostatTemperatureSetpoint" : {
      "heatCelsius" : 20.0,
      "coolCelsius" : 22.0
    }
  }
}

Nhiệt độ và độ ẩm

Để đọc nhiệt độ môi trường xung quanh của máy điều nhiệt, hãy sử dụng Thân nhiệt . Môi trường xung quanh nhiệt độ được đo tại thiết bị này.

Để đọc độ ẩm môi trường xung quanh của máy điều nhiệt, hãy dùng Độ ẩm tính năng. Môi trường xung quanh độ ẩm được đo tại thiết bị.

Thang nhiệt độ

Máy Google Nest Thermostat có thể hiển thị nhiệt độ ở độ C hoặc Độ F nhưng không thể đặt tỷ lệ bằng API SDM. Để xác định thang nhiệt độ do người dùng đặt, hãy sử dụng Cài đặt thông tin chi tiết.

Thay đổi chế độ

Chế độ của máy điều nhiệt được quản lý theo hai đặc điểm: ThermostatMode and ThermostatEco.

Phương tiện chuẩn

Để thay đổi chế độ máy điều nhiệt thành HEAT, COOL hoặc HEATCOOL, hãy dùng lệnh SetMode của trait ThermostatMode.

Bạn cũng có thể sử dụng lệnh này để TẮT chế độ của máy điều nhiệt. Không thể sử dụng để bật ở chế độ Tiết kiệm năng lượng.

Ví dụ: Cách thay đổi một trong các chế độ tiêu chuẩn của máy điều nhiệt:

Yêu cầu

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatMode.SetMode",
  "params" : {
    "mode" : "HEAT"
  }
}

Phản hồi

{}

Chế độ tiết kiệm năng lượng

Để bật chế độ Tiết kiệm năng lượng, hãy sử dụng MANUAL_ECO làm chế độ với Lệnh SetMode của trait ThermostatEco:

Yêu cầu

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatEco.SetMode",
  "params" : {
    "mode" : "MANUAL_ECO"
  }
}

Phản hồi

{}

Lệnh này tác động đến các đặc điểm khác, dựa trên trạng thái hiện tại hoặc các thay đổi đối với chế độ Tiết kiệm năng lượng:

  • Nếu bạn TẮT chế độ Tiết kiệm năng lượng, thì chế độ máy điều nhiệt sẽ ở chế độ tiêu chuẩn gần đây nhất (SƯỞI ẤM, LÀM MÁT, SƯỞI ẤM hoặc TẮT) đang hoạt động.
  • Nếu chế độ Tiết kiệm năng lượng là MANUAL_ECO:

Thay đổi điểm đặt nhiệt độ

Bạn chỉ có thể thay đổi điểm đặt nhiệt độ khi máy điều nhiệt đang ở Các chế độ SƯỞI ẤM, LÀM MÁT hoặc SƯỞI ẤM và điểm đặt được phép tương ứng với chế độ hiện tại của máy điều nhiệt. Thân nhiệt không thể thay đổi điểm đặt khi chế độ này TẮT hoặc khi Chế độ Tiết kiệm năng lượng được đặt thành MANUAL_ECO.

Máy điều nhiệt phải ở chế độ tương ứng với lệnh đang được gọi trước khi thay đổi điểm đặt nhiệt độ. Lệnh và(các) trường để thay đổi(các) điểm đặt sẽ khác nhau tuỳ theo máy điều nhiệt .

Ví dụ: để phát hành SetHeat , trước tiên, máy điều nhiệt phải ở chế độ SƯỞI ẤM:

Chế độ Lệnh (Các) trường
BỔ SUNG SetHeat heatCelsius
TỐT SetCool coolCelsius
SƯỞI ẤM ẤM SetRange heatCelsius, coolCelsius

Lưu ý rằng các lệnh điểm đặt chỉ lấy độ trong C làm tham số, mặc dù Google Nest Thermostat có thể hiển thị nhiệt độ theo độ C hoặc độ F.

Các lệnh

Ví dụ: để thay đổi điểm đặt nhiệt độ khi máy điều nhiệt đang ở Chế độ SƯỞI ẤM, hãy sử dụng Lệnh SetHeat của trait ThermostattemperatureSetpoint:

Yêu cầu

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

Phản hồi

{}

Điểm đặt ở chế độ tiết kiệm năng lượng

Các điểm đặt heatCelsiuscoolCelsius do hàm trả về Đặc điểm ThermostatEco do người dùng thiết lập và không thể thay đổi thông qua API SDM.

Bật hoặc tắt quạt

Nếu máy điều nhiệt hỗ trợ quạt, hãy dùng lệnh SetTimer để bật hoặc tắt quạt. Khi bật, bạn có thể chỉ định khoảng thời gian bạn muốn quạt chạy, trong giây.

Ví dụ: để chạy quạt trong một giờ:

Yêu cầu

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.Fan.SetTimer",
  "params" : {
    "timerMode" : "ON",
    "duration" : "3600s"
  }
}

Phản hồi

{}

Nếu bạn bỏ qua trường duration, quạt sẽ chạy trong khoảng thời gian mặc định là 15 phút.

Kiểm tra khả năng kết nối của thiết bị

Nếu thiết bị không phản hồi các lệnh hoặc sự kiện gửi, hoặc bạn nhận được lỗi từ API liên quan đến thiết bị, hãy sử dụng Kết nối hãy kiểm tra khả năng kết nối của thiết bị cho trạng thái NGOẠI TUYẾN. Kiểm tra kết nối Internet và đảm bảo Nest Dịch vụ đang hoạt động.

Nếu đã bật sự kiện, bạn cũng sẽ nhận được sự kiện tài nguyên cho biết thiết bị đã chuyển sang chế độ ngoại tuyến:

Dung lượng

{
  "eventId" : "582d5f3e-d529-40d3-9b06-12f41e80ff20",
  "timestamp" : "2019-01-01T00:00:01Z",
  "resourceUpdate" : {
    "name" : "enterprises/project-id/devices/device-id",
    "traits" : {
      "sdm.devices.traits.Connectivity" : {
        "status" : "OFFLINE"
      }
    }
  },
  "userId": "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
  "resourceGroup" : [
    "enterprises/project-id/devices/device-id"
  ]
}

Phản ứng với các sự kiện trên thiết bị

Mọi thay đổi đối với trường trait sẽ tạo ra một sự kiện. Ví dụ: bạn sẽ nhận được sự kiện resourceUpdate sau đây nếu hệ thống sưởi, thông gió và điều hoà của máy điều nhiệt trạng thái đã được thay đổi thành SƯỞI ẤM:

Dung lượng

{
  "eventId" : "40f74b91-7b8a-4714-a7bd-a9b598b22f17",
  "timestamp" : "2019-01-01T00:00:01Z",
  "resourceUpdate" : {
    "name" : "enterprises/project-id/devices/device-id",
    "traits" : {
      "sdm.devices.traits.ThermostatHvac" : {
        "status" : "HEATING"
      }
    }
  },
  "userId": "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
  "resourceGroup" : [
    "enterprises/project-id/devices/device-id"
  ]
}

Các sự kiện được kích hoạt cho tất cả đặc điểm liên quan đến loại thiết bị này. Bật sự kiện nếu cần phản ứng cho chúng theo cách nào đó như một phần của quá trình tích hợp.

Thời gian của sự kiện

Lưu ý: Sự kiện thay đổi trạng thái của HVAC (Hệ thống sưởi, thông gió và điều hoà) có thể không được gửi cùng lúc với các sự kiện để thay đổi chế độ máy điều nhiệt.

Ví dụ, đôi khi có a khởi động chế độ sưởi ấm hoặc làm mát của máy điều nhiệt để bảo vệ hệ thống sưởi, thông gió và điều hoà hệ thống. Trong trường hợp này, ban đầu việc thay đổi chế độ máy điều nhiệt có thể chỉ gửi sự kiện cho ThermostatMode and Điểm đặt nhiệt độ ThermostatNhiệt độ thay đổi theo múi giờ, với ThermostatHvac thay đổi về tình trạng được gửi sau dưới dạng một khi hệ thống thực sự bật. Nếu việc bật hệ thống sưởi, thông gió và điều hoà không bị trễ, tất cả ba sự kiện sẽ được gửi cùng một lúc.

Lỗi

(Các) mã lỗi sau đây có thể được trả về liên quan đến thiết bị này:

Thông báo Lỗi RPC Khắc phục sự cố
Giá trị làm mát phải lớn hơn giá trị nhiệt. INVALID_ARGUMENT Đảm bảo trường heatCelsius nhỏ hơn trường coolCelsius trong lệnh của bạn.
Không dùng được lệnh ở chế độ máy điều nhiệt hiện tại. FAILED_PRECONDITION Một số mẫu máy điều nhiệt không hỗ trợ thay đổi chế độ Tiết kiệm năng lượng khi chế độ máy điều nhiệt TẮT, theo tính năng ThermostatMode . Bạn phải chuyển máy điều nhiệt thành SƯỞI ẤM, LÀM MÁT hoặc SƯỞI ẤM trước khi chuyển sang chế độ Tiết kiệm năng lượng.
Không dùng được quạt điều nhiệt. FAILED_PRECONDITION Máy điều nhiệt không có chức năng quạt. Không thể dùng các lệnh và đặc điểm liên quan đến quạt trên thiết bị này.
Không được phép dùng lệnh khi máy điều nhiệt ở chế độ MANUAL_ECO. FAILED_PRECONDITION Không thể đặt điểm đặt nhiệt độ khi máy điều nhiệt ở chế độ Tiết kiệm năng lượng thủ công.

Hãy xem Tài liệu tham khảo về mã lỗi API để biết danh sách đầy đủ các mã lỗi API.