Template - problème d’addition et ou soustraction

Salut à tous
Pour l’excellente intégration SolarOptimizer, je cherche à créer un Template qui me donne la consommation de ma maison avec en positif ce qu’il vient depuis le réseau Enedis (électricité payante) et en négatif ce qui vient de ma production photovoltaïque

J’ai plein de sensor disponible mais pas celui-ci

Avec les 2 capteurs suivant j’ai créé le template ci-dessous mais malgres mes tests d’addition et ou de soustraction dans un sens puis dans l’autre, il est toujours en négatif y compris quand je consomme depuis le réseau
Voici ce que j’ai fait pour mon template :
Je prends le négatif de ce capteur qui m’indique ma production

Auquel j’ajoute celui-ci qui est ce qui passe par le réseau avec en négatif le surplus et en positif ce que je prend du réseau

Mais au final tout est en négatif
Voici mon Template :

{{ -((states('sensor.solarnet_puissance_photovoltaique') | float(0)) + (states('sensor.solarnet_puissance_du_reseau_electrique') | float(0))) }}

Et son résultat sur lequel on voit que tout est en négatif

Comment faire car comme indiqué précédemment j’ai testé dans plusieurs sens ?

Merci d’avance

Bonjour,

Si j’ai bien compris, ce que tu veux c’est :

{{ - (states('sensor.solarnet_puissance_photovoltaique') | float(0)) + (states('sensor.solarnet_puissance_du_reseau_electrique') | float(0)) }}

- production photovoltaïque + conso réseau electrique

Je veux surtout que le capteur conso réseau electrique qui est en positif lorsque je consomme depuis le réseau reste bien en positif à ce moment sur mon template final, après peut importe le sens de ma formule

Je test ta modification, merci

Salut

- production photovoltaïque + conso réseau electrique

Compliqué la formulation dans ce sens… alors que

conso réseau electrique - production photovoltaïque

C’est tout pareil, avec tout un tas de parenthèses en moins qui simplifie la lecture

Salut @Pulpy-Luke

Oui je m’en doute, sauf qu’en faisant ça il me mettait tout en négatif

D’où ma demande de la bonne formulation pour que la consommation qui est positive reste positive et sur celle qui est en négative il est fait la déduction de l’autoconsommation de la maison !

Mathématiquement c’est pas le sens de l’opération qui est la cause d’un valeur négatif…
Dans les 2 cas, quand ta production solaire est supérieure à ta conso, c’est négatif…
Dans la cas contraire, c’est positif.

Donc avoir (toujours ? comprendre forcer) une valeur positive, ça ne veut pas dire la même chose !
Au pire si tu ne veux voir ta conso ENEDIS pure, tu dois dire que ça ne descend jamais en dessous de zéro

{{ min(0,states('sensor.solarnet_puissance_du_reseau_electrique') | float(0) - states('sensor.solarnet_puissance_photovoltaique') | float(0)) }}

Je veux voir ma conso issu d’Enedis en positif
Je suis d’accord qu’il faut faire dans ce sens
conso réseau electrique - production photovoltaïque

Mais quand je l’écrivais il additionnait les 2 valeurs négatives

Mathématiquement je veux que
[conso réseau = 200W - production PV = 0W]= 200W
Et que (édit modification puissance PV en positif)
[conso réseau = -3200W - production PV = 3500W]= -300W

Sauf que les tests que j’ai fait me donnais pas ça du tout

C’est pas là qu’il faut corriger …
-3500 pour une conso, ça n’existe pas…
Idem une production solaire en négatif : :cold_sweat:

Donc soit c’est un template que tu as créé et il est faux. Soit ça représente autre chose

Ces valeurs sont négatives car c’est la puissance PV qui part sur le réseau Enedis

Donc dans ce cas là tu produis 3500W (pas possible que ce soit négatif), tu en consommes 300W et tu injectes le reste soit 3200W, donc ça affiche -3200W au compteur…

En effet je me suis trop sur cette exemple !

D’après mes capteurs et ce que je cherche à avoir c’est :
[conso réseau = -3200W - production PV = 3500W]= -300W de conso gratuite de la maison

J’ai du coup édité mon précédent message pour que les exemples soient corrects

Mhhh ça doit être le reste des mes études en maths, mais -300W …

Tu as la production solaire directement aux panneaux ou tu passes par ton compteur ?
J’ai l’impression que tu veux faire des calculs à partir de valeurs qui sont déjà des estimations/calculs et donc qu’à un moment, tu boucles

Les 2 capteurs viennent de l’intégration lié à mon onduleur Fronius
Le truc c’est que l’intégration SO (Solar Optimizer) a besoin d’un capteur qui indique la consommation de la maison (et non du réseau) avec en positif la conso issu du réseau Enedis et en négatif la consommation issu des PV (l’autoconsommation)

Mais n’ayant pas ce capteur j’ai des problèmes avec l’intégration SO

Techniquement |abs retourne toujours une valeur positive d’une valeur.


Et soustraire une valeur négative c’est pareil que d’additionner la même en positive (l’histoire de - par - ça fait + :wink: )
Donc avec ces 2 règles, tu peux faire ce que tu veux.

Pour moi c’est pas assez clair dans le fonctionnement. Des conso négatives, je peux comprendre mais des productions négatives, là ça me choque. Quant une conso négative d’un PV… là c’est adhérant.

Si tu n’as QUE des valeurs négatives et que tu as besoin de les rendre positives, ça peut aller mais si ce n’est pas le cas (des positives et des négatives sur le même sensor), tu risques de mettre des trucs complément faux dans les templates qui ne seront pas corrects.

Je vais tester avec le abs

Pour le reste, je te confirme que ma production est bien positive par contre le capteur qui contrôle ce qui passe dans un sens et dans l’autre du réseau Enedis est en positif quand ça vient du réseau et en négatif quand ça part du réseau

Ensuite les besoins du capteur que je cherche à faire sont issus de l’intégration SO qui demande une valeur positive quand ça vient du réseau et négative quand ca vient du PV (puissance gratuite)