Enphase - Calcul autoconsommation

Bonjour à tous

Je tente depuis quelques jours à monitorer pour mon Dashboard (hors celui énergie) différents éléments de ma consommation, production d’énergie.

Je tourne en rond sur le calcul de mon autoconsommation qui est pas si mal mais qui semble dériver dans le temps en ma large défaveur !

J’ai créé des templates de la sorte :

templates
###   Calcul de la puissance corrigée quand pas de production à savoir toujours 0
      - name: PV Puissance corrigée
        state_class: measurement
        icon: mdi:solar-panel
        unit_of_measurement: W
        device_class: power
        state: >
          {% set value = states('sensor.envoy_SN_current_power_production') | int(0) %}
          {% if value  <= 5 -%}
            0
          {% elif is_state("sun.sun", "below_horizon")%}
            0
          {%else%}
            {{value}}
          {%endif%}

###   Calcul de l'autoconsommation
      - name: PV Autoconsommation Maison
        state_class: measurement
        unit_of_measurement: W
        device_class: power
        icon: mdi:transmission-tower
        state: >
          {% set prod = states('sensor.pv_puissance_corrigee') | int(0) %}
          {% set conso = states('sensor.envoy_SN_current_power_consumption') | int(0) %}
          {% if  (conso  - prod) < 0 %}
            {{ conso }}
          {% else %}
            0
          {% endif %}

ensuite je crée des sensor pour avoir l’info en kWH et Wh :

platform: integration
    ###   Création de l'énergie autoconsommée
  - platform: integration
    name: Autoconsommation Maison kWh
    source: sensor.pv_autoconsommation_maison
    unit_prefix: k
    unit_time: h
    round: 2
    method: left
  - platform: integration
    name: Autoconsommation Maison Wh
    source: sensor.pv_autoconsommation_maison
    unit_time: h
    round: 0
    method: left

Puis enfin, j’ai créé des utility meter :

utility meter
  hourly_autoconsommation_heure:
    source: sensor.autoconsommation_maison_wh
    name: autoconsommation_maison_heure
    cycle: hourly
  daily_autoconsommation_jour:
    source: sensor.autoconsommation_maison_wh
    name: autoconsommation_maison_jour
    cycle: daily
  weekly_autoconsommation_semaine:
    source: sensor.autoconsommation_maison_wh
    name: autoconsommation_maison_semaine
    cycle: weekly
  monthly_autoconsommation_mensuel:
    source: sensor.autoconsommation_maison_wh
    name: autoconsommation_maison_mensuel
    cycle: monthly
  quaterly_autoconsommation_trimestre:
    source: sensor.autoconsommation_maison_wh
    name: autoconsommation_maison_trimestre
    cycle: quarterly
  yearly_autoconsommation_an:
    source: sensor.autoconsommation_maison_wh
    name: autoconsommation_maison_an
    cycle: yearly
  hourly_autoconsommation_kwh_heure:
    source: sensor.autoconsommation_maison_kwh
    name: autoconsommation_maison_heure
    cycle: hourly
  daily_autoconsommation_kwh_jour:
    source: sensor.autoconsommation_maison_kwh
    name: autoconsommation_maison_jour
    cycle: daily
  weekly_autoconsommation_kwh_semaine:
    source: sensor.autoconsommation_maison_kwh
    name: autoconsommation_maison_semaine
    cycle: weekly
  monthly_autoconsommation_kwh_mensuel:
    source: sensor.autoconsommation_maison_kwh
    name: autoconsommation_maison_mensuel
    cycle: monthly
  quaterly_autoconsommation_kwh_trimestre:
    source: sensor.autoconsommation_maison_kwh
    name: autoconsommation_maison_trimestre
    cycle: quarterly
  yearly_autoconsommation_kwh_an:
    source: sensor.autoconsommation_maison_kwh
    name: autoconsommation_maison_an
    cycle: yearly

Est-ce que je suis dans le vrai dans le cheminement et dans la création des éléments ?

J’aimerais refaire le dashboard énergie :
image

oui bien avoir la répartition autoconsommé / import versus ma consommation globale :
image

Merci à tous de votre aide

Salut,

