Comment être sur que les entitées énergie sont stocké dans la base à long terme de HA

Salut à tous, encore désolé Ha est une vrai passion, une soif d’apprendre…
Dans un premier temps j’ai switch ma base sur mariadb hier.
Maintenant j’ai lu un peut partout que les entitées énergie étaient stocké à long terme dans la base de données de HA. Comment en être sur ? :thinking:
Les entitées de mon linky commence par énergie, faut t’il plutôt les nommer energy pour que HA fasse la différence de la ou est stocké l’info ??? :thinking:
Pareil il stock une entité celle configuré dans la partie energy ? Ou toutes celle nommé energy, je trouve peut d’informations sur cette aspect de la base. :wink:

Salut,

Pour que le module énergie puisse utiliser une entité, celle-ci doit avoir les statistiques activées. C’est fait par défaut dans certaines plateformes ou intégrations. C’est expliqué quand tu vas dans la config de énergie et que tu essaye d’ajouter une nouvelle source.

Pour voir si c’est bien dans ta DB, tu peux l’ouvrir avec PhpMyAdmin et tu verra les tables statistics_*

stats

J’utilise un D1 mini pour les relevés de mon linky et les entitées n’apparaîse pas, j’ai du créer des binary sensor pour que cela fonctionne, il y a quelques chose à ajouter dans le code esp pour avoir les stats ? Ou sais esphome qui devrais le faire en créant les entitées ? :thinking:

Tu veux dire quoi par les entités n’apparaissent pas?

Tu n’a pas besoin de faire des choses spécifiques dans le D1…
Si tu remonte par exemple la puissance apparente genre toutes les 10 sec en VA ou W, tu peux ensuite prendre l’exemple donne en bas de la page suivante et ça te donnera une entité avec les valeurs de kWh:

Sur l’exemple c’est pour convertir des Watt en Kwh.
Je comprend pas comment convertir des Wh en Kwh avec cette exemple ? :thinking:
Mon linky m’envoie des Wh et des VA mais pas de W. :wink:


Du coup j’ai créer une entité kwh mais impossible de l’inclure dans la partie énergie…

sensor:
  - platform: integration
    source: sensor.index ( entité en Wh ) 
    name: energy_spent
    unit_prefix: k
    round: 2

Le résultat est bizarre et les chiffres pas cohérent…

Va falloir s’accrocher :

En fait dans le cas présent VA c’est la puissance apparente si on veut pas chipoter (y’a que les électricien que ça froisse) tu peux dire VA = W :grin:
Si tu est pointilleux, il faudrait prendre l’Intensité Instantée et la multiplier par 230V
Donc dans ton exemple : 2 A x 230 V = 460W de puissance active.
Contre 530 VA…
Mais bon comme l’intensité est donnée sans décimales, c’est presque tout aussi approximatif que de prendre 530VA en tant que W.

Pour avoir un joli graph dans la carte énergie.

  • Soit tu change le programme de ton ESP pour faire Intensité Instantanée x 230V et tu envoie une nouvelle valeur qui sera l’a puissance instantanée en W.
  • Soit tu prends grosses mailles et tu dis VA = W.
  • Soir tu créé une nouvelle entité template qui fait le calcul Intensité x 230v pour donnée des W.

Et c’est cette entité là en W que tu passes dans « Riemann Sum Integral » pour te donner des kWh consommés.
Tu rajoute cette nouvelle entité en kWh dans énergie et tu as un graph.

Quelle solution sera la plus fiable au niveau des données ?
Car dans energy je sais même pas le type d’entité attendu, en W, en Kwh, en Wh ?
En fais tu pencherai pour quelle solution qui serai le plus fiable ? Et comment créer l’entité car en gros j’ai compris la manière de faire mais pas de la mettre en œuvre… :joy:
Désolé je suis relou…

Le but étant que j’ai cette entité sois enregistré sur le long terme. :wink:

  • Soir tu créé une nouvelle entité template qui fait le calcul Intensité x 230v pour donnée des W.

Comment créer cette entité qui me paraît peut être la plus juste des 3 ?
Donc si je comprend bien dans la partit energy faut une entité en W ? :thinking:

