[Tuto] Optimiser la gestion de sa production Solaire

Bonjour a toi @Ben_moimeme :wave:
C’est la tout le sujet du capteur conso électrique corrigé qui a plusieurs variable/condition et le cas ou le soleil fausse ta consommation électrique réel de ton capteur zlinky il va y avoir plusieurs chose a prendre en compte:

  1. Ta consommation hors soleil zlinky sans soleil (qui est la capteur statistiques de calcul de la moyenne de la conso hors soleil qui va servir de base)
  2. Ta puissance watt crête de tes panneaux solaire installé dans mon cas d’exemple 2400wattcrete.
  3. Selon toi en journée ta consommation varie a la hausse par rapport à ta conso hors soleil de 5, 10, 15, ou 20% (dans mon exemple il me semble avoir mis 10%).

Avec ces éléments la valeur va être ajusté +(x%) par rapport à la moyenne de ta conso de base hors soleil pour représenter une conso fidèle à la réalité😊

Super, merci pour ces précisions, je comprends mieux.
pour répondre au 3 … ma conso avec Soleil // hors soleil est de plus de 50% … car j’essaie de réinjecter le max dans le chauffe eau… pour le moment encore en mode expérimental. et idem, je fais tourner le lavevaisselle, machine a laver des que possible avec soleil.
Je vais installer ces sensors et controler au plus proche pour affiner cela !!

Re bonjour tout le monde … je n’arrive pas a interger le sensor statistic