J’ai un petit souci pour comprendre ce que tu veux mesurer avec ce calcul.
Là ça va t’enregistrer uniquement quand tu produis plus que tu ne consommes, mais l’autoconsommation c’est aussi quand tu produis moins…
Donc dans ton « integration » tu n’a qu’une partie de ton autoconsommation.

Ou alors ce tu appelles autoconsommation c’est uniquement la partie où tu es en autonomie et qu’à côté tu as d’autres sensors ?

Salut @AlexHass

Alors oui j’ai je pense utilisé le mot autoconsommation par abus de langage dans mon cas.

Je veux mettre sur le même graphique l’énergie importée, le surplus envoyé sur le réseau et l’énergie solaire consommée.
Donc effectivement quand le solaire est supérieur à la demande je suis en autoconsommation + surplus et quand le solaire est inférieur à la demande je suis en autoconsommation plus de l’import.

Le but est de reproduire le graphe du dashboard énergie avec les 3 notions :

Ensuite mais dans un autre besoin je vais avoir besoin de l’autoconsommation complète de la journée, la notion d’indépendance au réseau etc…

J’avais un moment utilisé une carte de suivi instantané de la prod avec les flux de HACS, le " tesla-style-solar-power-card", il m’avait fait créer plusieurs entités pour différentes composantes, qui sont les composantes de ce que tu veux dans tes calculs.

Les noms recommandés par la carte étaient assez parlant.
(je les avais déjà partagé auparavant, désolé si je me répète

      prod_cons_diff:
        value_template: "{{ states('sensor.envoy_122230074642_current_power_production') | int(default=0) - states('sensor.envoy_122230074642_current_power_consumption') | int(default=0) }}"
        unit_of_measurement: "W"
        device_class: power
      generation_to_grid_entity:
        device_class: power
        unit_of_measurement: W
        value_template: >
          {% if states('sensor.prod_cons_diff')|int(default=0) > 0 %}
            {{ states('sensor.prod_cons_diff')|int(default=0)}}
          {% else %}
            0
          {% endif %}      
      generation_to_house_entity:
        device_class: power
        unit_of_measurement: W
        value_template: >
          {% if states('sensor.prod_cons_diff')|int(default=0) > 0 %}
            {{ states('sensor.envoy_122230074642_current_power_consumption')|int(default=0)}}
          {% else %}
            {% if states('sensor.envoy_122230074642_current_power_production')|int(default=0) > 0 %}
              {{ states('sensor.envoy_122230074642_current_power_production')|int(default=0)}}
            {% else %}
              0
            {% endif %}
          {% endif %}
      grid_to_house_entity:
        device_class: power
        unit_of_measurement: W
        value_template: >
          {% if states('sensor.prod_cons_diff')|int(default=0) <= 0 %}
            {{ states('sensor.prod_cons_diff')|int(default=0) * -1 }}
          {% else %}
            0
          {% endif %}

Ne soit pas désolé @AlexHass si tu te répètes je ne l’ai pas vu
Mais j’ai lu tellement de choses que j’ai le cerveau en bouilli :slight_smile:
Et si c’est un rafraichissement ou coup de pouce pour me remettre sur le chemin je prends pas de soucis.

Une fois terminé mes travaux je vais faire un résumé de tout ça en tout cas

Bon j’avais pas fait les utility meter hier :frowning:

Si je résume dans les différents éléments que tu m’as transmis @AlexHass il y a :

  • prod_cons_diff : la différence entre production et consommation (résultat positif ou négatif en fonction)
  • generation_to_grid_entity : le surplus envoyé au réseau quand la valeur ci dessus est positive
  • generation_to_house_entity : la consommation solaire qui est la consommation donnée par enphase quand il y a surproduction ou bien la production solaire si on produit bien entendu
  • grid_to_house_entity : l’import du réseau quand la production est inférieur à la consommation de la maison

L’autoconsommation est donc le point 3.

Par rapport au graphe énergie (conso du réseau, jaune consommation solaire, violet surplus)

On peut donc utiliser les 3 grandeurs suivantes :

  • generation_to_house_entity
  • generation_to_house_entity
  • generation_to_grid_entity