Mettre apiEnedis (Linky, Endis semaine, mois, année) dans une carte

Mon problème

Faire fonctionner :

myenedis_conso_semaine_en_cours:
            friendly_name: 'MyEnedis.conso.cette.semaine'
            value_template: "{{state_attr('sensor.myenedis_XXXXXXX','current_week')}}"

récupérer :

last_month: ==> consommation du mois dernier
current_month: ==> consommation du mois en cours
last_year: ==> consommation de l’année dernière
current_year: ==> consommation de l’année en cours

Pour les mettre dans une carte

Ma configuration


Voici le code qui fonctionne chez moi:

- platform: template
  sensors:
    enedis_current_week:
      friendly_name: Conso semaine en cours
      device_class: energy
      unit_of_measurement: 'kWh'
      value_template: >-
        {{ (state_attr('sensor.myenedis_xxxxxxxxxx','current_week') | float) | round(2) }}
 

Merci j’essaye plus tard.

Dans sensorS.yaml ou dans configuration.yaml

il faut le mettre dans Sensor.yaml

faut il mettre

sensor

  • platform: template
    sensors:
    etc…

Hello

dans sensors.yaml j’ai mis ca (faire un check de config pour l’indentation):

  - platform: template
    sensors:
        enedis_current_week:
           friendly_name: 'MyEnedis.conso.cette.semaine'
           device_class: energy
           unit_of_measurement: 'kWh'
           value_template: >-
               {{ (state_attr('sensor.myenedis_1122XXXXXX','current_week') | float) | round(2) }}

Puis dans le lovelace dashboard j’ai ajouté le sensor ‹ MyEnedis.conso.cette.semaine ›

et cela fonctionne.(après le refresh pour moi 3600s)

Bonsoir

Merci, peux tu être plus explicite je suis débutant et tout cela ne me parle pas encore sur ce qu’il faut faire vraiment

pour moi je vais dans configuration, Tableau de board lovelace et ? ?

idem je débute aussi.

pour le tableau de bord, tu passes en mode édition (les 3 points en haut à droite) puis en bas à droite le bouton bleu ajouter, puis tu choisis la carte sensor et dans le « Sensor Card Configuration » tu choisis dans le menu déroulant entity « sensor.enedis_current_week »

Si tu ne trouves pas la référence, c’est que tu ne l’as pas ajouté dans ta configuration.

Je te conseille de lire tranquillement

1 « J'aime »

Bonjour,

Je recherche un prof patient et compréhensible pour mettre mes conso
week
last
month
last month
year
last year

Merci

Tu utilise quelle intégration ? (lien sur le forum)

Peux tu fournir une capture d’écran de ton entité depuis Outils de développement → Onglet ETATS ?

Bonsoir Merci

J’ai ajouté dans config/sensors.yaml

- platform: template
  sensors:
    enedis_last_month_kwh:
      friendly_name: "Enedis Last month Kw/h"
      unit_of_measurement: 'kwh'
      value_template: >
        {{'%.2f'|format(state_attr('sensor.myenedis_XXX', 'last_month'))}}

- platform: template
  sensors:
    enedis_last_month_cost:
      friendly_name: "Enedis Last month cost"
      unit_of_measurement: '€'
      value_template: >
        {{'%.2f'|format(states('sensor.enedis_last_month_kwh_XXX')|float * 0.158)}}


- platform: template
  sensors:
    enedis_current_month_kwh:
      friendly_name: "Enedis Current month Kw/h"
      unit_of_measurement: 'kwh'
      value_template: >
        {{'%.2f'|format(state_attr('sensor.myenedis_XXX', 'current_month'))}}


- platform: template
  sensors:
    enedis_current_month_cost:
      friendly_name: "Enedis Current month cost"
      unit_of_measurement: '€'
      value_template: >
        {{'%.2f'|format(states('sensor.enedis_current_month_kwh_XXX')|float * 0.158)}}

Les XXX correspondant à mon PDL

Extrait de outil développement état

daily_cost: 1.17
yesterday_HC: 0.000
yesterday_HP: 5.591
current_week: 0.000
last_month: 157.341
current_month: 0.000
last_year: 1995.825
current_year: 332.983
errorLastCall:
monthly_evolution: 7.079

Et c’est quoi ta demande/problème ?? :upside_down_face:

j’ai été voir sur le site enedis il est indiqué problème de données sur les 4 dernières semaines zut.

afficher
last_month
current_year

dans une carte comme on affiche les conso journalière.
si je comprend pour 2 le reste suivra je pense.

