Créer un tableau de bord équivalent de suivi conso sur jeedom

Bonjour,

Comme le titre l’indique, je souhaiterai pouvoir établir une pseudo copie de ma facture à recevoir tous les deux mois.
Pour cela voici ce que je pensais faire :

  • commencer par créer les utility meter des HP, des HC ainsi que des kwh totaux. Ceci au jour au mois et au bimensuel, et avec l’ofset, si jai bien compris on peut choisir le jour de remise à zero du bimensuel car m afacture est du 07 du mois 1 au 06 du mois 3:
utility_meter:
  energie_bimensuelle_heures_pleines_heure_pleine:
    source: sensor.edf_index_hp
    cycle: bimonthly
    offset:
      days: 7
      hours: 0
      minutes: 0
  energie_mensuelle_heures_pleines_heure_pleine:
    source: sensor.edf_index_hp
    cycle: monthly

  energie_quotidienne_heures_pleines_heure_pleine:
    source: sensor.edf_index_hp
    cycle: daily

  energie_bimensuelle_heures_creuses_heure_creuse:
    source: sensor.edf_index_hc
    cycle: bimonthly
    offset:
      days: 7
      hours: 0
      minutes: 0
  energie_mensuelle_heures_creuses_heure_creuse:
    source: sensor.edf_index_hc
    cycle: monthly

  energie_quotidienne_heures_creuses_heure_creuse:
    source: sensor.edf_index_hc
    cycle: daily

  energie_bimensuelle_totale:
    source: sensor.edf_total
    cycle: bimonthly
    offset:
      days: 7
      hours: 0
      minutes: 0
  energie_mensuelle_totale:
    source: sensor.edf_total
    cycle: monthly

  energie_quotidienne_totale:
    source: sensor.edf_total
    cycle: daily

En me basant sur le travail du blog mycanaletto je partirais ensuite sur des input numbers pour mettre les tarifs TTC des abonnements, HC, HP et taxes comme ceci :

input_number:
  conso_abt_mensuel:
    name: Conso - Abonnement Mois
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/mois"
    icon: mdi:currency-eur

  conso_taxe_cta:
    name: Taxe - CTA
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/mois"
    icon: mdi:currency-eur

  conso_taxe_cspe:
    name: Taxe - CSPE
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/mois"
    icon: mdi:currency-eur

  conso_taxe_tcfe:
    name: Taxe - TCFE
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/mois"
    icon: mdi:currency-eur

  conso_prix_hp:
    name: HP - Coût du Kwh
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/kWh"
    icon: mdi:currency-eur

  conso_prix_hc:
    name: HC - Coût du Kwh
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/kWh"
    icon: mdi:currency-eur

Ensuite je partirai comme sur le mêmme blog sur des templates pour multiplier et additionner tout ça.
Un peu usine à gaz mais cela est il cohérent?

4 « J'aime »

Ce qui donne pour les input numbers :
image

Et pour les utility meters en m’appuyant sur le travail de @Herbs :


Comme je viens de prendre en compte les modifs en yaml il y a des erreurs et ce ne sera juste qu’aux prochaines périodes.
Il me reste les templates pour le calcul de coûts si ça fonctionne.
J’ai encore un doute sur l’ofset aussi des périodes bimensuelles. Ai je bien compris que ce que j’ai mis refera le compteur au 07 du premiers mois à minuit.

4 « J'aime »

Concernant les template sensor, c’est un travail en cours je n’ai pas encore testé si ça fait le job.

template:
  - sensor:
      - name: hp_cout_jour
        state: "{{ (states('sensor.energie_quotidienne_heures_pleines_heure_pleine') |float * states('input_number.conso_prix_hp')|float)|round(2) }}"

      - name: hc_cout_jour
        state: "{{ (states('sensor.energie_quotidienne_heures_creuses_heure_creuse') |float * states('input_number.conso_prix_hc')|float)|round(2) }}"

      - name: hp_cout_mensuel
        state: "{{ (states('sensor.energie_mensuelle_heures_pleines_heure_pleine') |float * states('input_number.conso_prix_hp')|float)|round(2) }}"

      - name: hc_cout_mensuel
        state: "{{ (states('sensor.energie_mensuelle_heures_creuses_heure_creuse') |float * states('input_number.conso_prix_hc')|float)|round(2) }}"

      - name: hp_cout_bimensuel
        state: "{{ (states('sensor.energie_bimensuelle_heures_pleines_heure_pleine') |float * states('input_number.conso_prix_hp')|float)|round(2) }}"

      - name: hc_cout_bimensuel
        state: "{{ (states('sensor.energie_bimensuelle_heures_creuses_heure_creuse') |float * states('input_number.conso_prix_hc')|float)|round(2) }}"

      - name: cout_bimensuel_cspe
        state: "{{ (states('sensor.energie_bimensuelle_totale') |float * states('input_number.conso_taxe_cspe')|float)|round(2) }}"

      - name: cout_bimensuel_tcfe
        state: "{{ (states('sensor.energie_bimensuelle_totale') |float * states('input_number.conso_taxe_tcfe')|float)|round(2) }}"


Je pense faire un total bimensuel pour se rapprocher de la facturation mais grosse ligne de calcul je ne sais pas si HA le permet

4 « J'aime »

Pour le total facture je pense à un template sensor comme ça :

      - name: cout_bimensuel_facture
        state: "{{ (states('sensor.cout_bimensuel_cspe') |float + states('sensor.cout_bimensuel_tcfe') |float) + states('input_number.conso_abt_mensuel') |float) + states('input_number.conso_taxe_cta') |float) + states('sensor.hp_cout_bimensuel') |float) + states('hc_cout_bimensuel') |float)|round(2) }}"

Il me reste à redémarrer pour voir si tout est ok et suivre ça.
Edit a priori ça marche pas sur cette dernière partie j’ai une erreur

1 « J'aime »

Voilà la bonne syntaxe :

      - name: cout_bimensuel_facture
        state: "{{ states('sensor.cout_bimensuel_cspe')|float + states('sensor.cout_bimensuel_tcfe')|float + states('sensor.hp_cout_bimensuel')|float + states('input_number.conso_abt_mensuel')|float + states('input_number.conso_taxe_cta')|float + states('sensor.hc_cout_bimensuel')|float|round(2) }}"

Il me reste à mettre ça en lovelace

1 « J'aime »

Voilà la carte de gestion que j’ai reprise ici et là à base de swipe card pour gagner de la place :

