Schéma de trait RunCycle pour la maison connectée
action.devices.traits.RunCycle
: cette caractéristique représente tout appareil dont l'opération a une durée en cours et qui peut être interrogé.
Ces appareils indiquent leur nombre total de cycles au début de l'opération et chaque cycle dans lequel l'appareil se trouve actuellement. Cela permet à l'utilisateur d'effectuer des requêtes telles que les suivantes :
- Quel est le cycle de mon sèche-linge ?
- Combien de cycles le lave-vaisselle a-t-il encore à effectuer ?
- Que fait le sèche-linge ?
- Quand le lavage sera-t-il terminé ?
Certains appareils incluent une durée dans un format non cyclique. Tout appareil qui fonctionne pendant une durée spécifique peut indiquer la durée restante, sans cycles. Cela permet également de gérer 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 fonctionnera-t-il encore ?, ce qui renverra la durée en unités proportionnelle au temps restant. Cela s'applique également aux appareils listés ci-dessus. La requête Combien de temps mes vêtements vont-ils encore sécher ? renvoie une durée en minutes.
Les appareils peuvent renvoyer ce qu'ils savent, et la réponse TTS de l'Assistant formera la meilleure réponse avec les données disponibles (par exemple, Le lave-vaisselle est en cours d'exécution et sera terminé dans environ 20 minutes.)
RunCycle est actuellement une caractéristique en lecture seule. Il n'a pas de commandes, mais seulement des états à interroger. À l'avenir, il est possible que des mécanismes permettent de relancer ou d'ignorer des cycles (utile pour les arroseurs, mais pas pour les lave-linge).
ATTRIBUTS D'appareils
Aucune.
ÉTATS DE L'APPAREIL
Les entités avec 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 section Traitement des intents.
États | Type | Description |
---|---|---|
currentRunCycle |
Array |
Obligatoire. Contient les synonymes du cycle en cours dans chaque langue prise en charge. |
[item, ...] |
Objet |
Noms des synonymes de cycle. |
currentCycle |
String |
Obligatoire. Cycle en cours d'exécution. |
nextCycle |
String |
Facultatif. Prochain cycle à réaliser. |
lang |
String |
Obligatoire. Code de langue pour les noms de cycle donnés. Consultez la section Langues acceptées. |
currentTotalRemainingTime |
Entier |
Obligatoire. Temps restant de l'opération, en secondes. |
currentCycleRemainingTime |
Entier |
Obligatoire. Temps restant sur le cycle en cours, en secondes. |
Exemples
L'appareil est en cours de rinçage pendant encore cinq minutes et le cycle complet se terminera dans 20 minutes.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
L'appareil est en cours de rinçage pendant 5 minutes supplémentaires, avant de le faire tourner.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
COMMANDS d'appareils
Aucune.
Notifications de l'appareil
Les appareils dotés de cette caractéristique peuvent renvoyer la charge utile de notification suivante lors d'un changement d'état de l'appareil. Pour en savoir plus sur l'implémentation des notifications, consultez la section Notifications pour les actions de la maison connectée.
Champs | Type | Description |
---|---|---|
RunCycle |
Obligatoire. Charge utile de notification. |
|
Compatible avec l'un des éléments suivants : | ||
0
|
Objet |
Opération réussie |
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 |
String |
Obligatoire. Résultat de l'opération. Valeurs acceptées :
|
currentCycleRemainingTime |
Entier |
Obligatoire. Temps restant sur 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 |
String |
Obligatoire. Résultat de l'opération. Valeurs acceptées :
|
errorCode |
String |
Obligatoire. La valeur peut être n'importe quel code d'erreur pour ce trait, par exemple |
Exemples
L'appareil a terminé.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Une erreur s'est produite lors de l'exécution du cycle en cours.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }