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 :

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 correspondre à n'importe quel code d'erreur pour cette caractéristique, par exemple deviceStuck.

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

Erreurs d'appareil

Voir la liste complète les erreurs et les exceptions.