Panduan Termostat Smart Home
action.devices.types.THERMOSTAT
- Termostat adalah perangkat pengelola suhu, dengan suhu dan mode yang ditetapkan. 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 Thermostat dan beberapa sinonim dan alias terkait.
Perangkat jenis ini mengontrol suhu, sedangkan beberapa unit pemanas/pendingin ruangan memiliki kontrol dan mode tinggi/rendah yang berbeda, 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 mem-build respons EXECUTE dan QUERY.
Sifat yang diperlukan
Ciri dan perintah 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 dirantai dalam intent EXECUTE
. Pengguna yang
mengucapkan *Setel pemanas ke 22* akan menghasilkan perintah mode, diikuti dengan setelan suhu.
Persyaratan kualitas
- Latensi: harus kurang dari atau sama dengan 700 md.
- Keandalan: harus lebih besar dari atau sama dengan 97%.
Contoh perangkat: Termostat sederhana
Bagian ini berisi contoh payload intent yang mewakili "Termostat" umum berdasarkan jenis dan karakteristik perangkat di atas. Jika Anda menambahkan atau menghapus karakteristik dalam penerapan, ubah respons Anda agar sesuai dengan 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 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 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 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 dalam mode panas atau sejuk eksplisit.inHeatCool
- Perintah Panas atau Dingin gagal karena perangkat dalam mode panas atau dingin.lockedToRange
- Perangkat dikunci ke mode atau rentang suhu, dan perubahan yang diminta tidak dapat dilakukan.rangeTooClose
- Titik suhu pada rentang panas-dingin terlalu dekat satu sama lain.