Gestion du cycle de charge et de décharge d'une tablette sous Home Assistant

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.

Seuils de charge et de décharge

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

input_number:
  threshold_tablet_battery_max:
    name: Threshold - Tablet - Battery max
    min: "-1"
    max: "100"
    step: "1"
    unit_of_measurement: "%"
  threshold_tablet_battery_min:
    name: Threshold - Tablet - Battery min
    min: "-1"
    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 des entités correspondant à la valeur de la batterie de votre tablette sensor.tablet_battery et de l'interrupteur qui controle 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 allume la prise.

Conclusion

J'utilise ce système depuis quelques mois sans avoir à me soucier des cycles de charge et de décharge de ma tablette. La prochaine évolution sera de mesurer le temps de décharge de la batterie et de voir son évolution dans le temps, ce qui sera, probablement, le sujet d'un prochain article.