Additionner 2 sensors pour tarif HC & HP compteur elec

Bonjour à tous,

J’ai mis en place ce we la remontée des info avec teleinfo de mon compteur elect (pas linky) sur HA
Tout fonctionne très bien.
J’ai crée des sensors pour avoir les conso au jour semaine mois année (merco les tutos)

Maintenant je souhaite faire des calculs de conso en Euro. mais je coince comment additionner 2 sensors virtuels.
avec Template je ne m’en sors pas …

Merci bcp
GILLES


Salut

Tu peux avec template sensor, il faut que ton sensor soit en kWh comme dans mon cas sensor.daily_heating_peak est en kWh, ou bien tu divises par 1000 dans la formule.

platform: template
sensors:
  heat_cost_hp:
    friendly_name: "Heat Cost HP"
    unit_of_measurement: '€'
    value_template: "{{ ((states.sensor.daily_heating_peak.state|float(0)) * 0.1639) | round(2) }}"

merci ejalal

tu m as mis sur la voie, je n avais pas créer de fichier template …
tout fonctionne
impec

bonjour,

est il possible d avoir le lien de ce tuto ? , je suis intéressé par la carte qui affiche la conso jour/semaine/mois :slight_smile:

Bonjour,
également intéressé par les liens des tutos…
Merci d’avance

bonjour Zekje

Pour mes consos elec j’ai suivi le montage pour recuperer les conso qui fonctionne avec les vieux compteurs edf (voir) lien :

https://www.haade.fr/en/blog/home-automation-smarthome-jeedom-homeassistant/tutos-haade-lab/home-assistant/integrer-son-compteur-electrique-teleinfo-dans-home-assistant/

ensuite j’ai créé des capteurs pour avoir les conso HC HP aux jours semaines mois :

# CALCUL HC HP COMTEUR 
utility_meter:
  daily_energy_offpeak:
    source: sensor.index_heures_creuses
    name: HC Puissance Elec. Jour
    cycle: daily
  daily_energy_peak:
    source: sensor.index_heures_pleines
    name: HP Puissance Elec. Jour
    cycle: daily
  weekly_energy_offpeak:
    source: sensor.index_heures_creuses
    name: HC Puissance Elec. Semaine
    cycle: weekly
  weekly_energy_peak:
    source: sensor.index_heures_pleines
    name: HP Puissance Elec. Semaine
    cycle: weekly
  monthly_energy_offpeak:
    source: sensor.index_heures_creuses
    name: HC Puissance Elec. Mois
    cycle: monthly
  monthly_energy_peak:
    source: sensor.index_heures_pleines

ensuite on transforme pour avoir conso HP + HC :

#.config capteur virtuel puissance adition HP + HC
# ne pas mettre de majuscule et d'espace au nom du capteur
  - sensors:
      puissance_elec_jour:
        friendly_name: "Puissance elec. jour"
        entity_id:
        - sensor.hc_puissance_elec_jour
        - sensor.hp_puissance_elec_jour
        value_template: "{{ ((states('sensor.hc_puissance_elec_jour')|float + states('sensor.hp_puissance_elec_jour')|float)|round(3)) / 1000 }}" 
        unit_of_measurement: "kWh"
    
  - sensors:
      puissance_elec_semaine:
        friendly_name: "Puissance elec. semaine"
        entity_id:
        - sensor.hc_puissance_elec_semaine
        - sensor.hp_puissance_elec_semaine
        value_template: "{{ ((states('sensor.hc_puissance_elec_semaine')|float + states('sensor.hp_puissance_elec_semaine')|float)|round(3)) / 1000 }}" 
        unit_of_measurement: "kWh"  
        
  - sensors:
      puissance_elec_mois:
        friendly_name: "Puissance elec. mois"
        entity_id:
        - sensor.hc_puissance_elec_mois
        - sensor.hp_puissance_elec_mois
        value_template: "{{ ((states('sensor.hc_puissance_elec_mois')|float + states('sensor.hp_puissance_elec_mois')|float)|round(3)) / 1000 }}" 
        unit_of_measurement: "kWh" 
        
  - sensors:
       puissance_elec_annee:
         friendly_name: "Puissance elec. année"
         entity_id:
         - sensor.hc_puissance_elec_annee
         - sensor.hp_puissance_elec_annee
         value_template: "{{ ((states('sensor.hc_puissance_elec_annee')|float + states('sensor.hp_puissance_elec_annee')|float)|round(3)) / 1000 }}" 
         unit_of_measurement: "kWh"         

