Suivi d'économie grâce à la production solaire

Bonjour à tous,

Mon problème

Je voulais savoir s’il existe déjà quelque chose qui affiche les économies réalisées grâce à la production solaire consommée.
L’idéal serait d’afficher cela en euros et que ça calcul aussi bien en tarif heure creuse et heure pleine. Bien entendu en informant les crénaux horaires et le tarif des HC et HP ?

Et le top serait de pouvoir regarder cela en instantané, au jour, à la semaine, au mois, à l’année.

Je vous remercie par avance de vos réponses.

Ma configuration


[center]## System Information

version core-2026.4.4
installation_type Home Assistant OS
dev false
hassio true
docker true
container_arch aarch64
user root
virtualenv false
python_version 3.14.2
os_name Linux
os_version 6.12.77-haos
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.5
Stage running
Available Repositories 2948
Downloaded Repositories 5
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 17.2
update_channel stable
supervisor_version supervisor-2026.04.2
agent_version 1.8.1
docker_version 29.3.1
disk_total 28.0 GB
disk_used 9.1 GB
nameservers 192.168.1.254, fd0f:ee:b0::1
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board green
supervisor_api ok
version_api ok
installed_addons Duck DNS (2.0.0), NGINX Home Assistant SSL proxy (4.1.0), File editor (6.0.0), Terminal & SSH (10.1.0), tydom2mqtt (3.5.3), Mosquitto broker (7.1.0), Matter Server (8.4.0)
Dashboards
dashboards 4
resources 0
views 5
mode storage
Network Configuration
adapters lo (disabled), end0 (enabled, default, auto), docker0 (disabled), hassio (disabled), veth83a7129 (disabled), veth7465831 (disabled), veth9c5cac5 (disabled), veth7dc3894 (disabled), veth17ccd13 (disabled), veth7056e16 (disabled), veth8e50e89 (disabled), vethe875c02 (disabled), veth4e2b21a (disabled), veth1692dc5 (disabled), vethd297f58 (disabled), vetha689d1a (disabled)
ipv4_addresses lo (127.0.0.1/8), end0 (192.168.1.109/24), docker0 (172.30.232.1/23), hassio (172.30.32.1/23), veth83a7129 (), veth7465831 (), veth9c5cac5 (), veth7dc3894 (), veth17ccd13 (), veth7056e16 (), veth8e50e89 (), vethe875c02 (), veth4e2b21a (), veth1692dc5 (), vethd297f58 (), vetha689d1a ()
ipv6_addresses lo (::1/128), end0 (2a01:e0a:9b1:32f0:32c9:5b94:f259:13ea/64, fe80::76bc:164d:f7e1:81a0/64), docker0 (fe80::83e:f2ff:fe06:68d6/64), hassio (fe80::cc75:25ff:fe1d:9bda/64), veth83a7129 (fe80::cc22:3eff:fe11:b765/64), veth7465831 (fe80::106a:9ff:fe04:118c/64), veth9c5cac5 (fe80::7c20:3fff:fe64:8d97/64), veth7dc3894 (fe80::b851:8eff:fe1a:1054/64), veth17ccd13 (fe80::e4d1:70ff:fea6:26b1/64), veth7056e16 (fe80::4c2d:4fff:fea4:acdb/64), veth8e50e89 (fe80::f8d7:cdff:fe03:b139/64), vethe875c02 (fe80::ac0b:5bff:fe0c:73e3/64), veth4e2b21a (fe80::ec6f:56ff:fe3b:bd3/64), veth1692dc5 (fe80::3c19:dff:fed7:71b6/64), vethd297f58 (fe80::4c80:45ff:fe4d:39d1/64), vetha689d1a (fe80::2094:93ff:fe5b:4f0e/64)
announce_addresses 192.168.1.109, 2a01:e0a:9b1:32f0:32c9:5b94:f259:13ea, fe80::76bc:164d:f7e1:81a0
Recorder
oldest_recorder_run 20 avril 2026 à 17:11
current_recorder_run 26 avril 2026 à 12:40
estimated_db_size 266.07 MiB
database_engine sqlite
database_version 3.49.2
[/center]

Merci Patrick pour ta réponse rapide.
Mais je cherche plus du basic.
Peut-on modifier le tableau de bord énergétique ?
Pour bien faire, je voudrais bien retoucher ce tableau :

  1. Avoir une 4eme colonne « Economies » à droite de « coût »
  2. A la place de « production totale du jour » avoir plutôt un détail avec une ligne avec « production en HP » et en dessous « production en HC » et dans la colonne « Economies » les économies réalisées aussi en bien Heure pleine qu’en heure creuse
  3. Rendre le total du réseau cohérent et additionnant seulement Conso HC + Conso HP (soit 10.95) et non 5.19 comme indiqué (car il soustrait l’Energie restitué à EDF)
  4. Mettre plutôt l’Energie restituée dans une troisième partie, en dehors de « réseau »

Ca donnerai ça

Je regarde des que j’ai un peu de temps, pour voir si je peux faire quelque chose.

Un truc vite fait regarde si sa peu convenir

  1. Sensors template (configuration.yaml ou template.yaml)
    Adapte les noms des sensors sources (en sensor.xxx) selon ce que tu as déjà dans HA :
    yaml
