Guide du thermostat pour la maison connectée
action.devices.types.THERMOSTAT
: Les thermostats sont des appareils qui contrôlent la température, avec des températures mémorisées et des modes. Ils sont ainsi séparés des appareils de chauffage et de climatisation, qui peuvent n'avoir que des modes et des réglages (par exemple, élevé/faible) par rapport à une température de consigne.
Ce type indique que l'appareil reçoit l'icône du thermostat et d'autres des synonymes et des alias.
Ce type d'appareil contrôle la température, alors que certains appareils de salle de chauffage/climatisation ont des et les modes Haut/Bas, mais pas de contrôle de la température.Fonctionnalités de l'appareil
Reportez-vous à la documentation des caractéristiques correspondantes pour les détails de mise en œuvre, tels que les attributs et les états que votre service doit prendre en charge, et comment créer des réponses EXECUTE et QUERY.
Caractéristiques requises
Ces caractéristiques et commandes sont nécessaires, s'il s'agit
appareil. Si votre appareil ne prend pas en charge ces caractéristiques, saisissez le code d'erreur de
functionNotSupported
dans une réponse QUERY ou EXECUTE. Voir
Erreurs et exceptions.
Les commandes du thermostat sont souvent associées à des intents EXECUTE
. Un utilisateur qui
indique *Règle le chauffage sur 22 °C* pour générer une commande de mode suivie d'une température définie.
Exigences de qualité
- Latence:la latence doit être inférieure ou égale à 700 ms.
- La fiabilité doit être supérieure ou égale à 97%.
Exemple d'appareil: thermostat simple
Cette section contient des exemples de charges utiles d'intent représentant un "Thermostat" commun en fonction du type d'appareil et des caractéristiques ci-dessus. Si vous ajoutez ou supprimez des caractéristiques dans votre implémentation, modifiez vos réponses en conséquence pour refléter ces changements.
Exemple de réponse SYNC
<ph type="x-smartling-placeholder">{ "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" } } ] } }
Exemple de réponse QUERY
<ph type="x-smartling-placeholder">{ "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 } } } }
Exemples de commandes EXECUTE
ThermostatTemperatureSetpoint
Pour en savoir plus sur
les paramètres de commande,
consultez les
action.devices.traits.TemperatureSetting
référence.
{ "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
Pour en savoir plus sur
les paramètres de commande,
consultez les
action.devices.traits.TemperatureSetting
référence.
{ "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
Pour en savoir plus sur
les paramètres de commande,
consultez les
action.devices.traits.TemperatureSetting
référence.
{ "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 } } ] } }
Erreurs d'appareil
Voir la liste complète les erreurs et les exceptions.inHeatOrCool
: Échec des commandes Chauffage/Climatisation/Plage, car l'appareil est en mode une chaleur ou une climatisation explicites.inHeatCool
: échec des commandes de chauffage ou de climatisation, car l'appareil est en mode chauffage ou cool.lockedToRange
: l'appareil est verrouillé sur une plage de températures ou un mode. la modification demandée ne peut pas être effectuée.rangeTooClose
: les points de température d'une plage de chauffage/climatisation sont trop proches de les uns les autres.