type: vertical-stack
cards:
  - type: custom:mushroom-title-card
    title: ⚡ SUIVI ENERGETIQUE ⚡
    alignment: center
  - type: markdown
    content: >-
      ## <center> Tarif en cours : {% if is_state('sensor.edf_tarif', ' HP
      SEMAINE ') %} HP {% else %} HC {% endif %}
  - type: custom:swipe-card
    cards:
      - type: entities
        entities:
          - label: 'Coûts HP / HC :'
            type: section
          - entities:
              - entity: sensor.hp_cout_jour
                name: HP
              - entity: sensor.hc_cout_jour
                name: HC
            entity: sensor.cout_jour
            icon: mdi:currency-eur
            name: Journée en cours
            secondary_info: last-changed
            show_state: false
            type: custom:multiple-entity-row
          - entities:
              - entity: sensor.hp_cout_bimensuel
                name: HP
              - entity: sensor.hc_cout_bimensuel
                name: HC
            entity: sensor.cout_mensuel
            icon: mdi:currency-eur
            name: Bimensuel en cours
            secondary_info: last-changed
            show_state: false
            type: custom:multiple-entity-row
          - label: 'Coût cummulé :'
            type: section
          - entities:
              - entity: sensor.cout_jour
                name: Aujourd'hui
              - entity: sensor.cost_yesterday_display
                name: Hier
            entity: sensor.cout_bimensuel_facture
            icon: mdi:currency-eur
            name: Journées
            secondary_info: last-changed
            show_state: false
            toggle: true
            type: custom:multiple-entity-row
          - label: 'Coût :'
            type: section
          - entity: sensor.cout_bimensuel_facture
            name: Facture Bimensuelle TTC
            icon: mdi:currency-eur
          - label: 'Recette :'
            type: section
          - entity: sensor.prod_annuelle
            name: Facture Production Annuelle TTC
            icon: mdi:currency-eur
          - entities:
              - entity: input_number.conso_abt_mensuel
              - entity: input_number.conso_taxe_cspe
              - entity: input_number.conso_taxe_cta
              - entity: input_number.conso_taxe_tcfe
              - entity: input_number.conso_prix_hp
              - entity: input_number.conso_prix_hc
              - entity: input_number.prod_prix
            head:
              label: Tarifs EDF
              type: section
            padding: 0
            type: custom:fold-entity-row
          - entities:
              - entity: utility_meter.energy_total_usage_daily
                name: Tarif actuel
              - label: Journée en cours
                type: section
              - entity: sensor.energy_total_usage_daily_day
                name: Tarif HP
              - entity: sensor.energy_total_usage_daily_night
                name: Tarif HC
              - entity: sensor.energy_total_daily
                name: Total
              - label: Semaine en cours
                type: section
              - entity: sensor.energy_total_usage_weekly_day
                name: Tarif HP
              - entity: sensor.energy_total_usage_weekly_night
                name: Tarif HC
              - entity: sensor.energy_total_weekly
                name: Total
              - label: Mois en cours
                type: section
              - entity: sensor.energy_total_usage_monthly_day
                name: Tarif HP
              - entity: sensor.energy_total_usage_monthly_night
                name: Tarif HC
              - entity: sensor.energy_total_monthly
                name: Total
              - label: Trimestre en cours
                type: section
              - entity: sensor.energy_total_usage_quarterly_day
                name: Tarif HP
              - entity: sensor.energy_total_usage_quarterly_night
                name: Tarif HC
              - entity: sensor.energy_total_quarterly
                name: Total
              - label: Année en cours
                type: section
              - entity: sensor.energy_total_usage_yearly_day
                name: Tarif HP
              - entity: sensor.energy_total_usage_yearly_night
                name: Tarfif HC
              - entity: sensor.energy_total_yearly
                name: Total
              - type: divider
              - entity: input_number.cumulative_energy_cost
              - entity: input_number.yesterday_energy_cost
            head:
              label: Compteurs d'énergie
              type: section
            padding: 0
            type: custom:fold-entity-row
          - entities:
              - entity: sensor.edf_index_hc
                name: 'Conso : HC'
              - entity: sensor.edf_index_hp
                name: 'Conso : HP'
              - entity: sensor.edf_total
                name: 'Conso : Total'
              - entity: sensor.prodaujourd
                name: 'Prod : Total'
            head:
              label: Compteur Kwh
              type: section
            padding: 0
            type: custom:fold-entity-row
        show_header_toggle: false
      - type: vertical-stack
        cards:
          - type: markdown
            content: '## <center> Heures Pleines'
          - type: custom:card-templater
            card:
              type: entities
              entities:
                - entity: sensor.energie_bimensuelle_heures_pleines_heure_pleine
                  name: Heures pleines Bimensuelles
                - entity: sensor.energie_mensuelle_heures_pleines_heure_pleine
                  name: Heures pleines Mensuelles
                - entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
                  name: Heures pleines Quotidiennes
            entities:
              - entity: sensor.energie_bimensuelle_heures_pleines_heure_pleine
                state_template: >
                  {{
                  states('sensor.energie_bimensuelle_heures_pleines_heure_pleine')
                  | round(2) }}
              - entity: sensor.energie_mensuelle_heures_pleines_heure_pleine
                state_template: >
                  {{
                  states('sensor.energie_mensuelle_heures_pleines_heure_pleine')
                  | round(2) }}
              - entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
                state_template: >
                  {{
                  states('sensor.energie_quotidienne_heures_pleines_heure_pleine')
                  | round(0) }}
          - type: markdown
            content: '## <center> Heures Creuses'
          - type: custom:card-templater
            card:
              type: entities
              entities:
                - entity: sensor.energie_bimensuelle_heures_creuses_heure_creuse
                  name: Heures creuses Bimensuelles
                - entity: sensor.energie_mensuelle_heures_creuses_heure_creuse
                  name: Heures creuses Mensuelles
                - entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
                  name: Heures creuses Quotidiennes
            entities:
              - entity: sensor.energie_bimensuelle_heures_creuses_heure_creuse
                state_template: >
                  {{
                  states('sensor.energie_bimensuelle_heures_creuses_heure_creuse')
                  | round(2) }}
              - entity: sensor.energie_mensuelle_heures_creuses_heure_creuse
                state_template: >
                  {{
                  states('sensor.energie_mensuelle_heures_creuses_heure_creuse')
                  | round(2) }}
              - entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
                state_template: >
                  {{
                  states('sensor.energie_quotidienne_heures_creuses_heure_creuse')
                  | round(0) }}
          - type: markdown
            content: '## <center> Conso Totale'
          - type: custom:card-templater
            card:
              type: entities
              entities:
                - entity: sensor.energie_bimensuelle_totale
                  name: Total Bimensuel
                - entity: sensor.energie_mensuelle_totale
                  name: Total Mensuel
                - entity: sensor.energie_quotidienne_totale
                  name: Total Quotidien
            entities:
              - entity: sensor.energie_bimensuelle_totale
                state_template: |
                  {{ states('sensor.energie_bimensuelle_totale') | round(2) }}
              - entity: sensor.energie_mensuelle_totale
                state_template: |
                  {{ states('sensor.energie_mensuelle_totale') | round(2) }}
              - entity: sensor.energie_quotidienne_totale
                state_template: |
                  {{ states('sensor.energie_quotidienne_totale') | round(0) }}
      - type: entities
        title: Eaton
        show_header_toggle: false
        entities:
          - type: custom:hui-vertical-stack-card
            cards:
              - type: horizontal-stack
                cards:
                  - type: picture
                    style: |
                      ha-card {
                          width: 70%;
                          background: none;
                          box-shadow: none;
                      }
                    image: /local/images/Eaton.png
                  - type: vertical-stack
                    cards:
                      - type: custom:bar-card
                        title_position: inside
                        name: Utilisation
                        show_icon: true
                        align: split
                        columns: 1
                        max: 100
                        unit_of_measurement: '%'
                        severity:
                          - color: Green
                            from: 0
                            to: 25
                          - color: Blue
                            from: 26
                            to: 50
                          - color: Orange
                            from: 51
                            to: 80
                          - color: Red
                            from: 81
                            to: 100
                        style: |
                          ha-card {
                              background: none;
                              box-shadow: none;
                          }
                        entity: sensor.ups_load_2
                      - type: custom:bar-card
                        title_position: inside
                        icon: mdi:battery
                        name: Charge
                        show_icon: true
                        align: split
                        columns: 1
                        max: 100
                        unit_of_measurement: '%'
                        severity:
                          - color: Red
                            from: 0
                            to: 25
                          - color: Orange
                            from: 26
                            to: 50
                          - color: Green
                            from: 51
                            to: 100
                        style: |
                          ha-card {
                              background: none;
                              box-shadow: none;
                          }
                        entity: sensor.ups_battery_charge_2
              - entities:
                  - entity: sensor.ups_status_2
                    name: Etat
                  - entity: sensor.ups_output_voltage
                    name: Tension de sortie
                type: glance
                style: |
                  ha-card {
                      background: none;
                  }
        state_color: true
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.ecowatt_level_now
        name: Now
        template: ecowatt
      - type: custom:button-card
        entity: sensor.ecowatt_level_today
        name: Today
        template: ecowatt
      - type: custom:button-card
        entity: sensor.ecowatt_level_tomorrow
        name: N +1d
        template: ecowatt
      - type: custom:button-card
        entity: sensor.ecowatt_level_in_2_days
        name: N +2d
        template: ecowatt
  - type: custom:swipe-card
    cards:
      - type: custom:apexcharts-card
        graph_span: 7d
        span:
          end: day
        stacked: true
        show:
          last_updated: true
        header:
          show: true
          show_states: true
          colorize_states: true
        series:
          - entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
            type: column
            color: '#1781d8'
            name: Heures pleines
            group_by:
              duration: 1d
              func: max
          - entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
            type: column
            color: '#d66920'
            name: Heures creuses
            group_by:
              duration: 1d
              func: max
      - type: vertical-stack
        cards:
          - type: energy-date-selection
            card_mod:
              style: |
                ha-card {
                  background: none;
                  box-shadow: none;    
                }  
          - type: energy-usage-graph
            card_mod:
              style: |
                ha-card {
                  background: none;
                  box-shadow: none;    
                } 
      - type: vertical-stack
        cards:
          - type: energy-date-selection
            card_mod:
              style: |
                ha-card {
                  background: none;
                  box-shadow: none;    
                }  
          - type: energy-solar-graph
            card_mod:
              style: |
                ha-card {
                  background: none;
                  box-shadow: none;    
                } 
      - type: energy-sources-table
        card_mod:
          style: |
            ha-card {
              background: none;
              box-shadow: none;    
            }  
      - type: energy-distribution
        card_mod:
          style: |
            ha-card {
              background: none;
              box-shadow: none;    
            }  
      - type: horizontal-stack
        cards:
          - type: gauge
            min: 0
            max: 90
            entity: sensor.edf_intensite
            severity:
              green: 0
              yellow: 55
              red: 65
            needle: true
            name: Intensité
            unit: A
          - type: gauge
            entity: sensor.edf_puissance
            min: 0
            max: 20340
            severity:
              green: 0
              yellow: 12450
              red: 14690
            needle: true
            name: Puissance
            unit: V
          - type: energy-carbon-consumed-gauge
        card_mod:
          style: |
            ha-card {
              background: none;
              box-shadow: none;    
            }  




5 « J'aime »

Hello

bon boulot !!
Mes félicitations

Super taf je connais bien le plugin suivi conso et c’est déjà une usine à gaz alors normale que ce soit similaire sous HA bravo en tout cas énorme taf :+1:
J’ai mis des :heart: sur tous les postes :grinning:

1 « J'aime »

Merci à vous. Je vais essayer de détailler un peu plus le premier post.
Il me reste à savoir si l’ofset sur utility meter fonctionne comme j’ai compris.

1 « J'aime »

Bonsoir donc à priori ça tourne. A voir les prochains mois. Voici ce que j’ai fait.
J’ai donc un dongle usb cartelectronic que j’ai branché sur mon compteur linky et sur un pi.
Sur le pi j’ai installé raspbian et node red.
Avec l’aide du forum nous avons adapté le flow à mon contrat zen plus. Pour me simplifier la tache je suis parti du principe qu’à part les hp semaine tout le reste est au tarif HC.
Voici le flow node red :

[
    {
        "id": "0be5f9a7c9bc39d0",
        "type": "tab",
        "label": "Teleinfo Zen Plus TIC Standard",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "b3ec5199a1d3294b",
        "type": "group",
        "z": "0be5f9a7c9bc39d0",
        "name": "TELEINFO",
        "style": {
            "stroke": "#c8e7a7",
            "label": true,
            "label-position": "n",
            "color": "#000000",
            "fill": "#c8e7a7"
        },
        "nodes": [
            "bac9a9fd.bbd678",
            "87d8e230ce9ab1e4",
            "1dc1403bf5820fd5",
            "a680688a573b5b38",
            "3447143f41d5430e",
            "a87bec5c950aefb0",
            "25312718aadbb7e4",
            "12912c36a3138536",
            "a1adfeb9b4c87ec5",
            "1c3eb72a067d7b98",
            "08172a92755a1fe9",
            "4568c007b807d474",
            "e4c7b73d674b68c2",
            "079335172f2e3c23"
        ],
        "x": 18,
        "y": 33,
        "w": 1828,
        "h": 834
    },
    {
        "id": "12912c36a3138536",
        "type": "group",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "Reçoit index et stocke dans flow.index_hc_semaine_wh",
        "style": {
            "label": true
        },
        "nodes": [
            "1a1de1846428a1cd",
            "e9983cbc91c173fe"
        ],
        "x": 44,
        "y": 59,
        "w": 412,
        "h": 82
    },
    {
        "id": "a1adfeb9b4c87ec5",
        "type": "group",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "Reçoit index et stocke dans flow.index_hp_semaine_wh",
        "style": {
            "label": true
        },
        "nodes": [
            "8f5e99b1c26811dc",
            "7822de9877dd7443"
        ],
        "x": 484,
        "y": 59,
        "w": 412,
        "h": 82
    },
    {
        "id": "1c3eb72a067d7b98",
        "type": "group",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "Reçoit index et stocke dans flow.index_hc_weekend_wh",
        "style": {
            "label": true
        },
        "nodes": [
            "472769c55111be0f",
            "2adff30529089541"
        ],
        "x": 924,
        "y": 59,
        "w": 412,
        "h": 82
    },
    {
        "id": "08172a92755a1fe9",
        "type": "group",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "Reçoit index et stocke dans flow.index_hp_weekend_wh",
        "style": {
            "label": true
        },
        "nodes": [
            "ad05776d6d3b832f",
            "b3d9d0088c8813e5"
        ],
        "x": 44,
        "y": 159,
        "w": 412,
        "h": 82
    },
    {
        "id": "4568c007b807d474",
        "type": "group",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "Reçoit index et stocke dans flow.index_hc_mercredi_wh",
        "style": {
            "label": true
        },
        "nodes": [
            "b6e145abfcaf83d5",
            "9d17ad4d6c163495"
        ],
        "x": 484,
        "y": 159,
        "w": 412,
        "h": 82
    },
    {
        "id": "e4c7b73d674b68c2",
        "type": "group",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "Reçoit index et stocke dans flow.index_hp_mercredi_wh",
        "style": {
            "label": true
        },
        "nodes": [
            "b1f675475dfd82a7",
            "681827125140ae93"
        ],
        "x": 924,
        "y": 159,
        "w": 412,
        "h": 82
    },
    {
        "id": "079335172f2e3c23",
        "type": "group",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "Flow Datas Zen Plus",
        "style": {
            "label": true,
            "label-position": "n",
            "color": "#000000"
        },
        "nodes": [
            "57b3e5ae26867834",
            "df7f0d7ea3faf344",
            "e77abb52c878738f",
            "4aa512eaeab011c3",
            "4d16b3e38ffb0103",
            "bc67c6197738de08",
            "e0d8694b4b7515a4",
            "2ade514246a73ff9",
            "17b6ac90ac46f442",
            "46ec18839393dd14",
            "9815c76b342b311c",
            "b833386da0bc71b2",
            "1597c8f7459ff400",
            "5182384ecda77f0d",
            "2083d8b09ba4b507",
            "271cb201e6df74a2",
            "ac885a7aaa1394a6",
            "36922a5ddc1f2054",
            "ce94b2d80e45077c",
            "0f394944cc6a06d7",
            "12361d764336c7aa",
            "3dd76d906942081d",
            "a5e2254ababb1238",
            "9e61014055b6a5ab",
            "cf41ea9d45fec0cd",
            "23a72bea401cfac1",
            "bc5b3234ae712d10",
            "c98b49c0528395e2",
            "ebccfbcd1693241a",
            "d6883830d3215774",
            "43b1ce3698349288",
            "59c193e45411460f"
        ],
        "x": 54,
        "y": 259,
        "w": 1432,
        "h": 582
    },
    {
        "id": "57b3e5ae26867834",
        "type": "serial in",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "serial": "d563729e7bf63bcb",
        "x": 150,
        "y": 600,
        "wires": [
            [
                "df7f0d7ea3faf344"
            ]
        ]
    },
    {
        "id": "df7f0d7ea3faf344",
        "type": "delay",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "pauseType": "rate",
        "timeout": "5",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "minute",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": true,
        "allowrate": false,
        "outputs": 1,
        "x": 370,
        "y": 620,
        "wires": [
            [
                "e77abb52c878738f",
                "43b1ce3698349288"
            ]
        ]
    },
    {
        "id": "e77abb52c878738f",
        "type": "function",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "func": "var test =  msg.payload.charCodeAt(0) ;\nvar msge =  {payload: msg.payload.toString()};\nif (test === 2)\n{\n   // var outputMsgs = [];\n    var IndexHcSemaine ;\n    var IndexHpSemaine ;\n    var IndexHcWeekEnd;\n    var IndexHpWeekEnd;\n    var IndexHcMercredi;\n    var IndexHpMercredi ;\n    var Tarif ;\n    var Intensite ;\n    var Puissance;\n    var words = msge.payload.split(\"\\r\\n\");\n    for (var w in words) {\n\n       \n       if (words[w].indexOf('EASF01') == 0) {\n           IndexHcSemaine = {payload: Number(words[w].substring(7,16)),\n           measurement: \"Wh\",\n           topic: \"IndexHcSemaine\"\n           };\n       }\n       \n       if (words[w].indexOf('EASF02') == 0) {\n           IndexHpSemaine = {payload: Number(words[w].substring(7,16)),\n           measurement: \"Wh\",\n           topic: \"IndexHpSemaine\"\n           };\n       }       \n       if (words[w].indexOf('EASF03') == 0) {\n           IndexHcWeekEnd = {payload: Number(words[w].substring(7,16)),\n           measurement: \"Wh\",\n           topic: \"IndexHcWeekEnd\"\n           };\n       }       \n       if (words[w].indexOf('EASF04') == 0) {\n           IndexHpWeekEnd = {payload: Number(words[w].substring(7,16)),\n           measurement: \"Wh\",\n           topic: \"IndexHpWeekEnd\"\n           };\n       }       \n       if (words[w].indexOf('EASF05') == 0) {\n           IndexHcMercredi = {payload: Number(words[w].substring(7,16)),\n           measurement: \"Wh\",\n           topic: \"IndexHcMercredi\"\n           };\n       }       \n       if (words[w].indexOf('EASF06') == 0) {\n           IndexHpMercredi = {payload: Number(words[w].substring(7,16)),\n           measurement: \"Wh\",\n           topic: \"IndexHpMercredi\"\n           };\n       }\n       if (words[w].indexOf('LTARF') == 0) {\n           Tarif = {payload: words[w].substring(9,21),\n           topic: \"Tarif\"\n           };\n       }\n        if (words[w].indexOf('IRMS1') == 0) {\n           Intensite = {payload: Number(words[w].substring(6,9)),\n           measurement: \"A\",\n           topic: \"Intensite\"\n           };\n        }\n        if (words[w].indexOf('SINSTS') == 0) {\n           Puissance = {payload: Number(words[w].substring(7,12)),\n           measurement: \"VA\",\n           topic: \"Puissance\"\n           };\n        }\n\n    }\n    return [IndexHcSemaine,IndexHpSemaine,IndexHcWeekEnd,IndexHpWeekEnd,IndexHcMercredi,IndexHpMercredi,Tarif,Intensite,Puissance];\n    \n\n}\n\n\n",
        "outputs": 9,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 600,
        "y": 640,
        "wires": [
            [
                "b833386da0bc71b2",
                "5182384ecda77f0d"
            ],
            [
                "9815c76b342b311c",
                "2083d8b09ba4b507"
            ],
            [
                "46ec18839393dd14",
                "1597c8f7459ff400"
            ],
            [
                "17b6ac90ac46f442",
                "271cb201e6df74a2"
            ],
            [
                "e0d8694b4b7515a4",
                "ac885a7aaa1394a6"
            ],
            [
                "bc67c6197738de08",
                "36922a5ddc1f2054"
            ],
            [
                "2ade514246a73ff9"
            ],
            [
                "4aa512eaeab011c3"
            ],
            [
                "4d16b3e38ffb0103"
            ]
        ]
    },
    {
        "id": "4aa512eaeab011c3",
        "type": "rbe",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 930,
        "y": 740,
        "wires": [
            [
                "23a72bea401cfac1"
            ]
        ]
    },
    {
        "id": "4d16b3e38ffb0103",
        "type": "rbe",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "x": 930,
        "y": 800,
        "wires": [
            [
                "bc5b3234ae712d10"
            ]
        ]
    },
    {
        "id": "bc67c6197738de08",
        "type": "rbe",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 930,
        "y": 620,
        "wires": [
            [
                "a5e2254ababb1238"
            ]
        ]
    },
    {
        "id": "e0d8694b4b7515a4",
        "type": "rbe",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 930,
        "y": 560,
        "wires": [
            [
                "3dd76d906942081d"
            ]
        ]
    },
    {
        "id": "2ade514246a73ff9",
        "type": "rbe",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 930,
        "y": 680,
        "wires": [
            [
                "c98b49c0528395e2"
            ]
        ]
    },
    {
        "id": "17b6ac90ac46f442",
        "type": "rbe",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 930,
        "y": 500,
        "wires": [
            [
                "12361d764336c7aa"
            ]
        ]
    },
    {
        "id": "46ec18839393dd14",
        "type": "rbe",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 930,
        "y": 440,
        "wires": [
            [
                "0f394944cc6a06d7"
            ]
        ]
    },
    {
        "id": "9815c76b342b311c",
        "type": "rbe",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 930,
        "y": 380,
        "wires": [
            [
                "cf41ea9d45fec0cd",
                "59c193e45411460f"
            ]
        ]
    },
    {
        "id": "b833386da0bc71b2",
        "type": "rbe",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 930,
        "y": 300,
        "wires": [
            [
                "ce94b2d80e45077c"
            ]
        ]
    },
    {
        "id": "1597c8f7459ff400",
        "type": "link out",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "mode": "link",
        "links": [
            "472769c55111be0f"
        ],
        "x": 355,
        "y": 400,
        "wires": []
    },
    {
        "id": "5182384ecda77f0d",
        "type": "link out",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "mode": "link",
        "links": [
            "1a1de1846428a1cd"
        ],
        "x": 115,
        "y": 400,
        "wires": []
    },
    {
        "id": "2083d8b09ba4b507",
        "type": "link out",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "mode": "link",
        "links": [
            "8f5e99b1c26811dc"
        ],
        "x": 235,
        "y": 400,
        "wires": []
    },
    {
        "id": "271cb201e6df74a2",
        "type": "link out",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "mode": "link",
        "links": [
            "ad05776d6d3b832f"
        ],
        "x": 485,
        "y": 400,
        "wires": []
    },
    {
        "id": "ac885a7aaa1394a6",
        "type": "link out",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "mode": "link",
        "links": [
            "b6e145abfcaf83d5"
        ],
        "x": 605,
        "y": 400,
        "wires": []
    },
    {
        "id": "36922a5ddc1f2054",
        "type": "link out",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "mode": "link",
        "links": [
            "b1f675475dfd82a7"
        ],
        "x": 695,
        "y": 400,
        "wires": []
    },
    {
        "id": "1a1de1846428a1cd",
        "type": "link in",
        "z": "0be5f9a7c9bc39d0",
        "g": "12912c36a3138536",
        "name": "index hc semaine Wh in",
        "links": [
            "5182384ecda77f0d"
        ],
        "x": 85,
        "y": 100,
        "wires": [
            [
                "e9983cbc91c173fe"
            ]
        ]
    },
    {
        "id": "e9983cbc91c173fe",
        "type": "change",
        "z": "0be5f9a7c9bc39d0",
        "g": "12912c36a3138536",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "index_hc_semaine_wh",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 300,
        "y": 100,
        "wires": [
            [
                "bac9a9fd.bbd678",
                "a680688a573b5b38"
            ]
        ]
    },
    {
        "id": "8f5e99b1c26811dc",
        "type": "link in",
        "z": "0be5f9a7c9bc39d0",
        "g": "a1adfeb9b4c87ec5",
        "name": "index hp semaine Wh in",
        "links": [
            "2083d8b09ba4b507"
        ],
        "x": 525,
        "y": 100,
        "wires": [
            [
                "7822de9877dd7443"
            ]
        ]
    },
    {
        "id": "7822de9877dd7443",
        "type": "change",
        "z": "0be5f9a7c9bc39d0",
        "g": "a1adfeb9b4c87ec5",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "index_hp_semaine_wh",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 740,
        "y": 100,
        "wires": [
            [
                "a680688a573b5b38"
            ]
        ]
    },
    {
        "id": "472769c55111be0f",
        "type": "link in",
        "z": "0be5f9a7c9bc39d0",
        "g": "1c3eb72a067d7b98",
        "name": "index Wh hc weekend in",
        "links": [
            "1597c8f7459ff400"
        ],
        "x": 965,
        "y": 100,
        "wires": [
            [
                "2adff30529089541"
            ]
        ]
    },
    {
        "id": "2adff30529089541",
        "type": "change",
        "z": "0be5f9a7c9bc39d0",
        "g": "1c3eb72a067d7b98",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "index_hc_weekend_wh",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1180,
        "y": 100,
        "wires": [
            [
                "bac9a9fd.bbd678",
                "a680688a573b5b38"
            ]
        ]
    },
    {
        "id": "ad05776d6d3b832f",
        "type": "link in",
        "z": "0be5f9a7c9bc39d0",
        "g": "08172a92755a1fe9",
        "name": "index Wh hp week end in",
        "links": [
            "271cb201e6df74a2"
        ],
        "x": 85,
        "y": 200,
        "wires": [
            [
                "b3d9d0088c8813e5"
            ]
        ]
    },
    {
        "id": "b3d9d0088c8813e5",
        "type": "change",
        "z": "0be5f9a7c9bc39d0",
        "g": "08172a92755a1fe9",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "index_hp_weekend_wh",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 300,
        "y": 200,
        "wires": [
            [
                "bac9a9fd.bbd678",
                "a680688a573b5b38"
            ]
        ]
    },
    {
        "id": "b6e145abfcaf83d5",
        "type": "link in",
        "z": "0be5f9a7c9bc39d0",
        "g": "4568c007b807d474",
        "name": "index Wh hc mercredi in",
        "links": [
            "ac885a7aaa1394a6"
        ],
        "x": 525,
        "y": 200,
        "wires": [
            [
                "9d17ad4d6c163495"
            ]
        ]
    },
    {
        "id": "9d17ad4d6c163495",
        "type": "change",
        "z": "0be5f9a7c9bc39d0",
        "g": "4568c007b807d474",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "index_hc_mercredi_wh",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 740,
        "y": 200,
        "wires": [
            [
                "bac9a9fd.bbd678",
                "a680688a573b5b38"
            ]
        ]
    },
    {
        "id": "b1f675475dfd82a7",
        "type": "link in",
        "z": "0be5f9a7c9bc39d0",
        "g": "e4c7b73d674b68c2",
        "name": "index Wh hp mercredi in",
        "links": [
            "36922a5ddc1f2054"
        ],
        "x": 965,
        "y": 200,
        "wires": [
            [
                "681827125140ae93"
            ]
        ]
    },
    {
        "id": "681827125140ae93",
        "type": "change",
        "z": "0be5f9a7c9bc39d0",
        "g": "e4c7b73d674b68c2",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "index_hp_mercredi_wh",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1180,
        "y": 200,
        "wires": [
            [
                "bac9a9fd.bbd678",
                "a680688a573b5b38"
            ]
        ]
    },
    {
        "id": "bac9a9fd.bbd678",
        "type": "change",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "sum",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "$flowContext('index_hc_semaine_wh')+$flowContext('index_hc_weekend_wh')+$flowContext('index_hp_weekend_wh')+$flowContext('index_hc_mercredi_wh')+$flowContext('index_hp_mercredi_wh')",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1470,
        "y": 100,
        "wires": [
            [
                "1dc1403bf5820fd5",
                "25312718aadbb7e4"
            ]
        ]
    },
    {
        "id": "a680688a573b5b38",
        "type": "change",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "sum",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "$flowContext('index_hc_semaine_wh')+$flowContext('index_hc_weekend_wh')+$flowContext('index_hp_weekend_wh')+$flowContext('index_hc_mercredi_wh')+$flowContext('index_hp_mercredi_wh')+$flowContext('index_hp_semaine_wh')",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1470,
        "y": 220,
        "wires": [
            [
                "3447143f41d5430e"
            ]
        ]
    },
    {
        "id": "25312718aadbb7e4",
        "type": "mqtt out",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "",
        "topic": "edf/hc",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "02461640e6341b3e",
        "x": 1610,
        "y": 140,
        "wires": []
    },
    {
        "id": "59c193e45411460f",
        "type": "mqtt out",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "topic": "edf/hp",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "02461640e6341b3e",
        "x": 1090,
        "y": 340,
        "wires": []
    },
    {
        "id": "d6883830d3215774",
        "type": "mqtt out",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "topic": "edf/intensité",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "02461640e6341b3e",
        "x": 1370,
        "y": 740,
        "wires": []
    },
    {
        "id": "ebccfbcd1693241a",
        "type": "mqtt out",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "topic": "edf/puissance",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "02461640e6341b3e",
        "x": 1380,
        "y": 800,
        "wires": []
    },
    {
        "id": "43b1ce3698349288",
        "type": "debug",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 410,
        "y": 540,
        "wires": []
    },
    {
        "id": "87d8e230ce9ab1e4",
        "type": "ha-entity",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "index_HC",
        "server": "649203dce6edd985",
        "version": 2,
        "debugenabled": false,
        "outputs": 1,
        "entityType": "sensor",
        "config": [
            {
                "property": "name",
                "value": "EDF_Index_HC"
            },
            {
                "property": "device_class",
                "value": "energy"
            },
            {
                "property": "icon",
                "value": ""
            },
            {
                "property": "unit_of_measurement",
                "value": "kWh"
            },
            {
                "property": "state_class",
                "value": "total_increasing"
            },
            {
                "property": "last_reset",
                "value": ""
            }
        ],
        "state": "payload",
        "stateType": "msg",
        "attributes": [
            {
                "property": "",
                "value": "",
                "valueType": "str"
            }
        ],
        "resend": true,
        "outputLocation": "",
        "outputLocationType": "none",
        "inputOverride": "allow",
        "outputOnStateChange": false,
        "outputPayload": "$entity().state ? \"on\": \"off\"",
        "outputPayloadType": "jsonata",
        "x": 1740,
        "y": 100,
        "wires": [
            []
        ]
    },
    {
        "id": "9e61014055b6a5ab",
        "type": "ha-entity",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "index_HP",
        "server": "649203dce6edd985",
        "version": 2,
        "debugenabled": false,
        "outputs": 1,
        "entityType": "sensor",
        "config": [
            {
                "property": "name",
                "value": "EDF_Index_HP"
            },
            {
                "property": "device_class",
                "value": "energy"
            },
            {
                "property": "icon",
                "value": ""
            },
            {
                "property": "unit_of_measurement",
                "value": "kWh"
            },
            {
                "property": "state_class",
                "value": "total_increasing"
            },
            {
                "property": "last_reset",
                "value": ""
            }
        ],
        "state": "payload",
        "stateType": "msg",
        "attributes": [
            {
                "property": "",
                "value": "",
                "valueType": "str"
            }
        ],
        "resend": true,
        "outputLocation": "",
        "outputLocationType": "none",
        "inputOverride": "allow",
        "outputOnStateChange": false,
        "outputPayload": "$entity().state ? \"on\": \"off\"",
        "outputPayloadType": "jsonata",
        "x": 1240,
        "y": 380,
        "wires": [
            []
        ]
    },
    {
        "id": "23a72bea401cfac1",
        "type": "ha-entity",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "intensité",
        "server": "649203dce6edd985",
        "version": 2,
        "debugenabled": false,
        "outputs": 1,
        "entityType": "sensor",
        "config": [
            {
                "property": "name",
                "value": "EDF_Intensite"
            },
            {
                "property": "device_class",
                "value": "energy"
            },
            {
                "property": "icon",
                "value": ""
            },
            {
                "property": "unit_of_measurement",
                "value": "A"
            },
            {
                "property": "state_class",
                "value": "total_increasing"
            },
            {
                "property": "last_reset",
                "value": ""
            }
        ],
        "state": "payload",
        "stateType": "msg",
        "attributes": [
            {
                "property": "",
                "value": "",
                "valueType": "str"
            }
        ],
        "resend": true,
        "outputLocation": "",
        "outputLocationType": "none",
        "inputOverride": "allow",
        "outputOnStateChange": false,
        "outputPayload": "$entity().state ? \"on\": \"off\"",
        "outputPayloadType": "jsonata",
        "x": 1100,
        "y": 740,
        "wires": [
            [
                "d6883830d3215774"
            ]
        ]
    },
    {
        "id": "bc5b3234ae712d10",
        "type": "ha-entity",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "puissance",
        "server": "649203dce6edd985",
        "version": 2,
        "debugenabled": false,
        "outputs": 1,
        "entityType": "sensor",
        "config": [
            {
                "property": "name",
                "value": "EDF_puissance"
            },
            {
                "property": "device_class",
                "value": "energy"
            },
            {
                "property": "icon",
                "value": ""
            },
            {
                "property": "unit_of_measurement",
                "value": "VA"
            },
            {
                "property": "state_class",
                "value": "total_increasing"
            },
            {
                "property": "last_reset",
                "value": ""
            }
        ],
        "state": "payload",
        "stateType": "msg",
        "attributes": [
            {
                "property": "",
                "value": "",
                "valueType": "str"
            }
        ],
        "resend": true,
        "outputLocation": "",
        "outputLocationType": "none",
        "inputOverride": "allow",
        "outputOnStateChange": false,
        "outputPayload": "$entity().state ? \"on\": \"off\"",
        "outputPayloadType": "jsonata",
        "x": 1110,
        "y": 800,
        "wires": [
            [
                "ebccfbcd1693241a"
            ]
        ]
    },
    {
        "id": "c98b49c0528395e2",
        "type": "ha-entity",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "tarif",
        "server": "649203dce6edd985",
        "version": 2,
        "debugenabled": false,
        "outputs": 1,
        "entityType": "sensor",
        "config": [
            {
                "property": "name",
                "value": "EDF_tarif"
            },
            {
                "property": "device_class",
                "value": "energy"
            },
            {
                "property": "icon",
                "value": ""
            },
            {
                "property": "unit_of_measurement",
                "value": ""
            },
            {
                "property": "state_class",
                "value": "total_increasing"
            },
            {
                "property": "last_reset",
                "value": ""
            }
        ],
        "state": "payload",
        "stateType": "msg",
        "attributes": [
            {
                "property": "",
                "value": "",
                "valueType": "str"
            }
        ],
        "resend": true,
        "outputLocation": "",
        "outputLocationType": "none",
        "inputOverride": "allow",
        "outputOnStateChange": false,
        "outputPayload": "$entity().state ? \"on\": \"off\"",
        "outputPayloadType": "jsonata",
        "x": 1090,
        "y": 680,
        "wires": [
            []
        ]
    },
    {
        "id": "a87bec5c950aefb0",
        "type": "ha-entity",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "index_Total",
        "server": "649203dce6edd985",
        "version": 2,
        "debugenabled": false,
        "outputs": 1,
        "entityType": "sensor",
        "config": [
            {
                "property": "name",
                "value": "EDF_Total"
            },
            {
                "property": "device_class",
                "value": "energy"
            },
            {
                "property": "icon",
                "value": ""
            },
            {
                "property": "unit_of_measurement",
                "value": "kWh"
            },
            {
                "property": "state_class",
                "value": "total_increasing"
            },
            {
                "property": "last_reset",
                "value": ""
            }
        ],
        "state": "payload",
        "stateType": "msg",
        "attributes": [
            {
                "property": "",
                "value": "",
                "valueType": "str"
            }
        ],
        "resend": true,
        "outputLocation": "",
        "outputLocationType": "none",
        "inputOverride": "allow",
        "outputOnStateChange": false,
        "outputPayload": "$entity().state ? \"on\": \"off\"",
        "outputPayloadType": "jsonata",
        "x": 1750,
        "y": 220,
        "wires": [
            []
        ]
    },
    {
        "id": "ce94b2d80e45077c",
        "type": "influxdb out",
        "z": "0be5f9a7c9bc39d0",
        "d": true,
        "g": "079335172f2e3c23",
        "influxdb": "506ad1a9.81606",
        "name": "index HC Semaine Wh",
        "measurement": "Wh",
        "precision": "",
        "retentionPolicy": "",
        "database": "",
        "retentionPolicyV18Flux": "",
        "org": "",
        "bucket": "",
        "x": 1140,
        "y": 300,
        "wires": []
    },
    {
        "id": "0f394944cc6a06d7",
        "type": "influxdb out",
        "z": "0be5f9a7c9bc39d0",
        "d": true,
        "g": "079335172f2e3c23",
        "influxdb": "506ad1a9.81606",
        "name": "index HC Weekend Wh",
        "measurement": "Wh",
        "precision": "",
        "retentionPolicy": "",
        "database": "",
        "retentionPolicyV18Flux": "",
        "org": "",
        "bucket": "",
        "x": 1150,
        "y": 440,
        "wires": []
    },
    {
        "id": "12361d764336c7aa",
        "type": "influxdb out",
        "z": "0be5f9a7c9bc39d0",
        "d": true,
        "g": "079335172f2e3c23",
        "influxdb": "506ad1a9.81606",
        "name": "index HP Weekend Wh",
        "measurement": "Wh",
        "precision": "",
        "retentionPolicy": "",
        "database": "",
        "retentionPolicyV18Flux": "",
        "org": "",
        "bucket": "",
        "x": 1150,
        "y": 500,
        "wires": []
    },
    {
        "id": "3dd76d906942081d",
        "type": "influxdb out",
        "z": "0be5f9a7c9bc39d0",
        "d": true,
        "g": "079335172f2e3c23",
        "influxdb": "506ad1a9.81606",
        "name": "index HC Mercredi Wh",
        "measurement": "Wh",
        "precision": "",
        "retentionPolicy": "",
        "database": "",
        "retentionPolicyV18Flux": "",
        "org": "",
        "bucket": "",
        "x": 1140,
        "y": 560,
        "wires": []
    },
    {
        "id": "a5e2254ababb1238",
        "type": "influxdb out",
        "z": "0be5f9a7c9bc39d0",
        "d": true,
        "g": "079335172f2e3c23",
        "influxdb": "506ad1a9.81606",
        "name": "index HP Mercredi Wh",
        "measurement": "Wh",
        "precision": "",
        "retentionPolicy": "",
        "database": "",
        "retentionPolicyV18Flux": "",
        "org": "",
        "bucket": "",
        "x": 1140,
        "y": 620,
        "wires": []
    },
    {
        "id": "1dc1403bf5820fd5",
        "type": "calculator",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "",
        "inputMsgField": "payload",
        "outputMsgField": "payload",
        "operation": "div",
        "constant": "1000",
        "round": false,
        "decimals": 0,
        "x": 1610,
        "y": 100,
        "wires": [
            [
                "87d8e230ce9ab1e4"
            ]
        ]
    },
    {
        "id": "cf41ea9d45fec0cd",
        "type": "calculator",
        "z": "0be5f9a7c9bc39d0",
        "g": "079335172f2e3c23",
        "name": "",
        "inputMsgField": "payload",
        "outputMsgField": "payload",
        "operation": "div",
        "constant": "1000",
        "round": false,
        "decimals": 0,
        "x": 1090,
        "y": 400,
        "wires": [
            [
                "9e61014055b6a5ab"
            ]
        ]
    },
    {
        "id": "3447143f41d5430e",
        "type": "calculator",
        "z": "0be5f9a7c9bc39d0",
        "g": "b3ec5199a1d3294b",
        "name": "",
        "inputMsgField": "payload",
        "outputMsgField": "payload",
        "operation": "div",
        "constant": "1000",
        "round": false,
        "decimals": 0,
        "x": 1610,
        "y": 220,
        "wires": [
            [
                "a87bec5c950aefb0"
            ]
        ]
    },
    {
        "id": "d563729e7bf63bcb",
        "type": "serial-port",
        "serialport": "/dev/ttyUSB0",
        "serialbaud": "9600",
        "databits": "7",
        "parity": "even",
        "stopbits": "1",
        "waitfor": "",
        "dtr": "none",
        "rts": "none",
        "cts": "none",
        "dsr": "none",
        "newline": "0x3",
        "bin": "false",
        "out": "char",
        "addchar": "",
        "responsetimeout": "10000"
    },
    {
        "id": "02461640e6341b3e",
        "type": "mqtt-broker",
        "name": "jeedom",
        "broker": "10.0.0.35",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "sessionExpiry": ""
    },
    {
        "id": "649203dce6edd985",
        "type": "server",
        "name": "Home Assistant",
        "version": 4,
        "addon": false,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": "30",
        "areaSelector": "friendlyName",
        "deviceSelector": "friendlyName",
        "entitySelector": "friendlyName",
        "statusSeparator": "at: ",
        "statusYear": "hidden",
        "statusMonth": "short",
        "statusDay": "numeric",
        "statusHourCycle": "h23",
        "statusTimeFormat": "h:m"
    },
    {
        "id": "506ad1a9.81606",
        "type": "influxdb",
        "hostname": "10.0.0.34",
        "port": "8086",
        "protocol": "http",
        "database": "edf",
        "name": "EDF",
        "usetls": false,
        "tls": "",
        "influxdbVersion": "1.x",
        "url": "",
        "rejectUnauthorized": false
    }
]

Dans mon configuration.yaml j’ai ajouté des utility meter :

utility_meter:
  energie_bimensuelle_heures_pleines_heure_pleine:
    source: sensor.edf_index_hp
    cycle: bimonthly
    offset:
      days: 7
      hours: 0
      minutes: 0
  energie_mensuelle_heures_pleines_heure_pleine:
    source: sensor.edf_index_hp
    cycle: monthly

  energie_quotidienne_heures_pleines_heure_pleine:
    source: sensor.edf_index_hp
    cycle: daily

  energie_bimensuelle_heures_creuses_heure_creuse:
    source: sensor.edf_index_hc
    cycle: bimonthly
    offset:
      days: 7
      hours: 0
      minutes: 0
  energie_mensuelle_heures_creuses_heure_creuse:
    source: sensor.edf_index_hc
    cycle: monthly

  energie_quotidienne_heures_creuses_heure_creuse:
    source: sensor.edf_index_hc
    cycle: daily

  energie_bimensuelle_totale:
    source: sensor.edf_total
    cycle: bimonthly
    offset:
      days: 7
      hours: 0
      minutes: 0
  energie_mensuelle_totale:
    source: sensor.edf_total
    cycle: monthly

  energie_quotidienne_totale:
    source: sensor.edf_total
    cycle: daily

Etant en mode package j’ai créé un fichier elec.yaml avec :

input_number:
  conso_abt_mensuel:
    name: Conso - Abt
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/2 mois"
    icon: mdi:currency-eur

  conso_taxe_cta:
    name: Taxe - CTA
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/2 mois"
    icon: mdi:currency-eur

  conso_taxe_cspe:
    name: Taxe - CSPE
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/kWh"
    icon: mdi:currency-eur

  conso_taxe_tcfe:
    name: Taxe - TCFE
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/kWh"
    icon: mdi:currency-eur

  conso_prix_hp:
    name: HP - Coût du Kwh
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/kWh"
    icon: mdi:currency-eur

  conso_prix_hc:
    name: HC - Coût du Kwh
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/kWh"
    icon: mdi:currency-eur

  prod_prix:
    name: Prix du Kwh prod
    mode: box
    min: 0
    max: 100
    unit_of_measurement: "€/kWh"
    icon: mdi:currency-eur

  cumulative_energy_cost:
    name: Cumulative Energy Cost
    mode: box
    min: 0
    max: 5000
    unit_of_measurement: "€"
    icon: mdi:currency-eur

  yesterday_energy_cost:
    name: Yesterday Energy Cost
    mode: box
    min: 0
    max: 5000
    unit_of_measurement: "€"
    icon: mdi:currency-eur

