Schéma RunCycle Trait de la maison connectée

action.devices.traits.RunCycle : cette caractéristique représente tout appareil dont l'opération est en cours et qui peut être interrogé.

Les appareils comme ceux-ci indiqueront le nombre total de cycles au début de leur fonctionnement, ainsi que chaque cycle en cours dans lequel ils sont en cours d'exécution. Cela permet à l'utilisateur d'effectuer des requêtes, par exemple:

  • 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 terminé ?

Certains appareils affichent une durée dans un format non cyclique. Tout appareil qui s'exécute pendant une durée spécifique peut indiquer le temps restant, sans cycles. Cela permet également de gérer les cas où les cycles peuvent ne pas être réguliers (par exemple, les lave-vaisselles n'utilisent pas toujours tous les cycles). Par exemple, un utilisateur peut demander : Combien de temps l'aspirateur va-t-il fonctionner ?, ce qui renvoie la durée en unités proportionnelle au temps restant. Cela s'applique également aux appareils énumérés ci-dessus. Combien de temps de temps mes vêtements vont-ils sécher ? 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 constitue la meilleure réponse à partir des données disponibles (par exemple, Le lave-vaisselle est en marche et se terminera dans environ 20 minutes).

RunCycle est actuellement un trait en lecture seule. Il ne comporte aucune commande, il ne comporte que des états à interroger. À l'avenir, il existera peut-être des mécanismes permettant de relancer des cycles ou d'ignorer des cycles (ce qui est préférable pour les arroseurs ou les machines à laver).

Attributs d'appareil

Aucun.

Device STATES

Les entités dotées de 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 actuel dans chaque langue disponible.

[item, ...] Objet

Noms des synonymes de cycle.

currentCycle String

Obligatoire.

Cycle en cours en cours.

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 sur l'opération (en secondes).

currentCycleRemainingTime Entier

Obligatoire.

Temps restant sur le cycle en cours (en secondes).

Exemples

Le rinçage de l'appareil reprendra encore cinq minutes. Le processus se terminera dans 20 minutes.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 1200,
  "currentCycleRemainingTime": 300
}

L'appareil reste dans le rinçage pendant encore cinq minutes, puis tournez-le.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "nextCycle": "spin",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 600,
  "currentCycleRemainingTime": 300
}

COMMANDS d'appareil

Aucun.

NOTIFICATIONS relatives à l'appareil

Les appareils dotés de cette caractéristique peuvent renvoyer la charge utile de notification suivante lors d'un changement d'état d'appareil. Pour en savoir plus sur l'implémentation des notifications, consultez 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

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 String

Obligatoire.

Résultat de l'opération.

Valeurs acceptées :

SUCCESS
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 :

FAILURE
errorCode String

Obligatoire.

La valeur peut être n'importe quel code d'erreur pour cette caractéristique, par exemple deviceStuck.

Exemples

L'appareil a terminé de fonctionner.

{
  "RunCycle": {
    "priority": 0,
    "status": "SUCCESS",
    "currentCycleRemainingTime": 0
  }
}

Une erreur s'est produite au cours du cycle en cours.

{
  "RunCycle": {
    "priority": 0,
    "status": "FAILURE",
    "errorCode": "deviceStuck"
  }
}

ERREURS sur l'appareil

Consultez la liste complète des erreurs et exceptions.