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

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)}}

Tu définis trop de plateform template, il t’en faut une seule :

# 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) }}

    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)}}

    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) }}

    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)}}

redémarre et dis nous si au moins une entité est présente dans les outils de développement

rien n’est présent dans outils de développement / état

OK, procédons par étape :

  1. As tu bien mis le dernier code que je t’ai fourni ?
    :interrobang: Je viens de remarquer un truc :expressionless: :
    Tu ne peux pas utiliser sensor.enedis_last_month_kwh_221XXX car il n’est défini nul part, utilise à la place l’entité que tu as créé enedis_last_month_kwh donc le code est le suivant
Afficher le code
# 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) }}

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

    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) }}

    enedis_current_month_cost:
      friendly_name: "Enedis Current month cost"
      unit_of_measurement: '€'
      value_template: >
        {{'%.2f'|format(states('sensor.enedis_current_month_kwh')|float * 0.158)}}
  1. Tu as bien remplacé les XXXX par le numero de PDL avant de sauvegarder ?
  2. Que montre le log ? (/config/home-assistant.log)
  3. La vérification (Configuration → Contrôle du serveur → Bouton VERIFIER LA CONFIGURATION) retourne une erreur ou pas ?