A vrai dire je ne sais pas comment les gens font… :stuck_out_tongue:
S’il y a une autre façon… moi je me suis basé sur ce qu’il y a dans la doc de énergie…
Si quelqu’un à la bonne méthode. Qu’il le dise :slight_smile:

Pour la précision:
Utiliser les VA en tant que W te donne un nombre un peu trop élevé mais avec des variations précises.
Utiliser le vrai calcul des W, te donnera des pas de 230 en 230…

Pour la solution utilisant le calcul a partir de l’intensité:
Pour créer un sensor template ils faut ajouter quelque chose comme ça à la config:

  - platform: template
    sensors:
      puissance_active:
        value_template: "{{ int( states('sensor.compteur_intensite_instantanee')) * 230 }}"
        unit_of_measurement: "W"
        device_class: power

Et ensuite mettre ce nouveau sensor.puissance_active dans l’intégrale:

sensor:
  - platform: integration
    source: sensor.puissance_active
    name: energy_spent
    unit_prefix: k
    round: 2
1 « J'aime »

Impossible de l’avoir dans la bonne unité j’y comprend plus rien j’ai essayé avec sensor index qui est en Wh, j’ai essayé avec le sensor puissance active précédemment créer qui est en W, ca veut rien savoir l’unité reste en KVAh. Et les valeurs ne corresponde à rien…

- platform: integration
    source: sensor.puissance_active
    name: energy_spent
    unit_prefix: k
    round: 2

- platform: template
    sensors:
      puissance_active:
        value_template: "{{ int( states('sensor.intensite')) * 230 }}"
        unit_of_measurement: "W"
        device_class: power

Je cherche mais je comprend pas cette unité alors que le sensor est en W et non en VA

Mouais bizarre. Possible que ça vienne de la création de l’entité tu avais essayé à partir de ton compteur en VA au début peut-être?
Cela dit l’unité elle même n’a pas trop d’importance d’autant que le kVAh et le kWh c’est pareil. Tant que la somme est bonne.

Ma config à juste l’unité de temps en plus mais l’heure c’est celle par défaut donc devrait être inutile

  - platform: integration
    source: sensor.compteur_puissance
    name: energy_spent
    unit_prefix: k
    unit_time: h
    round: 2

Oui exact avant en tout premier j’avais essayé avec les VA depuis impossible de viré cette unité…
J’ai viré la base de données et répartit avec une base vide, effacer le fichier core.restore state, ça n’a rien changer… Je sais plus quoi essayer…
En plus j’ai modifié le papp dans le code esphome pour avoir des W à la place des VA ça fonctionne à merveille. Mais pas moyen par l’intégration d’avoir des KWh depuis ce premier essai avec les VA. La je sèche…

L’unité est stockée dans le registre des entités, c’est un fichier caché qu’il ne vaudrait mieux pas bidouiller.
Je pense qu’il faudrait du coup renommer ton entité energy_spent en autre chose ce qui devrait donner une nouvelle entrée dans le registre avec la bonne unité.

Malheureusement cela ne fonctionne pas, l’entité est bien créer, la valeur est bonne mais le capteur apparaît pas dans la partie energy, par contre si je modifie à nouveau le nom et que je redémarre l’ancien nom apparaît en non dispo et le nouveau apparaît pas. J’y comprend rien…ont vois bien en bas les anciennes entitées créer avant le changement de nom, la une nommé maison devrait être présente.

Pfff c’est compliqué de répondre là.
Vaudrait mieux pas aller trop loin dans les aller retours de config…

Du coup je stock avec une entité journalière !
Je pense pas que cela pose de problème ? Elle ce réinitialise à 00h chaque jour.

J’ai réussi je répond pour ceux qui aurais le problème.
il faut ajouter cela pour que ca fonctionne.

attribute_templates:
          state_class: total_increasing
# Conversion Wh en KWh de la consommation d'énergie
  - platform: template
    sensors:
      conso_maison: 
        friendly_name: 'Conso maison en KWh'
        unit_of_measurement: 'kWh'
        device_class: energy
        value_template: >-
          {{ (states('sensor.index') | float / 1000) | round(2) }}
        attribute_templates:
          state_class: total_increasing