Guide de yaourtière pour maison connectée
action.devices.types.YOGURTMAKER
: vos interactions avec les yaourtières peuvent inclure le démarrage et l'arrêt, le réglage d'un minuteur, le réglage des modes de cuisson ou des aliments prédéfinis, ou encore le réglage d'autres paramètres.
Ce type indique que l'appareil obtient l'icône Yogurt Maker, ainsi que des synonymes et alias associés.
Fonctionnalités de l'appareil
Reportez-vous à la documentation sur les caractéristiques correspondantes pour obtenir des détails sur l'implémentation, tels que les attributs et les états que votre service doit prendre en charge, et pour découvrir comment créer des réponses EXECUTE et QUERY.
Traits obligatoires
Ces caractéristiques et commandes sont requises, si applicables à votre appareil. Si votre appareil n'est pas compatible avec ces traits, saisissez le code d'erreur de functionNotSupported
dans une réponse QUERY ou EXECUTE. Pour en savoir plus, consultez la section Erreurs et exceptions.
Traits recommandés
Ces caractéristiques sont recommandées, si elles s'appliquent à votre appareil. Cependant, vous êtes libre de combiner toutes les caractéristiques disponibles pour qu'elles correspondent au mieux aux fonctionnalités de votre produit.
Exigences de qualité
- Latence:doit être inférieure ou égale à 800 ms.
- Fiabilité:la valeur doit être supérieure ou égale à 97%.
Exemple d'appareil: Yaourtière simple
Cette section contient des exemples de charges utiles d'intent représentant un "fabricant de yaourt" courant basé sur le type d'appareil et les 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 modifications.
Exemple de réponse SYNC
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.YOGURTMAKER", "traits": [ "action.devices.traits.Cook", "action.devices.traits.StartStop", "action.devices.traits.Timer", "action.devices.traits.OnOff" ], "name": { "name": "Simple yogurt maker" }, "willReportState": true, "attributes": { "supportedCookingModes": [ "COOK" ], "foodPresets": [ { "food_preset_name": "yogurt_key", "supported_units": [ "CUPS", "OUNCES" ], "food_synonyms": [ { "synonym": [ "Yogurt", "Yoghurt" ], "lang": "en" } ] }, { "food_preset_name": "coconut_yogurt_key", "supported_units": [ "CUPS", "OUNCES" ], "food_synonyms": [ { "synonym": [ "Coconut yogurt", "Vegan yogurt" ], "lang": "en" } ] } ], "maxTimerLimitSec": 30, "pausable": true }, "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, "isPaused": false, "timerRemainingSec": 30, "currentCookingMode": "COOK", "currentFoodPreset": "yogurt_key" } } } }
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": false, "cookingMode": "COOK" } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentCookingMode": "NONE", "currentFoodPreset": "NONE" } } ] } }
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": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.StartStop", "params": { "start": true } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "isRunning": true, "isPaused": false } } ] } }
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": 30 } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "timerRemainingSec": 30 } } ] } }
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": 20 } } ] } }
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": 30, "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": 30, "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 } } ] } }
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": "6894439706274654532", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654532", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }