Guide du four pour la maison connectée
action.devices.types.OVEN : l'interaction avec les fours implique la possibilité de cuire ou de griller à certaines températures. La température physique à l'intérieur du four varie pendant qu'il chauffe. Cette température peut également être surveillée. Le four dispose d'un temps de cuisson qui limite la durée de la cuisson.
Ce type indique que l'appareil obtient l'icône Four, ainsi que certains synonymes et alias associés.
Les fours utilisent une grammaire basée sur les types pouraction.devices.traits.OnOff et action.devices.traits.TemperatureControl :
- Si l'appareil est compatible avec
OnOff, la commande Préchauffe le four enverra une commandeaction.devices.commands.OnOff. - Si l'appareil est compatible avec
TemperatureControl, la commande Préchauffe le four à 180 degrés envoie une commande pour régler le four sur cette température.
Fonctionnalités de l'appareil
Consultez la documentation de la caractéristique correspondante pour obtenir des informations sur l'implémentation, comme les attributs et les états que votre service doit prendre en charge, et sur la façon de créer des réponses EXECUTE et QUERY.
Traits requis
Ces traits et commandes sont obligatoires, le cas échéant, pour votre appareil. Si votre appareil n'est pas compatible avec ces caractéristiques, saisissez le code d'erreur functionNotSupported dans une réponse QUERY ou EXECUTE. Pour en savoir plus, consultez Erreurs et exceptions.
Traits recommandés
Ces caractéristiques sont recommandées, si elles s'appliquent à votre appareil. Toutefois, vous êtes libre de combiner les traits disponibles pour qu'ils correspondent au mieux aux fonctionnalités de votre produit.
Exemple d'appareil : four simple
Cette section contient des exemples de charges utiles d'intent représentant un "four" courant, 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
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.OVEN", "traits": [ "action.devices.traits.Cook", "action.devices.traits.OnOff", "action.devices.traits.TemperatureControl", "action.devices.traits.Timer", "action.devices.traits.StartStop" ], "name": { "name": "Simple oven" }, "willReportState": true, "attributes": { "supportedCookingModes": [ "BAKE", "CONVECTION_BAKE", "ROAST" ], "maxTimerLimitSec": 3600, "temperatureRange": { "minThresholdCelsius": 65, "maxThresholdCelsius": 288 }, "temperatureUnitForUX": "F" }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Exemple de réponse QUERY
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "on": true, "isRunning": true, "temperatureSetpointCelsius": 175, "currentCookingMode": "BAKE", "timerRemainingSec": -1 } } } }
Exemples de commandes EXECUTE
Cuisiner
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.Cook.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.Cook", "params": { "start": true, "cookingMode": "ROAST" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentCookingMode": "ROAST" } } ] } }
OnOff
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.OnOff.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
SetTemperature
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.TemperatureControl.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetTemperature", "params": { "temperature": 200 } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "temperatureSetpointCelsius": 200, "temperatureAmbientCelsius": 100 } } ] } }
TimerStart
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.Timer.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerStart", "params": { "timerTimeSec": 300 } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 300 } } ] } }
TimerAdjust
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.Timer.
{ "requestId": "6894439706274654524", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerAdjust", "params": { "timerTimeSec": -10 } } ] } ] } } ] }
{ "requestId": "6894439706274654524", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 290 } } ] } }
TimerPause
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.Timer.
{ "requestId": "6894439706274654526", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerPause" } ] } ] } } ] }
{ "requestId": "6894439706274654526", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 300, "timerPaused": true } } ] } }
TimerResume
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.Timer.
{ "requestId": "6894439706274654528", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerResume" } ] } ] } } ] }
{ "requestId": "6894439706274654528", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 300, "timerPaused": false } } ] } }
TimerCancel
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.Timer.
{ "requestId": "6894439706274654530", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.TimerCancel" } ] } ] } } ] }
{ "requestId": "6894439706274654530", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": -1 } } ] } }
StartStop
Pour en savoir plus sur les paramètres de la commande, consultez la documentation de référence sur
action.devices.traits.StartStop.
{ "requestId": "6894439706274654532", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.StartStop", "params": { "start": true } } ] } ] } } ] }
{ "requestId": "6894439706274654532", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "isRunning": true } } ] } }