Et le code que tu as mis (https://forum.hacf.fr/t/mettre-apienedis-linky-endis-semaine-mois-annee-dans-une-carte/2668/12?u=clemalex) ne fonctionne pas ?

Hélas je ne sais pas comment mettre le code dans la carte c’est la que tu interviens oh mon maitre je ne suis que padawan.

Le code que tu as mis dans le fichier sensors.yaml t’as normalement (si pas d’erreur de compilation de code) créé des nouvelles entités que tu peux retrouver dans Outils de développement → Onglet ETATS

A la lecture du code fourni, je pense que tu devrais trouver seulement les entités relatives au coût et non aux données de consommation dans ton serveur HA.

Voici pourquoi je pense ceci :

Prenons l’exemple de la consommation du mois passé :

- platform: template
  sensors:
    enedis_last_month_kwh:
      friendly_name: "Enedis Last month Kw/h"
      unit_of_measurement: 'kwh'
      value_template: >
        {{'%.2f'|format(state_attr('sensor.myenedis_XXX', 'last_month'))}}

Le code dans la clé value_template n’est pas bon car tu indique au filtre (format()) de garder 2 chiffres après la virgule d’un objet FLOAT (le f dans %.2f) donc il te faut le convertir avant de le passer dans le filtre, ce qui donne :

value_template: >
  {{'%.2f'|format(state_attr('sensor.myenedis_XXX', 'last_month')|float)}}

Personnellement, je préfère utiliser le filtre round() qui est moins lourd à écrire :

value_template: >
  {{ state_attr('sensor.myenedis_XXX', 'last_month') |round(2) }}

Ce qui donne pour le code que tu as fourni (et avec l’utilisation de round() pour la consommation et format() pour le coût, afin d’avoir les deux et choisir ce que tu préfères) :

- platform: template
  sensors:
    enedis_last_month_kwh:
      friendly_name: "Enedis Last month Kw/h"
      unit_of_measurement: 'kwh'
      value_template: >
        {{ state_attr('sensor.myenedis_XXX', 'last_month') |round(2) }}

- platform: template
  sensors:
    enedis_last_month_cost:
      friendly_name: "Enedis Last month cost"
      unit_of_measurement: '€'
      value_template: >
        {{'%.2f'|format(states('sensor.enedis_last_month_kwh_XXX')|float * 0.158)}}


- platform: template
  sensors:
    enedis_current_month_kwh:
      friendly_name: "Enedis Current month Kw/h"
      unit_of_measurement: 'kwh'
      value_template: >
        {{ state_attr('sensor.myenedis_XXX', 'current_month') |round(2) }}


- platform: template
  sensors:
    enedis_current_month_cost:
      friendly_name: "Enedis Current month cost"
      unit_of_measurement: '€'
      value_template: >
        {{'%.2f'|format(states('sensor.enedis_current_month_kwh_XXX')|float * 0.158)}}

Au rechargement des entités sensor (redémarrage de HA encore nécessaire pour ce type d’entité), tu devrais pouvoir afficher une carte entités avec la configuration suivante :

type: entities
entities:
  - entity: sensor.enedis_last_month_kwh
    name: Le mois dernier (Consommation)
  - entity: sensor.enedis_last_month_cost
    name: Le mois dernier (Prix)
  - entity: sensor.enedis_current_month_kwh
    name: Ce mois (Consommation)
  - entity: sensor.enedis_current_month_cost
    name: Ce mois (Prix)

j’ai copié le tout dans sensors.yaml

Créé une carte avec entities et rien.
entité non disponible,

Outils développement, états Rien

peux tu partager ton fichier sensors.yaml ?

Que t’indique le log ? (/config/home-assistant.log)

sensors.yaml


# enedis
- platform: myEnedis
  token: XXXXXXXX
  code:  221XXXXXXX
  hc_cout: 0.0
  hp_cout: 0.0
  heures_creuses: "[['00:30', '07:00'], ['10:00', '11:30']]"
  heuresCreusesON: true
  scan_interval: 3600
  
- platform: template
  sensors:
    enedis_last_month_kwh:
      friendly_name: "Enedis Last month Kw/h"
      unit_of_measurement: 'kwh'
      value_template: >
        {{ state_attr('sensor.myenedis_221XXXX', 'last_month') |round(2) }}

- platform: template
  sensors:
    enedis_last_month_cost:
      friendly_name: "Enedis Last month cost"
      unit_of_measurement: '€'
      value_template: >
        {{'%.2f'|format(states('sensor.enedis_last_month_kwh_221XXX')|float * 0.158)}}


- platform: template
  sensors:
    enedis_current_month_kwh:
      friendly_name: "Enedis Current month Kw/h"
      unit_of_measurement: 'kwh'
      value_template: >
        {{ state_attr('sensor.myenedis_221XXXX', 'current_month') |round(2) }}


- platform: template
  sensors:
    enedis_current_month_cost:
      friendly_name: "Enedis Current month cost"
      unit_of_measurement: '€'
      value_template: >
        {{'%.2f'|format(states('sensor.enedis_current_month_kwh_221XXXX')|float * 0.158)}}