Semua Google Nest Thermostat model didukung di Smart Device Management (SDM) API. Perangkat ini menampilkan THERmostAT jenis perangkat:
sdm.devices.types.THERMOSTAT
Sifat
Referensi
Ciri, perintah, atau peristiwa berikut terkait dengan grup ini:
Sifat | Deskripsi | Perintah |
---|---|---|
Konektivitas | Sifat ini dimiliki oleh perangkat apa pun yang memiliki informasi konektivitas. | |
Penggemar | Sifat ini milik perangkat apa pun yang memiliki kemampuan sistem untuk mengontrol kipas. | SetTimer |
Kelembapan | Sifat ini milik perangkat apa pun yang memiliki sensor untuk mengukur kelembapan. | |
Info | Sifat ini milik perangkat apa pun untuk informasi terkait perangkat. | |
Setelan | Sifat ini milik perangkat apa pun untuk informasi setelan terkait perangkat. | |
Suhu | Sifat ini milik perangkat apa pun yang memiliki sensor untuk mengukur suhu. | |
ThermostatEco | Sifat ini termasuk dalam jenis perangkat THERmostAT yang mendukung mode ECO. | SetMode |
ThermostatHvac | Sifat ini termasuk dalam jenis perangkat THERmostAT yang dapat melaporkan detail HVAC. | |
ThermostatMode | Sifat ini termasuk dalam jenis perangkat THERmostAT yang mendukung berbagai mode termostat. | SetMode |
ThermostatTemperatureSetpoint | Sifat ini termasuk dalam jenis perangkat THERmostAT yang mendukung setelan suhu dan rentang suhu target. | SetHeat SetCool SetRange |
JSON
Tidak adanya karakteristik dalam respons GET menunjukkan bahwa karakteristik atau saat ini tidak tersedia untuk perangkat. Lihat Jenis perangkat untuk mengetahui info selengkapnya tidak akurat atau tidak sesuai.
{ "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 Sifatsuhu . Suasana suhu diukur di perangkat.
Untuk membaca kelembapan ruangan termostat, gunakan SifatKelembapan . Suasana kelembapan akan diukur di perangkat.
Skala suhu
Google Nest Thermostat dapat menampilkan suhu dalam derajat Celsius atau Fahrenheit, tetapi timbangannya tidak dapat disetel oleh SDM API. Untuk menentukan skala suhu yang saat ini disetel oleh pengguna, gunakan FiturSetelan .
Ubah mode
Mode termostat dikelola oleh dua karakteristik yang berbeda: ThermostatMode and TermostatEco.
Mode standar
Untuk mengubah mode termostat ke HEAT, COOL, atau HEATCOOL, gunakan perintah SetMode pada karakteristik ThermostatMode.
Perintah ini juga dapat digunakan untuk mematikan mode termostat. Alat itu tidak bisa digunakan untuk mengubah dalam 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 untuk fitur 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, 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 karakteristik ThermostatTemperatureSetpoint ditolak.
- Titik penyetelan suhu tidak ditampilkan oleh karakteristik ThermostatTemperatureSetpoint .
Mengubah titik penyetelan suhu
Titik penyetelan suhu hanya dapat diubah saat termostat berada Mode HEAT, COOL, atau HEATCOOL, dan titik penyetelan yang diizinkan sesuai dengan mode termostat saat ini. Temperatur titik penyetelan tidak dapat diubah saat mode NONAKTIF atau ketika Mode Hemat Energi disetel ke MANUAL_ECO.
Termostat harus dalam mode yang sesuai dengan perintah yang dipanggil sebelum pengubahan titik penyetelan suhu. Perintah dan kolom untuk mengubah setpoint bervariasi menurut termostat mode.
Misalnya, untuk menerbitkan SetHeat termostat harus berada dalam mode HEAT terlebih dahulu:
Mode | Perintah | Kolom |
---|---|---|
Hangat | SetHeat | heatCelsius |
KEREN | SetCool | coolCelsius |
{i>HEATCOOL<i} | SetRange | heatCelsius , coolCelsius |
Perhatikan bahwa perintah {i>setpoint<i} hanya mengambil derajat dalam Celcius sebagai parameter, meskipun Google Nest Thermostat dapat menampilkan suhu dalam derajat Celsius atau Fahrenheit.
Misalnya, untuk mengubah titik penyetelan suhu saat termostat berada mode HEAT, gunakan Perintah SetHeat dari karakteristik 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 disetel oleh pengguna, dan
tidak dapat diubah melalui SDM API.
Menyalakan atau mematikan kipas
Jika termostat mendukung kipas, gunakan perintah SetTimer pada karakteristik Kipas untuk mengaktifkan atau menonaktifkannya. Saat menyalakan, Anda dapat menentukan berapa lama Anda ingin kipas berjalan, 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 peristiwa pengiriman, atau Anda menerima error dari API yang terkait dengan perangkat, gunakan Konektivitas untuk memeriksa konektivitas perangkat untuk status OFFLINE. Periksa koneksi ke internet dan pastikan Nest Layanan meningkat.
Jika telah mengaktifkan peristiwa, Anda juga seharusnya telah menerima peristiwa resource yang menunjukkan bahwa perangkat telah offline:
Payload
{
"eventId" : "0425a61d-a026-4608-8d8d-d76351d444a4",
"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 HVAC termostat
status diubah menjadi HEATING:
Payload
{
"eventId" : "24b17b95-a286-4471-901f-5bdd4a05be28",
"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 dikaitkan dengan jenis perangkat ini. Aktifkan peristiwa jika perlu menanggapi kepada mereka dengan cara tertentu sebagai bagian dari integrasi.
Waktu peristiwa
Perhatikan bahwa peristiwa untuk perubahan status HVAC mungkin tidak dikirim bersamaan dengan peristiwa untuk perubahan mode termostat.
Misalnya, terkadang ada a penundaan saat memulai mode penghangat atau pendingin termostat untuk melindungi HVAC sistem file. Dalam skenario ini, mengubah mode termostat mungkin hanya akan mengirim peristiwa untuk ThermostatMode and Perubahan sifat ThermostatTemperatureSetpoint , dengan ThermostatHvac Perubahan sifat yang dikirim nanti sebagai perubahan terpisah setelah sistem benar-benar aktif. Jika tidak ada penundaan saat menyalakan sistem HVAC, tiga peristiwa akan dikirim pada saat yang sama.
Error
Kode error berikut mungkin ditampilkan sehubungan dengan perangkat ini:
Pesan Error | PPK | Pemecahan masalah |
---|---|---|
Nilai dingin harus lebih besar dari nilai panas. | INVALID_ARGUMENT |
Pastikan kolom heatCelsius lebih kecil dari kolom coolCelsius di 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 yang terkait dengan 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. |
Lihat Referensi Kode Error API untuk daftar lengkap kode error API.