Gérer le cycle de charge d'une tablette avec Home Assistant
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.
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.