Bonjour je déterre ce topic.
J’ai de mon coté une install assez poussez qui me remonte pas mal d’info. Mon pannel energy fonctionne bien.
J’ai suivi la méthode Canello mais pour moi ce n’est pas viable car les infos de couts (€) doivent être stockées dans des utility meter plutôt que de sensors basiques.
En effet si on change la tarification actuelle en €/kwH des différents tarrifs HC, HP, TEMPO,… ça ajuste l’ensemble des couts alors que l’on veut que les nouveaux tarifs soient prix en compte à partir de maintenant… D’ou l’utilisation de statistiques longs termes calculées en temps réel à partir du tarif actuel.
Là on est d’accord, je pense.
Ce que je n’arrive pas à faire… pour méviter de créer n Utility meter (x groupe de device, 6 tarifs TEMPO,…), j’ai utilisé des Utility meter avec les tariffs.
Je bascule bien l’utility meter sur le bon tarif en bascule HP/HC.
En revanche je coince sur ma ou mes sources d’entrée…
Pour l’instant elles sont un sensor template de type total_increasing €.
Le template est la multiplication du sensor energy total * le tarif de la période en cours.
Ca fonctionne bien même si l’état de ce sensor ne veut rien dire (c’est qu’un montant basé sur un index) en terme de cout. L’important est la variation d’un état sur l’autre uniquement. La je suis bon.
mon principal problème est quand je bascule sur une période tarifaire plus chère par exemple HC à HP, je prend en compte mon autre tarif mais le delta de calcul me génère une variation importante juste à ce moment là qui sont répliquées dans les utility meter…
Voici mon code source du template sensor. meme principe pour chaque groupe d’équipements.
J’ai essayé de jouter avec le last_reset mais ça ne fait rien…
> name: price_energy_total
> unique_id: price_energy_total
> state: >
> {% if is_state('sensor.rt2_teleinfo_ptec', 'HPJW') %}
> {{ ( states('sensor.linky_energy_global') | float * states('input_number.cout_kwh_hpjw') | float ) | round(2) }}
> {% elif is_state('sensor.rt2_teleinfo_ptec', 'HCJW') %}
> {{ ( states('sensor.linky_energy_global') | float * states('input_number.cout_kwh_hcjw') | float ) | round(2) }}
> {% elif is_state('sensor.rt2_teleinfo_ptec', 'HPJB') %}
> {{ ( states('sensor.linky_energy_global') | float * states('input_number.cout_kwh_hpjb') | float ) | round(2) }}
> {% elif is_state('sensor.rt2_teleinfo_ptec', 'HCJB') %}
> {{ ( states('sensor.linky_energy_global') | float * states('input_number.cout_kwh_hcjb') | float ) | round(2) }}
> {% elif is_state('sensor.rt2_teleinfo_ptec', 'HCJR') %}
> {{ ( states('sensor.linky_energy_global') | float * states('input_number.cout_kwh_hcjr') | float ) | round(2) }}
> {% elif is_state('sensor.rt2_teleinfo_ptec', 'HPJR') %}
> {{ ( states('sensor.linky_energy_global') | float * states('input_number.cout_kwh_hpjr') | float ) | round(2) }}
> {% else %}
> {% endif %}
> unit_of_measurement: "€"
> #icon_template: mdi:currency-eur
> #device_class: monetary
> state_class: total_increasing # pas besoin car le cout n'est pas représentatif
> availability: "{{ states('sensor.linky_energy_global') | is_number and
> not 'unavailable' in states('sensor.rt2_teleinfo_ptec') }}"
> # pas sur que ca soit nécessaire
> attributes:
> last_reset: "{{ '2024-01-30 12:17:00+01:00' }}"
En fait je pense qu’il me faudrait au final un sensor, remis à 0 à chaque changement de période tarifaire et réincrémenter progressivement le cout qui partirait de 0€ avec le bon tarif.
Pour ça plutot que de calculer le cout dans ce sensor directement, il faudrait que je puisse extraire juste la différence entre la valeur de maintenant et cette précédente.
Et que j’ajoute ça à mon utility meter.
Ou alors autre solution, calculer le cout par rapport aux utilimeter energy qui fonctionne bien ete qui sont utililsé pour le pannel energy
Pas sur d’être clair merci.
PS : en fait j’essaye de refaire le principe du même module CONSO ELEC dans jeedom
EDIT : je me demande si faut pas que je passe par un utility meter spécifique basé sur un reset à chaque changement de période. Comme ça je suis sur que je reprends de 0 et cette données sert à alimenter mes utilimeter par cycle classique (Journalier,n Hebdo,…) reseté à minuit