![](https://developers.google.cn/nest/device-access/images/device-thermostat.png?authuser=4&hl=vi)
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ểm | Mô 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 tin | Trait 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 đặt | Trait 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:
- Các lệnh cho tính năng ThermostatNhiệtSetpoint bị từ chối.
- Các điểm đặt nhiệt độ không được trả về theo trait ThermostattemperatureSetpoint .
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ệnhVí 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 heatCelsius
và coolCelsius
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.