Schéma du cycle de vie d'un cycle de maison connectée
action.devices.traits.RunCycle
: cette caractéristique représente tout appareil dont la durée d'exécution peut être interrogée.
Les appareils de ce type indiquent leur nombre total de cycles au début de l'opération et chaque cycle en cours d'exécution. Cela permet à l'utilisateur d'effectuer des requêtes, par exemple:
- Sur quel cycle est mon sèche-linge ?
- Combien de cycles restants pour le lave-vaisselle ?
- Que fait le sèche-linge ?
- Quand le lavage va-t-il se terminer ?
Certains appareils affichent une durée dans un format non cyclique. Tout appareil qui s'exécute pendant une période donnée peut signaler le temps restant, sans cycle. Cela gère également les cas où les cycles peuvent ne pas être cohérents (par exemple, les lave-vaisselle n'utilisent pas toujours tous les cycles). Par exemple, un utilisateur peut demander Combien de temps mon aspirateur va-t-il durer ? pour obtenir la durée exprimée en unités par rapport au temps restant. Cela s'applique également aux appareils répertoriés ci-dessus. Combien de temps mes sèche-linge sont-ils disponibles ? renvoie une durée en minutes.
Les appareils peuvent renvoyer ce qu'ils savent, et la réponse de l'Assistant affichera la réponse la plus pertinente avec les données disponibles (par exemple, Le lave-vaisselle est en marche et prendra environ 20 minutes).
RunCycle est actuellement une caractéristique en lecture seule. Il ne possède aucune commande, il n'indique que les états à interroger. À l'avenir, des mécanismes pourront être mis en place pour réexécuter des cycles ou ignorer des cycles (bonne pour l'arrosage, mauvais pour les machines à laver).
Appareil : ATTRIBUTES
Aucune.
Appareil : STATES
Les entités présentant cette caractéristique peuvent signaler les états suivants dans le cadre de l'opération QUERY
. Pour en savoir plus sur la gestion des intents QUERY
, consultez la page Traitement des intents.
États | Type | Description |
---|---|---|
currentRunCycle |
Array |
Obligatoire. Contient les synonymes du cycle en cours dans chaque langue acceptée. |
[item, ...] |
Objet |
Noms de synonymes de cycle. |
currentCycle |
Chaîne |
Obligatoire. Cycle actuel en cours. |
nextCycle |
Chaîne |
Facultatif. Prochain cycle à effectuer. |
lang |
Chaîne |
Obligatoire. Code de langue des noms de cycle donnés. Consultez la page Langues acceptées. |
currentTotalRemainingTime |
Entier |
Obligatoire. Temps restant en fonctionnement, en secondes. |
currentCycleRemainingTime |
Entier |
Obligatoire. Temps restant pour le cycle en cours, en secondes. |
Exemples
L'appareil est à rincer pendant encore 5 minutes, et l'opération se terminera dans 20 minutes.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
L'appareil est à rincer pendant cinq minutes supplémentaires avant de passer en rotation.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
Appareil COMMANDS
Aucune.
NOTIFICATIONS de l'appareil
Les appareils dotés de cette caractéristique peuvent renvoyer la charge utile de notification suivante dans le cadre d'un changement d'état d'un appareil. Pour en savoir plus sur l'implémentation des notifications, consultez Notifications pour les actions de maison connectée.
Champs | Type | Description |
---|---|---|
RunCycle |
Obligatoire. Charge utile de la notification. |
|
Compatible avec l'un des systèmes suivants: | ||
0
|
Objet |
Réussite |
priority |
Entier |
Obligatoire. Représente le niveau de notification. La valeur actuellement acceptée est 0, ce qui indique que la notification doit être lue à voix haute. |
status |
Chaîne |
Obligatoire. Résultat de l'opération. Valeurs acceptées :
|
currentCycleRemainingTime |
Entier |
Obligatoire. Temps restant pour le cycle en cours, en secondes. |
1
|
Objet |
Échec |
priority |
Entier |
Obligatoire. Représente le niveau de notification. La valeur actuellement acceptée est 0, ce qui indique que la notification doit être lue à voix haute. |
status |
Chaîne |
Obligatoire. Résultat de l'opération. Valeurs acceptées :
|
errorCode |
Chaîne |
Obligatoire. La valeur peut être n'importe quel code d'erreur pour cette caractéristique, par exemple |
Exemples
L'appareil a terminé de fonctionner.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Une erreur s'est produite lors du cycle en cours.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }