Schéma de Trait RunCycle pour la maison connectée
action.devices.traits.RunCycle
: cette caractéristique représente tout appareil dont le fonctionnement est continu et qui peut être interrogé.
Les appareils comme ceux-ci indiqueront leur nombre total de cycles au début de leur fonctionnement, et chaque cycle dans lequel l’appareil est actuellement lorsqu’il est en cours d’exécution. Cela permet à l'utilisateur d'effectuer des requêtes, telles que:
- Quel est le programme de mon sèche-linge ?
- Combien de cycles reste-t-il au lave-vaisselle ?
- Que fait le sèche-linge ?
- Quand le lavage sera-t-il effectué ?
Certains appareils incluent une durée dans un format non cyclique. N'importe quel appareil qui s'exécute pendant un certain laps de temps peut indiquer le temps restant, 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 : Comment mon aspirateur fonctionnera-t-il encore plus longtemps ?, ce qui renverra la durée exprimée en unités proportionnel au temps restant. Cela s'applique également aux appareils listés ci-dessus ; Combien de temps mes vêtements doivent-ils sécher encore ? renvoie une durée en minutes.
Les appareils peuvent renvoyer ce qu'ils savent, et la réponse de la synthèse vocale de l'Assistant la meilleure réponse avec les données disponibles (par exemple, Le lave-vaisselle est en marche et prendra fin dans un délai d'environ 20 minutes.)
RunCycle est actuellement une caractéristique en lecture seule : il ne possède pas de commandes, seulement des états pour requête. À l'avenir, il pourrait y avoir des mécanismes permettant de réexécuter des cycles ou d'ignorer (bon pour les arroseurs, mauvais pour les machines à laver).
ATTRIBUTS D'appareils
Aucun
STATES de l'appareil
Les entités présentant cette caractéristique peuvent signaler les éléments suivants :
dans le cadre de l'opération QUERY
. Pour apprendre
Pour en savoir plus sur la gestion des intents QUERY
, consultez
Traitement des intents.
États | Type | Description |
---|---|---|
currentRunCycle |
Array |
Obligatoire. Contient les synonymes du cycle en cours dans chaque langue acceptée. |
[item, ...] |
Objet |
Noms des synonymes de cycle. |
currentCycle |
String |
Obligatoire. Cycle en cours en cours d'exécution. |
nextCycle |
String |
Facultatif. Prochain cycle à exécuter. |
lang |
String |
Obligatoire. Code de langue pour les noms de cycle donnés. Consultez la page Langues acceptées. |
currentTotalRemainingTime |
Entier |
Obligatoire. Temps restant avant 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 5 minutes supplémentaires. L'opération 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
Aucun
NOTIFICATIONS relatives à l'appareil
Les appareils présentant cette caractéristique peuvent renvoyer les éléments suivants : charge utile de notification lors du changement d'état de l'appareil. Pour apprendre 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 d'exploitation 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 correspondre à n'importe quel code d'erreur pour cette caractéristique, par exemple |
Exemples
L'appareil a fini de fonctionner.
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
Une erreur s'est produite lors de la fin du cycle en cours.
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }