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 :

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 ce trait, par exemple deviceStuck.

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"
  }
}

ERREURS de l'appareil

Consultez la liste complète des erreurs et exceptions.