template:
  - sensor:
      # --- Tarifs intégrés (adapte selon ton contrat) ---
      # HC ≈ 0.1635 €/kWh | HP ≈ 0.2038 €/kWh

      - name: "Economies Production HC"
        unit_of_measurement: "€"
        state: >
          {{ (states('sensor.production_hc_jour') | float(0) * 0.1635) | round(2) }}

      - name: "Economies Production HP"
        unit_of_measurement: "€"
        state: >
          {{ (states('sensor.production_hp_jour') | float(0) * 0.2038) | round(2) }}

      - name: "Total Production Solaire"
        unit_of_measurement: "kWh"
        state: >
          {{ (states('sensor.production_hc_jour') | float(0) +
              states('sensor.production_hp_jour') | float(0)) | round(2) }}

      - name: "Total Economies Production"
        unit_of_measurement: "€"
        state: >
          {{ (states('sensor.economies_production_hc') | float(0) +
              states('sensor.economies_production_hp') | float(0)) | round(2) }}

      - name: "Cout Conso HC"
        unit_of_measurement: "€"
        state: >
          {{ (states('sensor.conso_hc_jour') | float(0) * 0.1635) | round(2) }}

      - name: "Cout Conso HP"
        unit_of_measurement: "€"
        state: >
          {{ (states('sensor.conso_hp_jour') | float(0) * 0.2038) | round(2) }}

      - name: "Total Reseau Reel"
        unit_of_measurement: "kWh"
        state: >
          {{ (states('sensor.conso_hc_jour') | float(0) +
              states('sensor.conso_hp_jour') | float(0)) | round(2) }}

      - name: "Cout Total Reseau"
        unit_of_measurement: "€"
        state: >
          {{ (states('sensor.cout_conso_hc') | float(0) +
              states('sensor.cout_conso_hp') | float(0)) | round(2) }}
  1. Carte Lovelace (Markdown card)
type: markdown
content: >
  <table style="width:100%; border-collapse:collapse; font-size:14px;">
    <thead>
      <tr style="border-bottom:2px solid #ccc;">
        <th style="text-align:left; padding:6px;">SOURCE</th>
        <th style="text-align:center; padding:6px;">USAGE</th>
        <th style="text-align:center; padding:6px;">COÛT</th>
        <th style="text-align:center; padding:6px;">ÉCONOMIES</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td style="padding:4px 6px;">Production HC</td>
        <td style="text-align:center;">{{ states('sensor.production_hc_jour') }} kWh</td>
        <td></td>
        <td style="text-align:center;">{{ states('sensor.economies_production_hc') }} €</td>
      </tr>
      <tr>
        <td style="padding:4px 6px;">Production HP</td>
        <td style="text-align:center;">{{ states('sensor.production_hp_jour') }} kWh</td>
        <td></td>
        <td style="text-align:center;">{{ states('sensor.economies_production_hp') }} €</td>
      </tr>
      <tr style="font-weight:bold; border-top:1px solid #ccc; border-bottom:1px solid #ccc;">
        <td style="padding:4px 6px;">Total production solaire</td>
        <td style="text-align:center;">{{ states('sensor.total_production_solaire') }} kWh</td>
        <td></td>
        <td style="text-align:center;">{{ states('sensor.total_economies_production') }} €</td>
      </tr>
      <tr>
        <td style="padding:4px 6px;">Conso HC</td>
        <td style="text-align:center;">{{ states('sensor.conso_hc_jour') }} kWh</td>
        <td style="text-align:center;">{{ states('sensor.cout_conso_hc') }} €</td>
        <td></td>
      </tr>
      <tr>
        <td style="padding:4px 6px;">Conso HP</td>
        <td style="text-align:center;">{{ states('sensor.conso_hp_jour') }} kWh</td>
        <td style="text-align:center;">{{ states('sensor.cout_conso_hp') }} €</td>
        <td></td>
      </tr>
      <tr style="font-weight:bold; border-top:1px solid #ccc; border-bottom:1px solid #ccc;">
        <td style="padding:4px 6px;">Total du réseau</td>
        <td style="text-align:center;">{{ states('sensor.total_reseau_reel') }} kWh</td>
        <td style="text-align:center;">{{ states('sensor.cout_total_reseau') }} €</td>
        <td></td>
      </tr>
      <tr>
        <td style="padding:4px 6px;">Énergie restituée</td>
        <td style="text-align:center;">{{ states('sensor.energie_restituee_jour') }} kWh</td>
        <td></td>
        <td></td>
      </tr>
    </tbody>
  </table>

Points à adapter
À remplacerPar ton vrai sensorsensor.production_hc_jourTon sensor de production HCsensor.production_hp_jourTon sensor de production HPsensor.conso_hc_jourTon sensor de conso HCsensor.conso_hp_jourTon sensor de conso HPsensor.energie_restituee_jourTon sensor d’injection réseau0.1635 / 0.2038Tes vrais tarifs EDF HC/HP

Wahou merci Patrick pour ta rapidité.

Il n’est pas possible de modifier plutôt la carte « Tableau des sources d’énergie » et de pouvoir continuer à utiliser le « Sélecteur de date énergétique » ?

je n’est pas acces a ces fichier, je ne fait pas partie du staff home assistant

Ok je comprends, on ne peut pas modifier nous même les cartes par défaut.
C’est dommage, elle est bien la carte mais pas parfaite. C’est dommage également de ne pas laisser la possibilité de la modifier.

tu veus pouvoir modifier se que j’ai fait, je peu certainement pouvoir y faire quelque chose dit moi se que tu veus.

Je vais déjà regarder ce que tu m’as donné.

Je suis pas très doué, c’est la 1ere fois que je mets les mains dans HA.

J’ai compris comment mettre la card, mais pour le 1er code j’ai un doute. Je dois le mettre à la suite de ce que j’ai dans config.yaml ?

Déjà je me rends compte que j’ai dis une grosse bêtise dès le départ.
Ce n’est pas parce que je produit que je fais des économies.
Je dois plutôt partir sur la production utilisée en HC et HP

oui le premier code est a mettre dans configuration.yaml

Merci Patrick pour ton aide. Je me suis appuyé sur l’IA pour faire ce que je voulais.