template:
  - sensor:
      - name: hp_cout_jour
        state: "{{ (states('sensor.energie_quotidienne_heures_pleines_heure_pleine')|float * states('input_number.conso_prix_hp')|float)|round(2) }}"

      - name: hc_cout_jour
        state: "{{ (states('sensor.energie_quotidienne_heures_creuses_heure_creuse')|float * states('input_number.conso_prix_hc')|float)|round(2) }}"

      - name: cout_jour
        state: "{{ (states('sensor.hp_cout_jour')|float + states('sensor.hc_cout_jour')|float)|round(2) }}"

      - name: cost_yesterday_display
        state: "{{ states('input_number.yesterday_energy_cost')|float|round(2) }}"

      - name: hp_cout_mensuel
        state: "{{ (states('sensor.energie_mensuelle_heures_pleines_heure_pleine')|float * states('input_number.conso_prix_hp')|float)|round(2) }}"

      - name: hc_cout_mensuel
        state: "{{ (states('sensor.energie_mensuelle_heures_creuses_heure_creuse')|float * states('input_number.conso_prix_hc')|float)|round(2) }}"

      - name: cout_mensuel
        state: "{{ (states('sensor.hp_cout_mensuel')|float * states('sensor.hc_cout_mensuel')|float)|round(2) }}"

      - name: hp_cout_bimensuel
        state: "{{ (states('sensor.energie_bimensuelle_heures_pleines_heure_pleine')|float * states('input_number.conso_prix_hp')|float)|round(2) }}"

      - name: hc_cout_bimensuel
        state: "{{ (states('sensor.energie_bimensuelle_heures_creuses_heure_creuse')|float * states('input_number.conso_prix_hc')|float)|round(2) }}"

      - name: cout_bimensuel_cspe
        state: "{{ (states('sensor.energie_bimensuelle_totale')|float * states('input_number.conso_taxe_cspe')|float)|round(2) }}"

      - name: cout_bimensuel_tcfe
        state: "{{ (states('sensor.energie_bimensuelle_totale')|float * states('input_number.conso_taxe_tcfe')|float)|round(2) }}"

      - name: cout_bimensuel_facture
        state: "{{ (states('sensor.cout_bimensuel_cspe')|float + states('sensor.cout_bimensuel_tcfe')|float + states('sensor.hp_cout_bimensuel')|float + states('input_number.conso_abt_mensuel')|float + states('input_number.conso_taxe_cta')|float + states('sensor.hc_cout_bimensuel')|float)|round(2) }}"

      - name: prod_annuelle
        state: "{{ (states('sensor.prodaujourd')|float * states('input_number.prod_prix')|float)|round(2) }}"

