Knx conversion de Wh en KWh

Bonjour,

Comme vous le savez certainement la mise à jour 2021.8 à ajouter le module de gestion de l’énergie.

Je possède un module de comptage d’énergie KNX qui me remonte les donnés en Wh

sensor.energie_totale_compteur
Energie totale compteur
30180138	source: 1.1.4
last_knx_update: 2021-08-16 16:59:11.632278+00:00
unit_of_measurement: Wh
friendly_name: Energie totale compteur
device_class: energy

Je souhaiterais avoir un sensor en KWh avec les données nécessaire au panel énergie.
Qui doit avoir au moins les attributs suivants:

state_class: measurement
last_reset: '2021-08-16T12:01:51.496080+00:00'
unit_of_measurement: kWh
device_class: energy

Si quelqu’un à une idée comment faire cela je suis preneur. (l’heure de last_knx_update ne remonte pas la bonne heure décalage de 2 heures, mais ca c’est un autre problème)

Merci d’avance

Hello,

Tu peux créer un template sensor pour la conversion (mes données en Wh sont aussi issue de KNX)

  # Conversion Wh en KWh de la consommation d'énergie
- platform: template
  sensors:
    energy_totale_compteur_kwh:
      unit_of_measurement: kWh
      value_template: "{{ (states('sensor.energie_totale_compteur') | float / 1000) | round(2) }}"
      device_class: energy
1 « J'aime »

Oui c’est parfais j’ai finis par trouver :

  - platform: template
    sensors:
      conso_maison: 
        friendly_name: 'Conso maison en KWh'
        unit_of_measurement: 'kWh'
        value_template: >-
          {{ (states('sensor.energie_totale_compteur') | float / 1000) | round(2) }}
        attribute_templates:
          state_class: measurement
          last_reset: '1970-01-01T00:00:00+00:00'
          device_class: energy

Ca permet d’avoir tous ce qu’il faut pour le panel (apparemment pour la prochaine version plus besoin du last reset et l’on pourra définir la device class direct sur les objet KNX)

Bonjour je suis dans le meme cas mes valeur son en Wh et j’aurais besoin des KWh
par contre j’utilise un esp home pour avoir ma valeur, j’ai regarder un peut partout sur internet essayer une tonne de possibiliter mais je ne sais pas trop comment l’ecrire dans mon code et du coup ca ne marche pas mon code actuel resemble a ca:

  - platform: teleinfo
    tag_name: "PAPP"
    name: "Puissance"
    device_class: energy
    unit_of_measurement: "Wh"
    state_class: total_increasing

Salut,

Ca donne quoi comme résultat?
Comme PAPP c’est la puissance apparente instantanée, je ne sais pas comment le total_increasing se comporte…

Je n’utilise pas esphome pour ma téléinfo, mais je remonte PAPP en W toutes les 5min avec un device_class Power
Dans la yaml de HA ça donne ça:

  - platform: mqtt
    name: "Compteur Puissance"
    state_topic: "compteur/puissance"
    unit_of_measurement: "W"
    device_class: power

Ensuite j’ai un sensor énergie qui utilise la plateforme « intégration » qui est faite pour ce genre de calcul.

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

Tu donne ton préfixe et ton unité de temps, il s’occupe du calcul. Et ça remonte dans la carte énergie si tu lui met le sensor « energie_consumed ».

heu… je suis extrêmement novice en la matière tout ce que je sais c’est que je n’arrive pas a le modifier de w a Kw
j’ai essayer avecCapture d’écran 2021-12-18 104336
je pense que ça approche de la solution mais je n’arrive pas a le compiler… excuse moi je ne sais pas trop comment m’expliquer

peut etre que dans "Energie je devrais peut etre ajouter plutot mes WH heure creuse et heure pleine plutot que ma puisance instantané?

1 « J'aime »

Ca ne peut pas compiler, je pense que tu mélange le YAML de Esphome et celui de Home assistant!
« value_template » et « states() » ca existe dans HA, pas dans ESPHome.

mais mon probleme resterais pareil car mes heure plein et heure creuse sont aussi envoyer en WH alor que le modul energie veut de KWh

d’acord mais du coup ques que je doit faire ? un tuto sur le sujet a me conseiller?

Je pars ici du principe que tu as tout ce qu’il faut côté matériel pour lire la télé info du compteur.
Donc soit un montage maison avec un optocoupleur, soir un module tout fait pour se connecter sur les bornes I de téléinfo du compteur. Si tu n’as pas ça… c’est une autre histoire.

En partant de là, pour Esphome, l’exemple de base de la page suivant suffira.
Tu copie ça dans ton esphome et tu le charge sur un esp.

Pour HA, un fois l’Esphome chargé et connecté, une nouvelle intégration devrait apparaître sous EspHome.
Et exposera 4 sensor, dont celui qui t’intéresse: sensor.papp (basé sur le nom de l’exemple Esphome téléinfo)
Une fois que tu as ça , tu peux déjà créer une carte dans HA qui affiche ta conso actuelle:

Conso1

ou

Conso2

A partir de là dans configuration.yaml de Home Assistant tu peux ajouter un nouveau sensor à la main:

  - platform: integration
    source: sensor.papp
    name: energy_consumed
    unit_prefix: k
    unit_time: h
    round: 2

C’est ce dernier sensor qui après redémarrage de HA, pourra être ajouté dans la configuration du module énergie.

Bonjour,

Avec ce sensor manuel, vous le retrouvez dans le panneau configuration du module energy de HA ? j’ai créé ce genre de sensor chez moi, mais je ne les retrouve pas dans ce module :confused:

Merci,

FTN

Il faut dire à la carte énergie quel sensor de type « energy » est à prendre en compte pour la consommation.
Ca se fait dans Configuration > Energie > Colonne de gauche « Réseau électrique »

Bonjour,

Oui, j’ai bien compris comment rentré l’ensemble des sensors dans la page energy, c’est juste que dans la liste déroulante que HA me propose, il ne m’affiche pas les sensors manuels que j’ai créé

Pour que ce soit dans la liste déroulante, il te faut un sensor qui donne des kWh
As-tu bien un sensor qui donne des kWh?

Dans la doc de la carte énergie, ils donnent l’exemple pour l’électricité pour passer d’une mesure en W instantanée à une mesure en kWh en utilisant la platform « Intégration »

Re,

voici mon code du sensor :

## Energie photovoltaïque
  - platform: template
    sensors: 
      energiepv: #le nom de ton sensor (attention a mettre "_" entre 2mots et minuscule
        friendly_name: "Energie photovoltaïque"        #nom qui apparaitra  
        unit_of_measurement: 'kWh' 
        value_template: "{{ (states('sensor.2_a_channel_2_energy_returned') | float / (3 / 2))| round(2) }}"
        device_class: energy

Et ma config :


# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensors.yaml

Mais impossible de voir ce sensor energiepv dans la liste déroulante du module energy …

Salut,

As-tu cliqué sur « Pourquoi on entité n’est pas listée? »
Je pense que ça vient du fait que tu as ici un template sensor qui ne stocke pas de long term statistics… c’est sur ça que se base le module energy.
Que faut-il rajouter pour que ça le fasse… je ne sais pas, je n’ai jamais joué avec ça…
Mais il est possible qu’il faille juste ajouter quelques infos dans la config de ton sensor.

Pour intégrer la consommations dans le panneau energy il a 2 options, soit le sensor posséde un « states_class » et « device_class » comme içi

  -  platform: mqtt
     name: "Home_Index_kWh"
     device_class: energy
     state_class: total_increasing
     state_topic: "edf/base"
     unit_of_measurement: "kWh"

Soit il faut crée un utility meter qui contient par defaut ces elements comme par exemple:

utility_meter:
  energy_local_technique_hour:
    source: sensor.energy_local_technique
    cycle: hourly

Mon « sensor.energy_local_technique » étant lui meme un composant « intergral » d’un « template » qui repose sur une « switch » :slight_smile:

Bon, vous aviez raison, en ajoutant :

attribute_templates:
          state_class: total_increasing

ça semble fonctionner !!! Merci pour l’aide, pas évident d’écrire du code quand on débute de rien, il y a tellement à lire.

Aucun mérite particulier, j’ai juste mis ça en place y a 3-4 jours.