et ensuite transformation pour le prix du kwh :

# capteur calcul sur puissance elec    
  - sensors:
      cout_elec_jour_hc:
        friendly_name: "Coût elec. jour HC"
        entity_id:
        - sensor.hc_puissance_elec_jour
        value_template: "{{ (states('sensor.hc_puissance_elec_jour')|float / 1000) * 0.10253 }}" 
        unit_of_measurement: "€"
        
  - sensors:
      cout_elec_jour_hp:
        friendly_name: "Coût elec. jour HP"
        entity_id:
        - sensor.hp_puissance_elec_jour
        value_template: "{{ (states('sensor.hp_puissance_elec_jour')|float / 1000) * 0.15577 }}" 
        unit_of_measurement: "€"
#addition HC + HP
  - sensors:
      cout_elec_jour_total:
        friendly_name: "Coût elec jour total"
        entity_id:
        - sensor.cout_elec_jour_hc
        - sensor.cout_elec_jour_hp
        value_template: "{{ ((states('sensor.cout_elec_jour_hp')|float + states('sensor.cout_elec_jour_hc')|float)|round(3)) }}" 
        unit_of_measurement: "€"
#----------------------------------------------------------------------------------------------
  - sensors:
      cout_elec_semaine_hc:
        friendly_name: "Coût elec. semaine HC"
        entity_id:
        - sensor.hc_puissance_elec_semaine
        value_template: "{{ (states('sensor.hc_puissance_elec_semaine')|float / 1000) * 0.10253 }}" 
        unit_of_measurement: "€"
        
  - sensors:
      cout_elec_semaine_hp:
        friendly_name: "Coût elec. semaine HP"
        entity_id:
        - sensor.hp_puissance_elec_semaine
        value_template: "{{ (states('sensor.hp_puissance_elec_semaine')|float / 1000) * 0.15577 }}" 
        unit_of_measurement: "€" 
#addition HC + HP
  - sensors:
      cout_elec_semaine_total:
        friendly_name: "Coût elec semaine total"
        entity_id:
        - sensor.cout_elec_semaine_hc
        - sensor.cout_elec_semaine_hp
        value_template: "{{ ((states('sensor.cout_elec_semaine_hp')|float + states('sensor.cout_elec_semaine_hc')|float)|round(3)) }}" 
        unit_of_measurement: "€"
#----------------------------------------------------------------------------------------------
  - sensors:
      cout_elec_mois_hc:
        friendly_name: "Coût elec. mois HC"
        entity_id:
        - sensor.hc_puissance_elec_mois
        value_template: "{{ (states('sensor.hc_puissance_elec_mois')|float / 1000) * 0.10253 }}" 
        unit_of_measurement: "€"
        
  - sensors:
      cout_elec_mois_hp:
        friendly_name: "Coût elec. mois HP"
        entity_id:
        - sensor.hp_puissance_elec_mois
        value_template: "{{ (states('sensor.hp_puissance_elec_mois')|float / 1000) * 0.15577 }}" 
        unit_of_measurement: "€"    
#addition HC + HP
  - sensors:
      cout_elec_mois_total:
        friendly_name: "Coût elec mois total"
        entity_id:
        - sensor.cout_elec_mois_hc
        - sensor.cout_elec_mois_hp
        value_template: "{{ ((states('sensor.cout_elec_mois_hp')|float + states('sensor.cout_elec_mois_hc')|float)|round(3)) }}" 
        unit_of_measurement: "€"
