Schéma de traçabilité du cycle de vie d'une 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 le nombre total de cycles au début de l'opération, et chaque cycle auquel ils sont actuellement exécutés. Cela permet à l'utilisateur d'effectuer des requêtes, telles que les suivantes:

  • Sur quel cycle est mon sèche-linge ?
  • Combien de cycles a-t-il quitté le lave-vaisselle ?
  • 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 s'exécute pendant une certaine durée peut signaler son temps restant, sans cycles. 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 Quelle est la durée de fonctionnement de mon aspirateur ? qui renvoie la durée en unités proportionnelles au temps restant. Cela s'applique également aux appareils répertoriés ci-dessus. Combien de temps mes vêtements seront-ils plus secs ? renvoie une durée en minutes.

Les appareils peuvent renvoyer ce qu'ils savent, et la réponse par synthèse vocale de l'Assistant constitue la meilleure réponse avec les données disponibles (par exemple, Le lave-vaisselle est en marche et prendra environ 20 minutes).

RunCycle est actuellement un trait en lecture seule. Il n'a aucune commande, il ne peut interroger que des états. À l'avenir, il pourrait y avoir des mécanismes permettant de réexécuter des cycles ou d'ignorer des cycles (ce comportement est adapté aux arroseurs et aux machines de lavage).

ATTRIBUTS de l'appareil

Aucun.

Appareil 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 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 String

Obligatoire.

Cycle en cours.

nextCycle String

Facultatif. Cycle suivant à suivre.

lang String

Obligatoire.

Code de langue pour les noms de cycle donnés. Consultez la section 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 à nouveau rincé pendant 5 minutes et sera terminé dans 20 minutes.

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

L'appareil est à nouveau rincé pendant cinq minutes avant de tourner.

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

Appareil COMMANDS

Aucun.

NOTIFICATIONS D'APPAREIL

Les appareils présentant cette caractéristique peuvent renvoyer la charge utile de notification suivante en cas de 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.

Compatibilité avec les é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 prononcée à voix haute.

status String

Obligatoire.

Résultat de l'opération.

Valeurs acceptées :

SUCCESS
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 prononcée à voix haute.

status String

Obligatoire.

Résultat de l'opération.

Valeurs acceptées :

FAILURE
errorCode String

Obligatoire.

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

Exemples

L'appareil a terminé.

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

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

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

ERREURS sur l'appareil

Consultez la liste complète des erreurs et exceptions.