Protéger les batteries de ses appareils ménagers en contrôlant leur charge

Bonjour à tous,

Etant encore un utilisateur assez novice de Home assistant, je me permets de vous présenter un petit projet réalisé récemment.
Cette idée m’est venue suite à une problématique assez simple, j’ai quelques appareils qui fonctionnent sur batterie (aspirateur, outils électro portatifs, vélo électrique).
Le chargement de ces derniers s’arrête quand la batterie est chargée entièrement à 100%.
Or, il est convenu qu’il préférable de maintenir une charge entre 20% et 80% pour prolonger la durée de vie de ces batteries (qui peuvent couter assez chères).

Je me suis donc appuyé sur le fonctionnement d’une charge de batterie.
https://www.batterie-solaire.com/content/58-charge-d-une-batterie

Le but étant de stopper la charge après la phase 1 (BULK) qui correspond une fois finie à une charge entre 80% et 90%.
Pour cela, il faut donc détecter la baisse de l’ampérage.
Petite subtilité selon le type de batterie que vous chargez, l’ampérage est différent

J’ai donc acheter pour cela une prise ZIGBEE Ikea au nom imprononçable " INSPELNING" :wink:mais qui a par contre un rapport qualité prix imbattable.
https://www.ikea.com/fr/fr/p/inspelning-fiche-connecte-compteur-denergie-40569839/

L’idée est donc d’éteindre la prise à une valeur d’ampérage déterminée en fonction de la batterie en charge.
Pour cela à l’activation de la prise et donc une fois la charge démarrée, je récupère la valeur de la charge. En fait pour être plus précis, je me base sur une moyenne calculée durant un petit laps de temps auquel je vais retrancher 0.01 A pour déterminer la valeur d’extinction de la prise.

Ce qu’il faudra :

  • une entité (Filter) correspondant à une moyenne sur un petit laps de temps,
  • une entité (input number) correspondant à la valeur d’arrêt de la prise.
  • une automatisation mettant à jour la valeur de coupure de la prise.
  • une automatisation arrêtant la charge quand celle-ci atteindra la valeur d’arrêt.

Création de la moyenne (Filter)
https://www.home-assistant.io/integrations/filter/



Remarque contrairement à la copie d’écran j’ai mis une période de 3 min et pas 6 min

Création de la valeur d’arrêt (input number)

L’automatisation qui mettra à jour la valeur de coupure (après 5 min de charge)

alias: MAJ Ampérage Limite STOP Prise Cellier
description: >-
  Aprés 5 min on recupère la moyenne de charge de la prise à laquelle on
  soustrait 0.01 pour définir la valeur d'arret de charge de la prise 
triggers:
  - type: turned_on
    device_id: 7aea3f26d79887600d49961f7cb8b837
    entity_id: 866f21923a55f216a1e7c0096cb0fff8
    domain: switch
    trigger: device
    for:
      hours: 0
      minutes: 5
      seconds: 0
conditions: []
actions:
  - action: input_number.set_value
    metadata: {}
    data:
      value: >-
        {{((states('sensor.moyenne_charge_prise_cellier') |
        float)-0.01)|round(2) }}
    target:
      entity_id:
        - input_number.amperage_stop_prise_cellier
mode: single


L’automatisation qui arrêtera la charge

alias: Stop Prise Cellier
description: ""
triggers:
  - trigger: template
    value_template: >
      {# {{states('sensor.prise_cellier_courant')|float <= 0.14}} #}


      {{states('sensor.prise_cellier_courant')|float <=
      states('input_number.amperage_stop_prise_cellier')|float}}
conditions:
  - condition: device
    type: is_on
    device_id: 7aea3f26d79887600d49961f7cb8b837
    entity_id: 866f21923a55f216a1e7c0096cb0fff8
    domain: switch
actions:
  - type: turn_off
    device_id: 7aea3f26d79887600d49961f7cb8b837
    entity_id: 866f21923a55f216a1e7c0096cb0fff8
    domain: switch
mode: single

Testé sur mon vélo électrique, la charge s’est arrêtée à 90%

Voilà j’espère avoir été clair (c’est mon 1er partage) et que ce soit utile à d’autres.
Je reste à l’écoute de vos remarques et/ou suggestions

4 « J'aime »

Intéressant pour charger des équipements non connectés.