Akıllı Ev Termostatı Kılavuzu
action.devices.types.THERMOSTAT
: Termostatlar, istenen sıcaklık ayarları ve modları olan, sıcaklığı yöneten cihazlardır. Bu, yalnızca sıcaklık hedefi yerine yalnızca mod ve ayarlara (ör. yüksek/düşük) sahip olabilecek ısıtıcılar ve klimalardan ayıran bir özelliktir.
Bu tür, cihazın termostat simgesini ve bazı ilgili eş anlamlı kelimeleri ve takma adları aldığını gösterir.
Bu tür cihazlar sıcaklığı kontrol eder. Bazı ısıtma/soğutma oda ünitelerinde ise sıcaklık kontrolleri yoktur ancak farklı kontroller ve yüksek/düşük modlar bulunur.Cihaz özellikleri
Hizmetinizin desteklemesi gereken özellikler ve durumlar gibi uygulama ayrıntıları ve EXECUTE ile QUERY yanıtlarının nasıl oluşturulacağı hakkında bilgi edinmek için ilgili özellik dokümanlarına bakın.
Zorunlu özellikler
Cihazınız için geçerliyse bu özellikler ve komutlar gereklidir. Cihazınız bu özellikleri desteklemiyorsa bir QUERY veya EXECUTE yanıtına functionNotSupported
hata kodunu girin. Daha fazla bilgi için Hatalar ve istisnalar bölümüne bakın.
Termostat komutları genellikle EXECUTE
intent'lerinde zincirlenir. *Isıtmayı 22'ye ayarla* diyen bir kullanıcı, mod komutu ve ardından sıcaklık ayarı oluşturur.
Kalite gereksinimleri
- Gecikme: 700 ms'den küçük veya buna eşit olmalıdır.
- Güvenilirlik: %97'den büyük veya buna eşit olmalıdır.
Örnek cihaz: Basit termostat
Bu bölümde, yukarıdaki cihaz türüne ve özelliklere göre yaygın bir "Termostat"ı temsil eden örnek intent yüklemeleri bulunmaktadır. Uygulamanızda özellik ekler veya kaldırırsanız bu değişiklikleri yansıtacak şekilde yanıtlarınızı değiştirin.
Örnek SYNC yanıtı
{ "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" } } ] } }
Örnek QUERY yanıtı
{ "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 } } } }
Örnek EXECUTE komutları
ThermostatTemperatureSetpoint
Komut parametreleri hakkında daha fazla bilgi için
action.devices.traits.TemperatureSetting
referansına bakın.
{ "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
Komut parametreleri hakkında daha fazla bilgi için
action.devices.traits.TemperatureSetting
referansına bakın.
{ "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
Komut parametreleri hakkında daha fazla bilgi için
action.devices.traits.TemperatureSetting
referansına bakın.
{ "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 } } ] } }
Cihaz HATALARI
Hataların ve istisnaların tam listesini inceleyin.inHeatOrCool
- Cihaz açık ısıtma veya soğutma modunda olduğu için Isıtma/Soğutma/Aralık komutları başarısız oldu.inHeatCool
- Cihaz ısıtma veya soğutma modunda olduğu için Isıtma veya Soğutma komutları başarısız oldu.lockedToRange
: Cihaz bir sıcaklık aralığına veya moda kilitlenmişse ve istenen değişiklik yapılamıyorsarangeTooClose
: Isıtma-soğutma aralığındaki sıcaklık noktaları birbirine çok yakın.