Semua model Google Nest Thermostat didukung di Smart Device Management (SDM) API. Perangkat ini menampilkan tipe perangkat THERMOSTAT:
sdm.devices.types.THERMOSTAT
Sifat
Referensi
Ciri, perintah, atau peristiwa berikut terkait dengan grup ini:
Sifat | Deskripsi | Perintah |
---|---|---|
Konektivitas | Ciri ini milik setiap perangkat yang memiliki informasi konektivitas. | |
Penggemar | Ciri ini milik perangkat apa pun yang memiliki kemampuan sistem untuk mengontrol kipas. | SetTimer |
Kelembapan | Ciri ini termasuk dalam perangkat apa pun yang memiliki sensor untuk mengukur kelembapan. | |
Info | Sifat ini milik perangkat apa pun untuk informasi terkait perangkat. | |
Setelan | Ciri ini dimiliki setiap perangkat untuk informasi setelan terkait perangkat. | |
Suhu | Sifat ini milik setiap perangkat yang memiliki sensor untuk mengukur suhu. | |
ThermostatEco | Fitur ini termasuk dalam jenis perangkat THERMOSTAT yang mendukung mode ECO. | SetMode |
ThermostatHvac | Ciri ini termasuk dalam jenis perangkat THERMOSTAT yang dapat melaporkan detail HVAC. | |
ThermostatMode | Fitur ini termasuk dalam jenis perangkat THERpalingAT yang mendukung mode termostat yang berbeda. | SetMode |
ThermostatTemperatureSetpoint | Fitur ini termasuk dalam jenis perangkat THERMOSTAT yang mendukung penyetelan suhu dan rentang suhu target. | SetHeat SetCool SetRange |
JSON
Tidak adanya trait dalam respons GET menunjukkan bahwa karakteristik atau fitur saat ini tidak tersedia untuk perangkat. Lihat Jenis perangkat untuk informasi selengkapnya.
{ "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 } } }
Suhu dan kelembapan
Untuk membaca suhu ruangan termostat, gunakan fitur Suhu . Suhu sekitar diukur di perangkat.
Untuk membaca kelembapan ruangan termostat, gunakan fitur Kelembapan . Kelembapan sekitar diukur di perangkat.
Skala suhu
Google Nest Thermostat dapat menampilkan suhu dalam derajat Celsius atau Fahrenheit, tetapi skalanya tidak dapat disetel oleh SDM API. Untuk menentukan skala suhu yang saat ini disetel oleh pengguna, gunakan fitur Setelan .
Mengubah mode
Mode termostat dikelola dengan dua karakteristik yang berbeda: ThermostatMode dan ThermostatEco.
Mode standar
Untuk mengubah mode termostat ke HEAT, COOL, atau HEATCOOL, gunakan perintah SetMode dari fitur ThermostatMode.
Perintah ini juga dapat digunakan untuk menonaktifkan mode termostat. Perintah ini tidak dapat digunakan untuk mengaktifkan mode Hemat Energi.Misalnya, untuk mengubah salah satu mode termostat standar:
Permintaan
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatMode.SetMode
",
"params" : {
"mode" : "HEAT"
}
}
Respons
{}
Mode hemat energi
Untuk mengaktifkan mode Hemat Energi, gunakan MANUAL_ECO sebagai mode dengan perintah SetMode dari karakteristik ThermostatEco:
Permintaan
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatEco.SetMode
",
"params" : {
"mode" : "MANUAL_ECO"
}
}
Respons
{}
Perintah ini memengaruhi fitur lainnya, berdasarkan status saat ini dari, atau perubahan pada, mode Hemat Energi:
- Jika mode Hemat Energi NONAKTIF, mode termostat akan ditetapkan secara default ke mode standar terakhir (HEAT, COOL, HEATCOOL, atau OFF) yang aktif.
- Jika mode Hemat Energi adalah MANUAL_ECO:
- Perintah untuk fitur ThermostatTemperatureSetpoint ditolak.
- Setpoint suhu tidak ditampilkan oleh fitur ThermostatTemperatureSetpoint .
Mengubah titik penyetelan suhu
Titik penyetelan suhu hanya dapat diubah jika termostat dalam mode HEAT, COOL, atau HEATCOOL, dan titik penyetelan yang diizinkan sesuai dengan mode termostat saat ini. Setpoint suhu tidak dapat diubah saat mode NONAKTIF atau saat mode Hemat Energi disetel ke MANUAL_ECO.
Termostat harus berada dalam mode yang sesuai dengan perintah yang dipanggil sebelum mengubah titik penyetelan suhu. Perintah dan kolom untuk mengubah setpoint bervariasi menurut mode termostat.
Misalnya, untuk mengeluarkan perintah SetHeat, termostat harus berada dalam mode HEAT terlebih dahulu:
Mode | Perintah | Kolom |
---|---|---|
PANAS | SetHeat | heatCelsius |
KEREN | SetCool | coolCelsius |
BERAT | SetRange | heatCelsius , coolCelsius |
Perlu diperhatikan bahwa perintah setpoint hanya menggunakan derajat dalam Celsius sebagai parameter, meskipun Google Nest Thermostat dapat menampilkan suhu dalam derajat Celsius atau Fahrenheit.
Misalnya, untuk mengubah setpoint suhu saat termostat dalam mode HEAT, gunakan perintah SetHeat pada fitur ThermostatTemperatureSetpoint:
Permintaan
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat
",
"params" : {
"heatCelsius" : 22.0
}
}
Respons
{}
Setpoint mode Hemat Energi
Setpoint heatCelsius
dan coolCelsius
yang ditampilkan oleh
fitur ThermostatEco ditetapkan oleh pengguna, dan
tidak dapat diubah melalui SDM API.
Menyalakan atau mematikan kipas angin
Jika termostat mendukung kipas, gunakan perintah SetTimer pada fitur Kipas untuk mengaktifkan atau menonaktifkannya. Saat diaktifkan, Anda dapat menentukan durasi kipas berjalan, dalam detik.
Misalnya, untuk menjalankan kipas selama satu jam:
Permintaan
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.Fan.SetTimer
",
"params" : {
"timerMode" : "ON",
"duration" : "3600s"
}
}
Respons
{}
Jika kolom duration
dihilangkan, kipas akan berjalan selama waktu default 15
menit.
Memeriksa konektivitas perangkat
Jika perangkat tidak merespons perintah atau mengirimkan peristiwa, atau Anda menerima error dari API yang terkait dengan perangkat, gunakan fitur Konektivitas untuk memeriksa status Offline di konektivitas perangkat. Periksa koneksi perangkat ke internet dan pastikan Layanan Nest aktif.
Jika peristiwa telah diaktifkan, Anda juga akan menerima peristiwa resource yang menunjukkan bahwa perangkat telah offline:
Payload
{
"eventId" : "ddff3655-3c2c-4397-829a-38b39881ba06",
"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"
]
}
Merespons peristiwa perangkat
Setiap perubahan pada kolom ciri akan menghasilkan peristiwa.
Misalnya, Anda akan menerima
peristiwa resourceUpdate
berikut jika status HVAC termostat
diubah menjadi HEATING:
Payload
{
"eventId" : "ca7af0fa-0631-4308-be4c-d6400fb86c42",
"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"
]
}
Peristiwa dipicu untuk semua karakteristik yang terkait dengan jenis perangkat ini. Aktifkan peristiwa jika Anda perlu bereaksi terhadapnya dengan cara tertentu sebagai bagian dari integrasi.
Waktu peristiwa
Perhatikan bahwa peristiwa untuk perubahan status HVAC mungkin tidak dikirim bersamaan dengan peristiwa perubahan mode termostat.
Misalnya, terkadang ada penundaan dalam memulai mode penghangat atau pendingin termostat untuk melindungi sistem HVAC. Dalam skenario ini, mengubah mode termostat awalnya mungkin hanya mengirim peristiwa untuk ThermostatMode dan ThermostatTemperatureSetpoint perubahan karakteristik, dengan ThermostatHvac kemudian, peristiwa terpisah akan dikirim sebagai perubahan terpisah nanti. Jika tidak ada penundaan dalam menyalakan sistem HVAC, ketiga peristiwa tersebut akan dikirim bersamaan.
Error
Kode error berikut mungkin ditampilkan terkait dengan perangkat ini:
Pesan Error | RPC | Pemecahan masalah |
---|---|---|
Nilai pendingin harus lebih besar dari nilai kalor. | INVALID_ARGUMENT |
Pastikan kolom heatCelsius lebih kecil dari kolom coolCelsius dalam perintah Anda. |
Perintah tidak diizinkan dalam mode termostat saat ini. | FAILED_PRECONDITION |
Beberapa model termostat tidak mendukung perubahan mode Hemat Energi saat mode termostat NONAKTIF, sesuai dengan karakteristik ThermostatMode . Mode termostat harus diubah ke HEAT, COOL, atau HEATCOOL sebelum mengubah mode Hemat Energi. |
Kipas termostat tidak tersedia. | FAILED_PRECONDITION |
Termostat tidak memiliki kemampuan kipas. Sifat dan perintah terkait kipas tidak dapat digunakan untuk perangkat ini. |
Perintah tidak diizinkan saat termostat dalam mode MANUAL_ECO. | FAILED_PRECONDITION |
Titik penyetelan suhu tidak dapat disetel saat termostat dalam mode Hemat Energi manual. |
Baca Referensi Kode Error API untuk mengetahui daftar lengkap kode error API.