Mettre en place un calcul "conditionnel" sur un sensor

Bonjour,

Besoin d’un coup de main de la communauté pour la réalisation de calcul « conditionnel » sur la valeur brute fournis par un sensor…

Pour être plus clair :

  • J’ai un sensor P qui me fournis la puissance au borne d’une batterie.
  • Ce sensor P fournis une valeur positive lorsque la batterie est en phase de charge et négative lorsque la batterie est en phase de décharge.
  • Pour l’utilisation du module Energie de HA, je dois disposer de deux sensor spécifiques , un représentant la charge et l’autre, la décharge.
  • Je ne sais pas si ma démarche est la bonne mais je pensai générer ces deux sensor virtuels selon la logique suivante :
  • si valeur sensor P > 0 : Sensor P charge = Sensor P et Sensor P décharge = 0
  • si valeur sensor P < 0 : Sensor P charge = 0 et Sensor P décharge = - Sensor P
  • si valeur sensor P = 0 : Sensor P charge = 0 et Sensor P décharge = 0

Pouvez vous me confirmer que la démarche est correcte et me fournir de l’aide sur la partie codage yaml.

Merci d’avance …

Voila la solution que j’ai mise en place. Si cela peut être utile à quelqu’un.
Ce n’est peut-être pas la solution la plus « propre » d’un point de vue codage mais, ça marche …

template:
  - sensor:
      - name: "batterie_w_charge"
        unit_of_measurement: 'W'
        state: >
         {% if states('sensor.battery_power_system') | float >= 0 %}
           {{ states('sensor.battery_power_system') }}
         {% else %}
           0
         {% endif %}

      - name: "batterie_w_discharge"
        unit_of_measurement: 'W'
        state: >
          {% if states('sensor.battery_power_system') | float >= 0 %}
            0
          {% else %}
            {{ (states('sensor.battery_power_system') | float)| abs }}
          {% endif %}