Aller au contenu

Tâche Get Battery Health

Résumé

  • Nom interne : GetBatteryHealth
  • Catégorie : Battery
  • Objectif : Lire le statut de santé actuel de la batterie. Retourne une chaîne descriptive telle que Good, Overheat, Dead, Over Voltage ou Cold.
  • Type de tâche : Normale

Compatibilité

  • Version AndroMate minimale : 1.1.0

  • Version AndroMate maximale : 1.1.0

  • Android minimum : Android 13 (API 33)

  • Android testé maximum : Android 16 (API 36)

  • Permissions requises : Aucune


Description détaillée

La tâche Get Battery Health lit l'indicateur de santé de la batterie depuis le broadcast Android (ACTION_BATTERY_CHANGED). Le résultat est une chaîne lisible par l'humain stockée dans value_output, ce qui facilite la détection des conditions de batterie dégradées ou dangereuses lors des workflows de surveillance automatisée.

Aucune permission spéciale n'est requise — ACTION_BATTERY_CHANGED est un broadcast système protégé accessible à toutes les applications.


Paramètres d'entrée

Cette tâche n'a pas de paramètres d'entrée.


Paramètres de sortie

Champ Type Condition de déclenchement Compatibilité Android Compatibilité AndroMate Défaut
value_output Chaîne Toujours en cas de succès — l'une des valeurs : Good, Overheat, Dead, Over Voltage, Cold, Unknown Android 13 (API 33) → Android 16 (API 36) 1.1.0 → 1.1.0 <ANDROMATE_NULL_VALUE>

Valeurs de sortie possibles

Valeur Description
Good La batterie fonctionne normalement
Overheat La température de la batterie est trop élevée
Dead La batterie est morte et ne peut plus être utilisée
Over Voltage La tension de la batterie dépasse les limites de sécurité
Cold La température de la batterie est trop basse
Unknown Le statut de santé ne peut pas être déterminé

Variables spéciales

Lors de la comparaison de la sortie de cette tâche dans une condition (ex. Compare Strings), vous pouvez utiliser les variables spéciales AndroMate intégrées plutôt que des chaînes codées en dur. Cela évite les fautes de frappe et rend votre workflow plus lisible.

Variable spéciale Valeur résolue
${BATTERY_HEALTH_GOOD} "Good"
${BATTERY_HEALTH_OVERHEAT} "Overheat"
${BATTERY_HEALTH_DEAD} "Dead"
${BATTERY_HEALTH_OVER_VOLTAGE} "Over Voltage"
${BATTERY_HEALTH_COLD} "Cold"
${BATTERY_HEALTH_UNKNOWN} "Unknown"

Exemple — comparer $sante_batterie avec ${BATTERY_HEALTH_GOOD} dans une tâche Compare Strings plutôt que de saisir "Good" manuellement.


Exceptions

Cette tâche ne lève pas d'exceptions. Si le statut de santé ne peut pas être lu, "Unknown" est stocké dans value_output.


Diagramme d'exécution

flowchart TD
    Start([▶ GetBatteryHealth]) --> Register[📡 Enregistrer ACTION_BATTERY_CHANGED\nrecepteur ponctuel]

    Register --> ReadHealth[🔋 Lire EXTRA_HEALTH\nconvertir en chaîne]

    ReadHealth --> StoreResult[💾 Définir value_output\nStrTaskResult]

    StoreResult --> LogReport[📋 Journaliser le rapport]

    LogReport --> Success([✅ StrTaskResult])

    style Start fill:#e3f2fd
    style Success fill:#c8e6c9
    style Register fill:#fff9c4
    style ReadHealth fill:#f3e5f5
    style StoreResult fill:#c8e6c9

Fonctionnement :

  1. Enregistrer le récepteur batterie : enregistre un récepteur ponctuel pour ACTION_BATTERY_CHANGED
  2. Lire la santé : extrait EXTRA_HEALTH et convertit la constante entière en chaîne descriptive
  3. Stocker le résultat : définit value_output avec la chaîne de santé
  4. Résultat : retourne StrTaskResult

Exemples de code

Exemple 1 — Lire la santé de la batterie

{
  "GetBatteryHealth": [
    {
      "id": "1",
      "title": "Vérifier la santé de la batterie",
      "value_output": "$sante_batterie"
    }
  ]
}

Détails des paramètres d'entrée

Cette tâche n'a pas de paramètres d'entrée.


Détails des paramètres de sortie

value_output — Santé de la batterie

Stocke la santé de la batterie sous forme de chaîne descriptive dans la variable workflow spécifiée.

  • L'une des valeurs Good, Overheat, Dead, Over Voltage, Cold, Unknown
  • Si la santé ne peut pas être déterminée, "Unknown" est stocké
  • Astuce : comparer avec les variables spéciales ${BATTERY_HEALTH_*} plutôt que des chaînes en dur

Exemple JSON complet

{
  "GetBatteryHealth": [
    {
      "id": "1",
      "title": "Get Battery Health",
      "value_output": "$BATTERY_HEALTH"
    }
  ]
}