Gérer le cycle de charge d'une tablette avec Home Assistant

Domotique 3 min de lecture

Ma tablette Fire HD 10 reste branchée en permanence. Voici comment j'évite l'usure de sa batterie avec une prise Shelly et deux seuils sous Home Assistant.

Batterie
Photo de Mika Baumeister

J'ai acheté, il y a quelques mois, une tablette Fire HD 10 pour contrôler Home Assistant depuis cette dernière.

J'utilise Fully Kiosk Browser et l'intégration officielle disponible sous Home Assistant. Cependant, comme la tablette est branchée en permanence au secteur, il a fallu gérer son cycle de charge et de décharge pour éviter une usure prématurée de la batterie.

Pour contrôler la charge et la décharge, j'ai simplement ajouté une prise connectée Shelly Plug S que j'avais en stock.

⚠️ Cet article a été publié initialement en 2023 et la syntaxe des exemples a vieilli. Avec la version 2024.8 de Home Assistant, service est devenu action dans les automatisations, et la 2024.10 a introduit les formes plurielles triggers, conditions et actions. L'ancienne syntaxe fonctionne toujours pour le moment.

Seuils de charge et de décharge

Avant de passer à l'automatisation, nous allons définir 2 seuils indiquant les valeurs de charge maximale et de décharge minimale entre lesquelles la batterie devra rester. Il suffit de définir 2 input_number :

input_number:
  threshold_tablet_battery_max:
    name: Threshold - Tablet - Battery max
    min: "0"
    max: "100"
    step: "1"
    unit_of_measurement: "%"
  threshold_tablet_battery_min:
    name: Threshold - Tablet - Battery min
    min: "0"
    max: "100"
    step: "1"
    unit_of_measurement: "%"

J'ai réglé mes seuils sur ces valeurs :

  • threshold_tablet_battery_max : 80 %
  • threshold_tablet_battery_min : 20 %

Automatisation de la prise

Vous aurez besoin de l'entité correspondant au niveau de batterie de votre tablette (sensor.tablet_battery) et de celle de l'interrupteur qui contrôle votre prise connectée (switch.plug_s).

automation:
  - description: Tablet - Power supply
    alias: tablet_power_supply
    id: 5c4cd50c-af42-4cf9-84bb-024b6f339bc6
    mode: single
    max_exceeded: silent
    trigger:
      - platform: homeassistant
        event: start
      - platform: event
        event_type: automation_reloaded
      - platform: numeric_state
        entity_id: sensor.tablet_battery
        above: input_number.threshold_tablet_battery_max
      - platform: numeric_state
        entity_id: sensor.tablet_battery
        below: input_number.threshold_tablet_battery_min
    action:
      - choose:
          - conditions:
              - condition: numeric_state
                entity_id: sensor.tablet_battery
                above: input_number.threshold_tablet_battery_max
            sequence:
              - service: switch.turn_off
                target:
                  entity_id: switch.plug_s
          - conditions:
              - condition: numeric_state
                entity_id: sensor.tablet_battery
                below: input_number.threshold_tablet_battery_min
            sequence:
              - service: switch.turn_on
                target:
                  entity_id: switch.plug_s

L'automatisation est assez simple : si on est au-dessus du seuil de charge threshold_tablet_battery_max, on éteint la prise ; si on est en dessous du seuil de décharge threshold_tablet_battery_min, on l'allume.

Une précision : l'automatisation ne réagit qu'au franchissement d'un seuil ou au démarrage de Home Assistant. Si vous rallumez la prise manuellement alors que la batterie est à 50 %, la tablette chargera jusqu'à 100 % sans que rien ne l'interrompe, puisque aucun seuil ne sera franchi. Pour couvrir ce cas, il suffit d'ajouter un déclencheur platform: state sur switch.plug_s.

Conclusion

J'utilise ce système depuis quelques mois sans avoir à me soucier des cycles de charge et de décharge de ma tablette.