#----------------------------------------------------------------------------------------------        
  - sensors:
      cout_elec_annee_hc:
        friendly_name: "Coût elec. année HC"
        entity_id:
        - sensor.hc_puissance_elec_annee
        value_template: "{{ (states('sensor.hc_puissance_elec_annee')|float / 1000) * 0.10253 }}" 
        unit_of_measurement: "€"
        
  - sensors:
      cout_elec_annee_hp:
        friendly_name: "Coût elec. année HP"
        entity_id:
        - sensor.hp_puissance_elec_annee
        value_template: "{{ (states('sensor.hp_puissance_elec_annee')|float / 1000) * 0.15577 }}" 
        unit_of_measurement: "€"    
#addition HC + HP
  - sensors:
      cout_elec_annee_total:
        friendly_name: "Coût elec année total"
        entity_id:
        - sensor.cout_elec_annee_hc
        - sensor.cout_elec_annee_hp
        value_template: "{{ ((states('sensor.cout_elec_annee_hp')|float + states('sensor.cout_elec_annee_hc')|float)|round(3)) }}" 
        unit_of_measurement: "€"

Pour les courbes en bargraphe j’ai installé apexcharts-card :
Voila les codes des courbes :

type: custom:apexcharts-card
graph_span: 7d
span:
  end: day
stacked: true
header:
  show: false
  title: Conso journalière
apex_config:
  chart:
    type: area
    height: 400
  stroke:
    show: true
    width: 1
    curve: smooth
  legend:
    show: true
  fill:
    type: gradient
    gradient:
      shadeIntensity: 0.1
      opacityFrom: 0.25
      opacityTo: 1
      inverseColors: true
      stops:
        - 0
        - 90
        - 100
series:
  - color: rgb(187, 11, 11)
    entity: sensor.hp_puissance_elec_jour
    type: column
    group_by:
      func: last
      duration: 24h
    show:
      datalabels: true
  - color: rgb(44, 117, 255)
    entity: sensor.hc_puissance_elec_jour
    type: column
    group_by:
      func: last
      duration: 24h
    show:
      datalabels: true

On décline en suite les courbes jours et semaines
Qui donne ceci :

Voila j’espère avoir été clair, j’ai fais tout ceci avec l’aide de certain sur ce super forum
Bonne journée à tous, et bonnes fêtes

Bonjour Voileux
je viens de mettre mes infos …
Bonne journée

Merci, je viens de rajouter sur mon install .
juste une petite remarque pour les débutants comme moi, les « - sensor: » sont a mettre sous « template: »

le graph apex est vide, je suppose que les infos vont se remplir a partir de demain …

edit :
j 'avais oublié que j 'utilisais recorder
il faut rajouter dans recorder:

     entity_globs:
      - sensor.hc_puissance_elec_*
      - sensor.hp_puissance_elec_*
      - sensor.cout_elec_*
      - sensor.daily_energy_*
      - sensor.weekly_energy_*
      - sensor.monthly_energy_*

j espère ne pas en avoir oublié

re ZEKJE

j’ai ajouté a lovelace cette integration pour avoir les courbes
apexcharts-card

Bonne chance pour la suite
Gilles

Re
tu peux le faire de HACS et ensuite fronted …

Gilles

Je penses qu il manque un bout apres ceci non ?

au hasard, je rajouterais

    name: HP Puissance Elec. Mois
    cycle: monthly

Jerome

bonjour je débute j’ai un shelly EM pour ma conso électrique j’ai suivi le tuto plus haut pour faire apparaitre HC et HP mais je m’étonne que a aucun moment je met l’identité de mon shelly EM ainsi que les horaire heure pleine et heure creuse ??
pourriez vous m’éclairé?