Coté lovelace j’ai repris divers éléments grâce notamment à @Herbs et le tableau energy de ha :

type: vertical-stack
cards:
  - type: custom:mushroom-title-card
    title: ⚡ SUIVI ENERGETIQUE ⚡
    alignment: center
  - type: markdown
    content: >-
      ## <center> Tarif en cours : {% if is_state('sensor.edf_tarif', ' HP
      SEMAINE ') %} HP {% else %} HC {% endif %}
  - type: custom:swipe-card
    cards:
      - type: entities
        entities:
          - label: 'Coûts HP / HC :'
            type: section
          - entities:
              - entity: sensor.hp_cout_jour
                name: HP
              - entity: sensor.hc_cout_jour
                name: HC
            entity: sensor.cout_jour
            icon: mdi:currency-eur
            name: Journée en cours
            secondary_info: last-changed
            show_state: false
            type: custom:multiple-entity-row
          - entities:
              - entity: sensor.hp_cout_bimensuel
                name: HP
              - entity: sensor.hc_cout_bimensuel
                name: HC
            entity: sensor.cout_mensuel
            icon: mdi:currency-eur
            name: Bimensuel en cours
            secondary_info: last-changed
            show_state: false
            type: custom:multiple-entity-row
          - label: 'Coût cummulé :'
            type: section
          - entities:
              - entity: sensor.cout_jour
                name: Aujourd'hui
              - entity: sensor.cost_yesterday_display
                name: Hier
            entity: sensor.cout_bimensuel_facture
            icon: mdi:currency-eur
            name: Journées
            secondary_info: last-changed
            show_state: false
            toggle: true
            type: custom:multiple-entity-row
          - label: 'Coût :'
            type: section
          - entity: sensor.cout_bimensuel_facture
            name: Facture Bimensuelle TTC
            icon: mdi:currency-eur
          - label: 'Recette :'
            type: section
          - entity: sensor.prod_annuelle
            name: Facture Production Annuelle TTC
            icon: mdi:currency-eur
          - entities:
              - entity: input_number.conso_abt_mensuel
              - entity: input_number.conso_taxe_cspe
              - entity: input_number.conso_taxe_cta
              - entity: input_number.conso_taxe_tcfe
              - entity: input_number.conso_prix_hp
              - entity: input_number.conso_prix_hc
              - entity: input_number.prod_prix
            head:
              label: Tarifs EDF
              type: section
            padding: 0
            type: custom:fold-entity-row
          - entities:
              - label: Journée en cours
                type: section
              - entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
                name: Tarif HP
              - entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
                name: Tarif HC
              - entity: sensor.energie_quotidienne_totale
                name: Total
              - label: Mois en cours
                type: section
              - entity: sensor.energie_mensuelle_heures_pleines_heure_pleine
                name: Tarif HP
              - entity: sensor.energie_mensuelle_heures_creuses_heure_creuse
                name: Tarif HC
              - entity: sensor.energie_mensuelle_totale
                name: Total
              - label: Bimensuel en cours
                type: section
              - entity: sensor.energie_bimensuelle_heures_pleines_heure_pleine
                name: Tarif HP
              - entity: sensor.energie_bimensuelle_heures_creuses_heure_creuse
                name: Tarif HC
              - entity: sensor.energie_bimensuelle_totale
                name: Total
              - type: divider
              - entity: input_number.cumulative_energy_cost
              - entity: input_number.yesterday_energy_cost
            head:
              label: Compteurs d'énergie
              type: section
            padding: 0
            type: custom:fold-entity-row
          - entities:
              - entity: sensor.edf_index_hc
                name: 'Conso : HC'
              - entity: sensor.edf_index_hp
                name: 'Conso : HP'
              - entity: sensor.edf_total
                name: 'Conso : Total'
              - entity: sensor.prodaujourd
                name: 'Prod : Total'
            head:
              label: Compteur Kwh
              type: section
            padding: 0
            type: custom:fold-entity-row
        show_header_toggle: false
      - type: vertical-stack
        cards:
          - type: markdown
            content: '## <center> Heures Pleines'
          - type: custom:card-templater
            card:
              type: entities
              entities:
                - entity: sensor.energie_bimensuelle_heures_pleines_heure_pleine
                  name: Heures pleines Bimensuelles
                - entity: sensor.energie_mensuelle_heures_pleines_heure_pleine
                  name: Heures pleines Mensuelles
                - entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
                  name: Heures pleines Quotidiennes
            entities:
              - entity: sensor.energie_bimensuelle_heures_pleines_heure_pleine
                state_template: >
                  {{
                  states('sensor.energie_bimensuelle_heures_pleines_heure_pleine')
                  | round(2) }}
              - entity: sensor.energie_mensuelle_heures_pleines_heure_pleine
                state_template: >
                  {{
                  states('sensor.energie_mensuelle_heures_pleines_heure_pleine')
                  | round(2) }}
              - entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
                state_template: >
                  {{
                  states('sensor.energie_quotidienne_heures_pleines_heure_pleine')
                  | round(0) }}
          - type: markdown
            content: '## <center> Heures Creuses'
          - type: custom:card-templater
            card:
              type: entities
              entities:
                - entity: sensor.energie_bimensuelle_heures_creuses_heure_creuse
                  name: Heures creuses Bimensuelles
                - entity: sensor.energie_mensuelle_heures_creuses_heure_creuse
                  name: Heures creuses Mensuelles
                - entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
                  name: Heures creuses Quotidiennes
            entities:
              - entity: sensor.energie_bimensuelle_heures_creuses_heure_creuse
                state_template: >
                  {{
                  states('sensor.energie_bimensuelle_heures_creuses_heure_creuse')
                  | round(2) }}
              - entity: sensor.energie_mensuelle_heures_creuses_heure_creuse
                state_template: >
                  {{
                  states('sensor.energie_mensuelle_heures_creuses_heure_creuse')
                  | round(2) }}
              - entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
                state_template: >
                  {{
                  states('sensor.energie_quotidienne_heures_creuses_heure_creuse')
                  | round(0) }}
          - type: markdown
            content: '## <center> Conso Totale'
          - type: custom:card-templater
            card:
              type: entities
              entities:
                - entity: sensor.energie_bimensuelle_totale
                  name: Total Bimensuel
                - entity: sensor.energie_mensuelle_totale
                  name: Total Mensuel
                - entity: sensor.energie_quotidienne_totale
                  name: Total Quotidien
            entities:
              - entity: sensor.energie_bimensuelle_totale
                state_template: |
                  {{ states('sensor.energie_bimensuelle_totale') | round(2) }}
              - entity: sensor.energie_mensuelle_totale
                state_template: |
                  {{ states('sensor.energie_mensuelle_totale') | round(2) }}
              - entity: sensor.energie_quotidienne_totale
                state_template: |
                  {{ states('sensor.energie_quotidienne_totale') | round(0) }}
      - type: entities
        title: Eaton
        show_header_toggle: false
        entities:
          - type: custom:hui-vertical-stack-card
            cards:
              - type: horizontal-stack
                cards:
                  - type: picture
                    style: |
                      ha-card {
                          width: 70%;
                          background: none;
                          box-shadow: none;
                      }
                    image: /local/images/Eaton.png
                  - type: vertical-stack
                    cards:
                      - type: custom:bar-card
                        title_position: inside
                        name: Utilisation
                        show_icon: true
                        align: split
                        columns: 1
                        max: 100
                        unit_of_measurement: '%'
                        severity:
                          - color: Green
                            from: 0
                            to: 25
                          - color: Blue
                            from: 26
                            to: 50
                          - color: Orange
                            from: 51
                            to: 80
                          - color: Red
                            from: 81
                            to: 100
                        style: |
                          ha-card {
                              background: none;
                              box-shadow: none;
                          }
                        entity: sensor.ups_load_2
                      - type: custom:bar-card
                        title_position: inside
                        icon: mdi:battery
                        name: Charge
                        show_icon: true
                        align: split
                        columns: 1
                        max: 100
                        unit_of_measurement: '%'
                        severity:
                          - color: Red
                            from: 0
                            to: 25
                          - color: Orange
                            from: 26
                            to: 50
                          - color: Green
                            from: 51
                            to: 100
                        style: |
                          ha-card {
                              background: none;
                              box-shadow: none;
                          }
                        entity: sensor.ups_battery_charge_2
              - entities:
                  - entity: sensor.ups_status_2
                    name: Etat
                  - entity: sensor.ups_output_voltage
                    name: Tension de sortie
                type: glance
                style: |
                  ha-card {
                      background: none;
                  }
        state_color: true
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.ecowatt_level_now
        name: Now
        template: ecowatt
      - type: custom:button-card
        entity: sensor.ecowatt_level_today
        name: Today
        template: ecowatt
      - type: custom:button-card
        entity: sensor.ecowatt_level_tomorrow
        name: N +1d
        template: ecowatt
      - type: custom:button-card
        entity: sensor.ecowatt_level_in_2_days
        name: N +2d
        template: ecowatt
  - type: custom:swipe-card
    cards:
      - type: custom:apexcharts-card
        graph_span: 7d
        span:
          end: day
        stacked: true
        show:
          last_updated: true
        header:
          show: true
          show_states: true
          colorize_states: true
        series:
          - entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
            type: column
            color: '#1781d8'
            name: Heures pleines
            group_by:
              duration: 1d
              func: max
          - entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
            type: column
            color: '#d66920'
            name: Heures creuses
            group_by:
              duration: 1d
              func: max
      - type: vertical-stack
        cards:
          - type: energy-date-selection
            card_mod:
              style: |
                ha-card {
                  background: none;
                  box-shadow: none;    
                }  
          - type: energy-usage-graph
            card_mod:
              style: |
                ha-card {
                  background: none;
                  box-shadow: none;    
                } 
      - type: vertical-stack
        cards:
          - type: energy-date-selection
            card_mod:
              style: |
                ha-card {
                  background: none;
                  box-shadow: none;    
                }  
          - type: energy-solar-graph
            card_mod:
              style: |
                ha-card {
                  background: none;
                  box-shadow: none;    
                } 
      - type: energy-sources-table
        card_mod:
          style: |
            ha-card {
              background: none;
              box-shadow: none;    
            }  
      - type: energy-distribution
        card_mod:
          style: |
            ha-card {
              background: none;
              box-shadow: none;    
            }  
      - type: horizontal-stack
        cards:
          - type: gauge
            min: 0
            max: 90
            entity: sensor.edf_intensite
            severity:
              green: 0
              yellow: 55
              red: 65
            needle: true
            name: Intensité
            unit: A
          - type: gauge
            entity: sensor.edf_puissance
            min: 0
            max: 20340
            severity:
              green: 0
              yellow: 12450
              red: 14690
            needle: true
            name: Puissance
            unit: V
          - type: energy-carbon-consumed-gauge
        card_mod:
          style: |
            ha-card {
              background: none;
              box-shadow: none;    
            }  


je l’ai faite en mode swipe pour ne pas encombrer mon lovelace.

Enfin j’ai créé une automation pour transformer la conso du jour en coso hier à 23h59 :

alias: daily_energy_use_message
description: ""
trigger:
  - platform: time
    at: "23:59:55"
condition: []
action:
  - service: input_number.set_value
    data:
      value: >-
        {{ states('input_number.cumulative_energy_cost')|float +
        states('sensor.cout_jour')|float }}
    target:
      entity_id: input_number.cumulative_energy_cost
  - service: input_number.set_value
    data:
      value: "{{ states('sensor.cout_jour')|float }}"
    target:
      entity_id: input_number.yesterday_energy_cost
  - service: notify.mobile_app_honor
    data:
      title: "*Information*"
      message: >-
        "La consommation de la journée écoulée est de {{
        states('sensor.energie_quotidienne_totale') }} kWh., soit {{
        states('sensor.cost_yesterday_display') }} €"
mode: single

Je me suis donc aidé du forum et du site mycanaletto pour essayer d’en faire ça.
Si vous avez des améliorations ou corrections elles sont bienvenues.

1 « J'aime »