Panduan Termostat Smart Home
action.devices.types.THERMOSTAT - Termostat adalah perangkat pengelola suhu, dengan suhu yang ditetapkan dan mode. Hal ini membedakannya dari pemanas dan unit AC yang mungkin hanya memiliki mode dan setelan (misalnya, tinggi/rendah) vs. target suhu.
Jenis ini menunjukkan bahwa perangkat mendapatkan ikon Termostat dan beberapa sinonim dan alias terkait.
Perangkat jenis ini mengontrol suhu, sedangkan beberapa unit pemanas/pendingin ruangan memiliki kontrol yang berbeda dan mode tinggi/rendah, tetapi tidak memiliki kontrol suhu.Kemampuan perangkat
Lihat dokumentasi karakteristik yang sesuai untuk mengetahui detail penerapan, seperti atribut dan status yang harus didukung layanan Anda, serta cara membuat respons EXECUTE dan QUERY.
Ciri-ciri yang diperlukan
Perintah dan ciri ini diperlukan, jika berlaku untuk perangkat Anda. Jika perangkat Anda tidak mendukung karakteristik ini, masukkan kode error
functionNotSupported dalam respons QUERY atau EXECUTE. Lihat
Error dan pengecualian untuk mengetahui info selengkapnya.
Perintah termostat sering dirangkai dalam intent EXECUTE. Pengguna yang
mengucapkan *Setel penghangat ke 72* akan menghasilkan perintah mode yang diikuti dengan setelan suhu.
Contoh perangkat: Termostat sederhana
Bagian ini berisi contoh payload intent yang merepresentasikan "Termostat" umum berdasarkan jenis dan karakteristik perangkat di atas. Jika Anda menambahkan atau menghapus ciri dalam penerapan, ubah respons Anda dengan tepat untuk mencerminkan perubahan tersebut.
Contoh respons SYNC
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.THERMOSTAT", "traits": [ "action.devices.traits.TemperatureSetting" ], "name": { "name": "Simple thermostat" }, "willReportState": true, "attributes": { "availableThermostatModes": [ "off", "heat", "cool", "heatcool", "on" ], "thermostatTemperatureRange": { "minThresholdCelsius": 15, "maxThresholdCelsius": 30 }, "thermostatTemperatureUnit": "F" }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Contoh respons QUERY
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "thermostatMode": "cool", "thermostatTemperatureSetpoint": 23, "thermostatTemperatureAmbient": 25.1, "thermostatHumidityAmbient": 45.3 } } } }
Contoh perintah EXECUTE
ThermostatTemperatureSetpoint
Untuk mengetahui detail tambahan tentang parameter perintah,
lihat referensi
action.devices.traits.TemperatureSetting.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatTemperatureSetpoint", "params": { "thermostatTemperatureSetpoint": 22 } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "cool", "thermostatTemperatureSetpoint": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }
ThermostatTemperatureSetRange
Untuk mengetahui detail tambahan tentang parameter perintah,
lihat referensi
action.devices.traits.TemperatureSetting.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatTemperatureSetRange", "params": { "thermostatTemperatureSetpointHigh": 26, "thermostatTemperatureSetpointLow": 22 } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "heatcool", "thermostatTemperatureSetpointHigh": 26, "thermostatTemperatureSetpointLow": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }
ThermostatSetMode
Untuk mengetahui detail tambahan tentang parameter perintah,
lihat referensi
action.devices.traits.TemperatureSetting.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ThermostatSetMode", "params": { "thermostatMode": "heatcool" } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "thermostatMode": "heatcool", "thermostatTemperatureSetpointHigh": 26, "thermostatTemperatureSetpointLow": 22, "thermostatTemperatureAmbient": 25.1 } } ] } }
ERROR Perangkat
Lihat daftar lengkap error dan pengecualian.inHeatOrCool- Perintah Panas/Sejuk/Rentang gagal karena perangkat berada dalam panas atau sejuk eksplisit.inHeatCool- Perintah Hangatkan atau Dinginkan gagal karena perangkat dalam mode hangatkan atau dinginkan.lockedToRange- Perangkat dikunci ke rentang suhu atau mode, dan perubahan yang diminta tidak dapat dilakukan.rangeTooClose- Titik suhu pada rentang hangat-sejuk terlalu berdekatan satu sama lain.