##############################################################################
# Création de valeur moyenne statistics
sensor:
  - platform: statistics
    entity_id: sensor.consommation_electrique_corrigee #capteur de mesure de consommation_electrique_corrigee
    name: "Moyenne consommation électrique" #nom du capteur final
    #sampling_size: 576 #288
    max_age:
      minutes: 30
    state_characteristic: mean

  - platform: statistics
    entity_id: sensor.lixee_papp #capteur Zlinky lissé sur 1 journée avec influence de production solaire
    name: "Moyenne conso zlinky" #nom du capteur final
    #sampling_size: 2880 #288
    max_age:
      hours: 24
    state_characteristic: mean```


lors de la validation : j’ai cette erreur :

Error loading /config/configuration.yaml: while parsing a block collection
in "/config/sensors.yaml", line 2, column 1
expected <block end>, but found '?'
in "/config/sensors.yaml", line 13, column 1

sans la partie sensor statistic cela fonctionne.. 
![2023-06-13_15h26_25|468x500](upload://bMw0Tj1XRhvIl08ePVRNAhbMTUN.png)

50% de + (en moyenne) car oui il faut réfléchir avant… S’agit il d’un instant bref ? Car la valeur que tu mettra sera lissé car le calcul est la moyenne de cette période ou le zlinky aura la valeur 0.
Exemple: si tu consomme en moyenne 500 watt continu et que tu fait tourner un lave vaisselle ou four ou micro onde alors logiquement ton zlinky affichera durant cette période de pic +x watt en+ de la production solaire donc on n’est plus dans la condition de zlinky =0.
Mais bien dans la condition si solaire > 0 + zlinky >0.

Pour ton erreur:
Tout dépend de ton organisation dans ton fichier configuration.yaml

J’utilise pour ma part:

sensor: !include_dir_merge_list sensor/

Voici mon fichier de configuration pour plus information.

Tu peux aussi vérifier les espaces si ils sont bien respecter

Sensor:
#3 espace avant - plateform *** pour arriver sous la lettre "n" de sensor par exemple

Merci beaucoup @Felix62.
JE teste ca des que je peux !

Bonjour a tous et merci a @Felix62 pour le taff incroyable!
je viens de m’équiper avec 2 PV pour de l’autoconso, j’ai passé la soirée d’hier a adapter ton code a ma situation
Poyur info et ceux qui sont dans la meme situation :
2 PV avec MO HM800 + OpenDTY
Compteur Linky avec LinkyTIC
j’ai eu un probleme avec le energy_export, je vais voir si cela fonctionne le jour ou je vais produire plus que ma conso! pour le moment le temps ne s’y prete pas…

par contre quel est l’interet de calculer une conso corrigee ?

Merci !

Merci pour ton retour @ToyN

Pour la consommation électrique corrigé cela a pour but d’obtenir une valeur réel de ta consommation et non altéré ni faussé par d’autres facteurs ou variables.

Je vais te donner quelques exemples:

Si ta production solaire est nul donc = 0
Alors ton Linky affichera la valeur réel de ta consommation dans être altéré.
Si production = 0 alors énergie soutirer du réseau = la valeur afficher par le Linky.

2 ème cas ta production solaire = 2000
Alors ton Linky affichera 0 car aucun soutirage réseau pour autant ta consommation n’est pas égale a 0.

C’est la tout l’enjeu du code de consommation corrigé qui va reprendre plusieurs variables, moyenne de consommation fiable et réel et ton installation solaire + ta petite touche personnelle sur ta consommation estimé +10, +12, + ect… pour encore affiner les résultats

Pour plus d’information encore n’hésite pas

Salut!
Merci j’ai pigé ! :slight_smile:
j’ai toutes les valeurs qu’il me faut pour comparer, je vais bien voir !
j’ai juste un doute pour mon cas, car :
1.je ne produit pas bcp (normal pour de l’autoconso et 850wc installé)
2.tous les 10 jrs a peu pres je charge mes 2 VE (a peu pres 100kw en tout)

a voir si je vais reussir a adapter cette variable…
bon aprés je voulais surtout voir l’excedent solaire que je reintegre gratos lorsque je ne suis pas a la maison afin de prevoir par exemple machine a laver, lave vaisselle etc…
Merci encore en tout cas !
je viens de passer de Jeedom a HA et je t’avoue que j’ai été un peu perdu avec ton code mais ca ma fait plaisir de l’étudier

Aucun soucis le code va adapter les valeurs je l’ai conçu pour qu’il soit le plus universelle et polyvalent possible.

De rien, hésite pas et bienvenue sur HA :wink:

1 « J'aime »

Bonjour,
Merci pour ce tuto c’est clair
Pourrais tu partager une automation sur pour le surplus sur ta pac ?
Merci

Bonjour a tous,
nouveau dans HA, je viens de eedomus et je regarde a changer de systems voir redonder pour commencer.
Super travail, je vais regarder de plus prêt car ayant aussi une ecu R ce script m’intéresse au plus au point.
Pour le moment j’ai un ecocompteur qui me dis ms conso instantané mais il ne sais pas faire de négatif donc je pensais mettre une shelly en entrée réseaux.( je vais regarder la Zlinky en même temps).
bonne journée

1 « J'aime »

Bonjour.

Un grand merci pour ce tutoriel. Je me suis un peu battu pour le mettre en place, car il est découpé en plein de sections (ça vaudrait peut-être le coup de faire un fichier unique en format « package ».

Par contre, pour les personnes utilisant ZHA pour l’intégration zlinky au lieu de Z2M, il faut changer
sensor.zlinky_sinsts par sensor.lixee_zlinky_tic_apparent_power pour utiliser le bon senseur et ensuite, tout fonctionne :wink:

J’avais pas encore rajouter a mon github les code energy mais après ton commentaire je vais rajouter

Pour les possesseurs d’un ECU-C avec pinces ampéremétriques, il est aussi possible de récupérer les valeurs mesurées par les pinces, production et consommation, via CT Clamp power consumption for Home Assistant · GitHub (je ne sais pas si ça sera fusionné dans l’intégration apsystems, la méthode de récupération n’est pas la même).
Ce n’est pas parfait (maj toutes les 5 mins), mais ça pourrait être intéressant de comparer avec les calculs fait dans ton template.

2 « J'aime »

Oui sa m’intéresse très fortement pour ajuster le code avec différents valeurs.
L’idéal serai d’avoir plusieurs valeurs de comparaison au travers de la journée heure semaine …

Dans le cas où la conso est inférieure à la production (TIC renvoie 0), il pourrait être intéressant d’utiliser la valeur de consommation venant de la pince pour faire les stats. Bien entendu, une fois qu’on a l’injection disponible sur la TIC de Linky (pas encore mon cas, il faut que j’attendre que la mise en service Enedis soit faite dans plusieurs semaines voire mois), le calcul sera plus aisé.

Bonjour,
Merci pour le partage du code et des étapes, je viens de tenter l’intégration avec mes 2 panneaux, (800 watts en tout) et le zlinky. Voici les différentes variables en graph sur 1j, différentes remarques et questions en vue de l’amélioration.

J’essaie de récolter plus de données, pour proposer des améliorations. Si vous avez des idées , je suis preneur ! Mon avis : difficile d’être précis sans connaitre ce qui est renvoyé au réseau en temps réel ( ajout d’une pince ampéremétrique en sortie de linky est probablement nécessaire)

  • Variable puissance onduleur indisponible la nuit : rajouter une condition dans un sensor template de production solaire : state: "{{ 0 if states('sensor.800hrso_eu_hm_power') == 'unavailable' else states('sensor.800hrso_eu_hm_power') }}
    *La valeur corrigée lorsque Zlinky=0 VA et production_solaire > 0 me calcule une valeur à 840 ((exemple du point à 12:20) → valeur semble bizarre. En effet, mon panneau produit 500 W, la maison consomme 0, c’est donc impossible de prédire une conso corrigée à 840 → peut être faut-il ajouter une condition sur la valeur corrigée supplémentaire : valeur_corrigée <Production_solaire

  • Le sensor energy exporting semble être trop élevé, il ne devrait jamais dépasser 0.5 kw, la puissance maxi

  • L’énergie transférée au réseau semble erronée





Merci pour ton retour !
Pour mieux comprendre pourrais tu me donner les valeurs :

  • consommation en journée en moyenne hors panneaux solaire => Moyenne conso zlinky

1 :

Dans le capteur créer consommation_corrigé tu as des valeurs par defaut = 0 il y a même une vérification si les capteurs envoie toujours des réponses <15 minutes:

{% if last_updated_ecu and last_updated_zlinky and minutes_since_update_ecu <= 15 %}

Est-ce que tu voudrais afficher autre chose que 0 ? comme un autre capteurs si oui lequel ?

2 :

Je n’arrive pas à comprendre comme tu as atteint des valeurs aussi élevé.
Si tu peux vérifier et me communiquer la valeurs du capteur « Moyenne_conso_zlinky » qui affiche la moyenne du zlinky hors phase = 0.
Voici le code utilisé dans le cas ou production solaire >0 et zlinky >0 essai de faire le calcul à la main à partir du code suivant :

 {% set consommation_corrigee = moyenne_consommation_horssolaire * (1 + (production_solaire / (puissance_solaire_installee - moyenne_consommation_horssolaire))*0.3) %}

J’ai personnelement refait un calcul avec ces valeurs :

{% set moyenne_consommation_horssolaire = 100 %}
{% set production_solaire = 500 %}
{% set puissance_solaire_installee = 800 %}

{% set consommation_corrigee = moyenne_consommation_horssolaire * (1 + (production_solaire / (puissance_solaire_installee - moyenne_consommation_horssolaire))*0.3) %}

J’obtient :

  1. diff_puissance : 800 - 100 = 700
  2. ratio_production : 500 / 700 ≈ 0.71429
  3. ajustement_ratio : 1 + 0.71429 * 0.3 ≈ 1.2143
  4. consommation_corrigee : 100 * 1.2143 ≈ 121.43 Wh

la consommation_corrigee serait d’environ 121.43 Wh.

Pour ce qui est du capteur exporting il dépend des codes précédents donc si erreur cela va l’impacté.

Merci pour la réponse rapide !
Pour 1 : la valeur d’initialisation defaut=0 n’était pas prise en compte si capteur ‹ unavailable › chez moi → avait pour effet de ne pas calculer les autres entités.
Pour 2 : oui en effet, j’ai aussi essayé de débugger comme ça, avec un coeff de 0.4, j’arrive bien aux 836 W corrigés prédits, ce qui est supérieur à la capacité de production du panneau. Détail pour 12:20 : consommation_corrigee : 507 x (1 + (480 / (800 – 507))*0.4) = 507 * (1 + 1.6 * 0.4)= 507 * (1 + 0.65)=836. Détails des points sur les images suivantes. C’est bien ce que le capteur corrigé remonte, je vois que dans ton calcul tu prends une conso hors solaire bien plus faible, pourtant ma moyenne glissante a un seuil assez élevée.

Point 3 : j’ai du mal à comprendre la définition des sensors exporting / importing : peux-tu détailler pourquoi tu utilises la fonction max dans le sensor ?

Merci !