Panduan Termostat Smart Home
action.devices.types.THERMOSTAT
- Termostat adalah perangkat yang mengelola suhu, dengan titik dan mode yang ditetapkan. Hal ini memisahkan keduanya 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 serta beberapa sinonim dan alias yang terkait.
Perangkat dengan jenis ini mengontrol suhu, sedangkan beberapa unit ruang penghangat/pendingin memiliki kontrol dan mode tinggi/rendah yang berbeda, tetapi bukan kontrol suhu.Kemampuan perangkat
Lihat dokumentasi trait yang sesuai untuk detail implementasi, seperti atribut dan status yang harus didukung layanan Anda, dan cara membuat respons EXECUTE dan QUERY.
Trait yang diperlukan
Sifat 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 info selengkapnya.
Perintah termostat sering dibuat rantai dalam intent EXECUTE
. Pengguna yang
mengucapkan *Setel penghangat ke 72* akan menghasilkan perintah mode yang diikuti dengan penyetelan suhu.
Persyaratan kualitas
- Latensi: harus kurang dari atau sama dengan 700 md.
- Keandalan: harus lebih dari atau sama dengan 97%.
Contoh perangkat: Termostat sederhana
Bagian ini berisi contoh payload intent yang merepresentasikan "Thermostat" umum berdasarkan jenis dan karakteristik perangkat di atas. Jika Anda menambahkan atau menghapus karakteristik dalam implementasi, ubah respons yang sesuai 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
ThermostatSuhuSetpoint
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 } } ] } }
ThermostatSuhuSetRange
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 } } ] } }
Perangkat ERRORS
Lihat daftar lengkap error dan pengecualian.inHeatOrCool
- Perintah Hangat/Sejuk/Rentang gagal karena perangkat terlalu panas atau dingin.inHeatCool
- Perintah Hangat atau Sejuk gagal karena perangkat panas atau sejuk.lockedToRange
- Perangkat dikunci ke rentang suhu atau mode, dan perubahan yang diminta tidak dapat dilakukan.rangeTooClose
- Titik suhu pada rentang suhu panas terlalu berdekatan satu sama lain.