Eco compteur LEGRAND

Merci @PhilippeP pour le partage

Salut, nouveau également sur HA, je tente désespérément de récupérer les infos de mon ecocompteur.
J’ai bien utilisé le tuto de Yoyouri de 2024, j’ai bien modifié mon configuration.yaml
J’ai bien créé le dossier packages puis dedans le dossier Legrand et dedans les fichiers data.json et legrand412000.yaml que vous trouverez ci dessous :

configuration.yaml


# Loads default set of integrations. Do not remove.
default_config:
 packages: !include_dir_merge_named packages/

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

legrand412000.yaml

   #####################################
   ##                                 ##
   ##       LECTURE DES JSON          ##
   ##                                 ##
   #####################################

command_line:
  - sensor:
# Appel pour récupérer le data.json suivant adresse Ip de l'Eco Compteur  
      command: curl -s 'http://192.168.1.133/data.json' | jq > /config/packages/Legrand/data.json
      name: Data JSON
      unique_id: data_json
      value_template: "OK"
      scan_interval: 20 # A CHOISIR ?
      command_timeout: 60 # temps maxi pour retour (pas obligatoire)
  - sensor:
# Commande Récupération Valeur data.json
      command: grep "" /config/packages/Legrand/data.json | jq
      name: Données du Json
      unique_id: sensor.donnees_du_json
      value_template: "OK"
      json_attributes:
        - option_tarifaire
        - tarif_courant
        - isousc
        - conso_base
        - conso_hc
        - conso_hp
        - conso_hc_b
        - conso_hp_b
        - conso_hc_w
        - conso_hp_w
        - conso_hc_r
        - conso_hp_r
        - type_imp_0
        - type_imp_1
        - type_imp_2
        - type_imp_3
        - type_imp_4
        - type_imp_5
        - label_entree1
        - label_entree2
        - label_entree3
        - label_entree4
        - label_entree5
        - label_entree_imp0
        - label_entree_imp1
        - label_entree_imp2
        - label_entree_imp3
        - label_entree_imp4
        - label_entree_imp5
        - entree_imp0_disabled
        - entree_imp1_disabled
        - entree_imp2_disabled
        - entree_imp3_disabled
        - entree_imp4_disabled
        - entree_imp5_disabled

  - sensor:
# Appel pour récupérer le inst.json suivant adresse Ip de l'Eco Compteur  
      command: curl -s 'http://192.168.1.133/inst.json'
      name: "Compteur Individuel JSON"
      unique_id: compteur_individuel_json
      value_template: "ok"
      scan_interval: 1
      json_attributes:
        - data1
        - data2
        - data3
        - data4
        - data5
        - data6
        - data6m3
        - data7
        - data7m3
        - heure
        - minute
        - CIR1_Nrj
        - CIR1_Vol
        - CIR2_Nrj
        - CIR2_Vol
        - CIR3_Nrj
        - CIR3_Vol
        - CIR4_Nrj
        - CIR4_Vol
        - Date_Time

   #####################################
   ##                                 ##
   ##       CREATION DES ENTITES      ##
   ##           SOUHAITEES            ##
   ##                                 ##
   #####################################
   
template:
  - sensor:
        
# Template de data.json
    - name: "Valeur Tarif"
      unique_id: valeur_tarif
      state: >
        {{ state_attr('sensor.donnees_du_json','tarif_courant')}}
        
    - name: "Valeur Intensité"
      unique_id: valeur_intensite
      unit_of_measurement: "A"
      state: >
        {{ state_attr('sensor.donnees_du_json','isousc')}}
        
    - name: "Index conso"
      unique_id: index_conso
      unit_of_measurement: "kWh"
      state: >
        {{ state_attr('sensor.donnees_du_json','conso_base') / 1000}}
        
    - name: "Nom data1"
      unique_id: nom_data1
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree1')}}
        
    - name: "Nom data2"
      unique_id: nom_data2
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree2')}}
        
    - name: "Nom data3"
      unique_id: nom_data3
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree3')}}
        
    - name: "Nom data4"
      unique_id: nom_data4
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree4')}}
        
# Template de inst.json
    - name: 'Conso PC Info'
      unique_id: conso_pc_info
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data1')}}
      
    - name: 'Conso Eclairage'
      unique_id: conso_eclairage
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data2')}}
      
    - name: 'Conso Chauffage'
      unique_id: conso_chauffae
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data3')}}
      
    - name: 'Conso Chaudiere'
      unique_id: conso_chaudiere
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data4')}}
    

   #####################################
   ##                                 ##
   ##       SENSORS & TEMPLATES       ##
   ##    CONSOMMATIONS ELECTRIQUE     ##
   ##                                 ##
   #####################################

# Tarif en Cours Donnée Brute
# Valeurs : 0 = Base
# Valeurs : 2 = Pleine / 1 = Creuse
# Valeurs : 8 = Pleine bleu / 5 = Creuse bleu
# Valeurs : 9 = Pleine blanc / 6 = Creuse blanc
# Valeurs : 10 = Pleine rouge / 7 = Creuse rouge

# Transformation Tarif en Cours > Tranche Tarifaire
#    - name: "Tranche Tarifaire"
#      unique_id: tranche_tarifaire
#      state: >
#        {% if is_state('sensor.valeur_tarif', '0') %}
#          Base
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '10') %}
#          Heure Pleine ROUGE
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '9') %}
#          Heure Pleine BLANC
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '8') %}
#          Heure Pleine BLEU
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '7') %}
#          Heure Creuse ROUGE
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '6') %}
#          Heure Creuse BLANC
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '5') %}
#          Heure Creuse BLEU
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '2') %}
#          Heure Pleine
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '1') %}
#          Heure Creuse 
#        {% endif %}

   #####################################
   ##                                 ##
   ##             RELEVES             ##
   ##           ABONNEMENT            ##
   ##                                 ##
   #####################################

# Puissance Souscrite
    - name: "Puissance Abonnement Souscrite"
      unique_id: puissance_abonnement_souscrite
      unit_of_measurement: 'kVA'
      state: >
        {% set i = states('sensor.valeur_intensite') | float(default=0) %} 
        {{ ( i / 5 ) | round(2) }}
        

   #####################################
   ##                                 ##
   ##         SENSORS CALCULS         ##
   ##        CONSOMMATION HC/HP       ##
   ##                                 ##
   #####################################

# Les Sensors ci-après permettent d'aditionner les conso issues de DATA.JSON de HP - HC y compris en tarif TEMPO
# Les sensors sont à adaptés en prenant comme base les premiers Templates
# Calcul Consommation Totale (HP + HC)
#        - name: "Legrand Consommation Totale"
#          unit_of_measurement: "kWh"
#          state: >
#            {{ float(states('sensor.legrand_consommation_hp') + #float(states.sensor.legrand_consommation_hc') | default(0) | round(2) }}

# Calcul Consommation Totale Tempo ou équivalent
#        - name: "Legrand Consommation Totale"
#          unit_of_measurement: "kWh"
#          state: >
#            {{ float(states('sensor.legrand_consommation_hp_b') + #float(states.sensor.legrand_consommation_hc_b') + #float(states('sensor.legrand_consommation_hp_w') + #float(states('sensor.legrand_consommation_hc_w') + #float(states('sensor.legrand_consommation_hp_r') + #float(states('sensor.legrand_consommation_hc_r') | default(0) | round(2) }}

   #####################################
   ##                                 ##
   ##          SENSORS COUTS          ##
   ##      FACTURATION ELECTRICITE    ##
   ##                                 ##
   #####################################

# Sensor Input Number pour insertion du prix de l'Abonnement
#    - name: "Legrand Prix Abonement"
#      unique_id: legrand_prix_abonement
#      unit_of_measurement: "€"
#      state: >-
#        {{ states('input_num.legrand_prix_abonement') | default(0) | round(2) }}


#    - name: "Legrand Prix kWh Base"
#      unique_id: legrand_prix_kwh_base
#      unit_of_measurement: "€"
#      state: >-
#        {{ states('input_num.legrand_prix_kwh_base') | default(0) | round(2) }}

input_number:
# Sensor Input Number pour insertion du prix de l'Abonnement
 legrand_prix_abonnement:
    name: Legrand Prix Abonnement 9kVA
    initial: 15.79
    min: 0
    max: 500
    step: 0.01
    mode: box 
    unit_of_measurement: "€ / Mois"
    icon: mdi:currency-eur
# Sensor Input Number pour insertion du prix du kwh en Base, à dupliquer pour les multi tarif
 legrand_prix_kwh_base:
    name: Legrand Prix kWh Base 
    initial: 25.16 
    min: 0
    max: 500
    step: 0.01
    mode: box 
    unit_of_measurement: "€ /kWh"
    icon: mdi:flash-red-eye

A partir de là je ne sais plus quoi faire, dans la configuration de l’énergie sous HA quand je clique sur ajouter une source d’eau je ne trouve pas les entités du Legrand, je dois loupé une étape.

Merci beaucoup pour votre aide

Bonne année

Clem

  1. Tu as bien un EcoCompteur 412000 ?
  2. Depuis ton navigateur, tu as bien des données remontées depuis http://192.168.1.133/data.json et http://192.168.1.133/inst.json ?

Salut @cleminfo

Commence par reprendre mon tuto car dès le début il y a une erreur dans ce que tu a fait dans ton fichier configuration.yaml

Ensuite crée bien le sous dossier et le fichier que j’indique et sinon modifie le chemin dans le fichier Legrand.yaml

oui un 412000 et oui j’ai bien les infos sur les 2 URL

@cleminfo as tu vu ma réponse que j’ai posté presque en même temps que ta dernière ?

Si j’ai bien compris :

Configuration.ymal

# Loads default set of integrations. Do not remove.
default_config:


# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
[u]homeassistant:[/u]
[u] packages: !include_dir_merge_named packages/[/u]

C’est ça ?

@cleminfo
Non pas besoin des « u » entre guillemets

Bonjour à tous, je débarde sous HA, et je galère un peu à intégrer mon eco compteur (venant de Jeedom, ça change comme méthode!!), j’ai un message d’erreur, je pensais pourtant avoir tout bien modifié dans mes fichier, mais j’ai une erreur avec le packages:
Vous auriez une idée svp?



Salut @Bensouil

Je dirais que ton erreur viens du fait qu’il manque 2 espace devant la ligne package comme ce que tu as fait pour frontend

1 « J'aime »

ha la vache le boulet… c’est bien ça merci!!! Bon maintenant que j’ai réussi quelque chose, je vais me pencher sur la récup’ de la conso depuis l’eco compteur pour le mettre dans Energie.

1 « J'aime »

Oui désolé j’ai voulu le mettre en gras dans le message sur le forum ça n’y est pas dans mon code.

J’ai par contre d’autre message d’erreurs maintenant :

Repose ton code de tes fichiers

Je continue mes recherche pour intégrer cela dans energie.
Il manquerait pas un paragraphe par hasard dans le code? Du genre un data 5?

@Bensouil
Bien entendu qu’il manque le data 5 dans mon code vu que je ne l’utilise pas (pas de tore de mesure)

Il suffit de dupliquer les lignes

Posés tes codes YAML via la fonction texte pré formatée et non en image pour faciliter les aides

Impeccable merci j’ai réussi.
Prochaine étape mettre cela dans Energie, et donc en wh

#####################################
   ##                                 ##
   ##       LECTURE DES JSON          ##
   ##                                 ##
   #####################################

command_line:
  - sensor:
# Appel pour récupérer le data.json suivant adresse Ip de l'Eco Compteur  
      command: curl -s 'http://192.168.1.19/data.json' | jq > /config/packages/legrand/data.json
      name: Data JSON
      unique_id: data_json
      value_template: "OK"
      scan_interval: 20 # A CHOISIR ?
      command_timeout: 60 # temps maxi pour retour (pas obligatoire)
  - sensor:
# Commande Récupération Valeur data.json
      command: grep "" /config/packages/legrand/data.json | jq
      name: Données du Json
      unique_id: sensor.donnees_du_json
      value_template: "OK"
      json_attributes:
        - option_tarifaire
        - tarif_courant
        - isousc
        - conso_base
        - conso_hc
        - conso_hp
        - conso_hc_b
        - conso_hp_b
        - conso_hc_w
        - conso_hp_w
        - conso_hc_r
        - conso_hp_r
        - type_imp_0
        - type_imp_1
        - type_imp_2
        - type_imp_3
        - type_imp_4
        - type_imp_5
        - label_entree1
        - label_entree2
        - label_entree3
        - label_entree4
        - label_entree5
        - label_entree_imp0
        - label_entree_imp1
        - label_entree_imp2
        - label_entree_imp3
        - label_entree_imp4
        - label_entree_imp5
        - entree_imp0_disabled
        - entree_imp1_disabled
        - entree_imp2_disabled
        - entree_imp3_disabled
        - entree_imp4_disabled
        - entree_imp5_disabled

  - sensor:
# Appel pour récupérer le inst.json suivant adresse Ip de l'Eco Compteur  
      command: curl -s 'http://192.168.1.19/inst.json'
      name: "Compteur Individuel JSON"
      unique_id: compteur_individuel_json
      value_template: "ok"
      scan_interval: 1
      json_attributes:
        - data1
        - data2
        - data3
        - data4
        - data5
        - data6
        - data6m3
        - data7
        - data7m3
        - heure
        - minute
        - CIR1_Nrj
        - CIR1_Vol
        - CIR2_Nrj
        - CIR2_Vol
        - CIR3_Nrj
        - CIR3_Vol
        - CIR4_Nrj
        - CIR4_Vol
        - Date_Time

   #####################################
   ##                                 ##
   ##       CREATION DES ENTITES      ##
   ##           SOUHAITEES            ##
   ##                                 ##
   #####################################
   
template:
  - sensor:
        
# Template de data.json
    - name: "Valeur Tarif"
      unique_id: valeur_tarif
      state: >
        {{ state_attr('sensor.donnees_du_json','tarif_courant')}}
        
    - name: "Valeur Intensité"
      unique_id: valeur_intensite
      unit_of_measurement: "A"
      state: >
        {{ state_attr('sensor.donnees_du_json','isousc')}}
        
    - name: "Index conso"
      unique_id: index_conso
      unit_of_measurement: "kWh"
      state: >
        {{ state_attr('sensor.donnees_du_json','conso_base') / 1000}}
        
    - name: "Nom data1"
      unique_id: nom_data1
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree1')}}
        
    - name: "Nom data2"
      unique_id: nom_data2
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree2')}}
        
    - name: "Nom data3"
      unique_id: nom_data3
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree3')}}
        
    - name: "Nom data4"
      unique_id: nom_data4
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree4')}}
        
    - name: "Nom data5"
      unique_id: nom_data4
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree5')}}
        
# Template de inst.json
    - name: 'Conso VMC'
      unique_id: conso_VMC
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data1')}}
      
    - name: 'Conso Prise'
      unique_id: conso_prise
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data2')}}
      
    - name: 'Conso Lumiere'
      unique_id: conso_lumiere
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data3')}}
      
    - name: 'Conso Eau chaude'
      unique_id: conso_eau chaude
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data4')}}
        
    - name: 'Conso Chauffage'
      unique_id: conso_chauffage
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data5')}}
    

   #####################################
   ##                                 ##
   ##       SENSORS & TEMPLATES       ##
   ##    CONSOMMATIONS ELECTRIQUE     ##
   ##                                 ##
   #####################################

# Tarif en Cours Donnée Brute
# Valeurs : 0 = Base
# Valeurs : 2 = Pleine / 1 = Creuse
# Valeurs : 8 = Pleine bleu / 5 = Creuse bleu
# Valeurs : 9 = Pleine blanc / 6 = Creuse blanc
# Valeurs : 10 = Pleine rouge / 7 = Creuse rouge

# Transformation Tarif en Cours > Tranche Tarifaire
#    - name: "Tranche Tarifaire"
#      unique_id: tranche_tarifaire
#      state: >
#        {% if is_state('sensor.valeur_tarif', '0') %}
#          Base
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '10') %}
#          Heure Pleine ROUGE
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '9') %}
#          Heure Pleine BLANC
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '8') %}
#          Heure Pleine BLEU
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '7') %}
#          Heure Creuse ROUGE
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '6') %}
#          Heure Creuse BLANC
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '5') %}
#          Heure Creuse BLEU
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '2') %}
#          Heure Pleine
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '1') %}
#          Heure Creuse 
#        {% endif %}

   #####################################
   ##                                 ##
   ##             RELEVES             ##
   ##           ABONNEMENT            ##
   ##                                 ##
   #####################################

# Puissance Souscrite
    - name: "Puissance Abonnement Souscrite"
      unique_id: puissance_abonnement_souscrite
      unit_of_measurement: 'kVA'
      state: >
        {% set i = states('sensor.valeur_intensite') | float(default=0) %} 
        {{ ( i / 5 ) | round(2) }}
        

   #####################################
   ##                                 ##
   ##         SENSORS CALCULS         ##
   ##        CONSOMMATION HC/HP       ##
   ##                                 ##
   #####################################

# Les Sensors ci-après permettent d'aditionner les conso issues de DATA.JSON de HP - HC y compris en tarif TEMPO
# Les sensors sont à adaptés en prenant comme base les premiers Templates
# Calcul Consommation Totale (HP + HC)
#        - name: "Legrand Consommation Totale"
#          unit_of_measurement: "kWh"
#          state: >
#            {{ float(states('sensor.legrand_consommation_hp') + #float(states.sensor.legrand_consommation_hc') | default(0) | round(2) }}

# Calcul Consommation Totale Tempo ou équivalent
#        - name: "Legrand Consommation Totale"
#          unit_of_measurement: "kWh"
#          state: >
#            {{ float(states('sensor.legrand_consommation_hp_b') + #float(states.sensor.legrand_consommation_hc_b') + #float(states('sensor.legrand_consommation_hp_w') + #float(states('sensor.legrand_consommation_hc_w') + #float(states('sensor.legrand_consommation_hp_r') + #float(states('sensor.legrand_consommation_hc_r') | default(0) | round(2) }}

   #####################################
   ##                                 ##
   ##          SENSORS COUTS          ##
   ##      FACTURATION ELECTRICITE    ##
   ##                                 ##
   #####################################

# Sensor Input Number pour insertion du prix de l'Abonnement
#    - name: "Legrand Prix Abonement"
#      unique_id: legrand_prix_abonement
#      unit_of_measurement: "€"
#      state: >-
#        {{ states('input_num.legrand_prix_abonement') | default(0) | round(2) }}


#    - name: "Legrand Prix kWh Base"
#      unique_id: legrand_prix_kwh_base
#      unit_of_measurement: "€"
#      state: >-
#        {{ states('input_num.legrand_prix_kwh_base') | default(0) | round(2) }}

input_number:
# Sensor Input Number pour insertion du prix de l'Abonnement
 legrand_prix_abonnement:
    name: Legrand Prix Abonnement 9kVA
    initial: 15.79
    min: 0
    max: 500
    step: 0.01
    mode: box 
    unit_of_measurement: "€ / Mois"
    icon: mdi:currency-eur
# Sensor Input Number pour insertion du prix du kwh en Base, à dupliquer pour les multi tarif
 legrand_prix_kwh_base:
    name: Legrand Prix kWh Base 
    initial: 25.16 
    min: 0
    max: 500
    step: 0.01
    mode: box 
    unit_of_measurement: "€ /kWh"
    icon: mdi:flash-red-eye

Il suffit de créer des entrées de type capteur d’intégrale de Riemann si je ne me trompe pas

1 « J'aime »

Parfait, un grand merci à toi j’ai désormais toutes les infos qu’il me faut dans Energie.
Pour info pouvoir mettre les infos de l’éco compteur dans Energie suite au type de capteur d’intégrale, il faut ajouter un device_energy dans configuration.yaml:


# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
homeassistant:
  packages: !include_dir_named packages/
  customize:
    sensor.conso_vmc_eco_compteur:
      device_class: energy
    sensor.conso_eau_chaude_eco_compteur:
      device_class: energy
    sensor.conso_chauffage_3:
      device_class: energy
    sensor.conso_prise_eco_compteur:
      device_class: energy
    sensor.conso_lumiere_eco_compteur:
      device_class: energy

Configuration.yaml :


# Loads default set of integrations. Do not remove.
default_config:


# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
homeassistant:
 packages: !include_dir_merge_named packages/

legrand412000.yaml

   #####################################
   ##                                 ##
   ##       LECTURE DES JSON          ##
   ##                                 ##
   #####################################

command_line:
  - sensor:
# Appel pour récupérer le data.json suivant adresse Ip de l'Eco Compteur  
      command: curl -s 'http://192.168.1.133/data.json' | jq > /config/packages/Legrand/data.json
      name: Data JSON
      unique_id: data_json
      value_template: "OK"
      scan_interval: 20 # A CHOISIR ?
      command_timeout: 60 # temps maxi pour retour (pas obligatoire)
  - sensor:
# Commande Récupération Valeur data.json
      command: grep "" /config/packages/Legrand/data.json | jq
      name: Données du Json
      unique_id: sensor.donnees_du_json
      value_template: "OK"
      json_attributes:
        - option_tarifaire
        - tarif_courant
        - isousc
        - conso_base
        - conso_hc
        - conso_hp
        - conso_hc_b
        - conso_hp_b
        - conso_hc_w
        - conso_hp_w
        - conso_hc_r
        - conso_hp_r
        - type_imp_0
        - type_imp_1
        - type_imp_2
        - type_imp_3
        - type_imp_4
        - type_imp_5
        - label_entree1
        - label_entree2
        - label_entree3
        - label_entree4
        - label_entree5
        - label_entree_imp0
        - label_entree_imp1
        - label_entree_imp2
        - label_entree_imp3
        - label_entree_imp4
        - label_entree_imp5
        - entree_imp0_disabled
        - entree_imp1_disabled
        - entree_imp2_disabled
        - entree_imp3_disabled
        - entree_imp4_disabled
        - entree_imp5_disabled

  - sensor:
# Appel pour récupérer le inst.json suivant adresse Ip de l'Eco Compteur  
      command: curl -s 'http://192.168.1.133/inst.json'
      name: "Compteur Individuel JSON"
      unique_id: compteur_individuel_json
      value_template: "ok"
      scan_interval: 1
      json_attributes:
        - data1
        - data2
        - data3
        - data4
        - data5
        - data6
        - data6m3
        - data7
        - data7m3
        - heure
        - minute
        - CIR1_Nrj
        - CIR1_Vol
        - CIR2_Nrj
        - CIR2_Vol
        - CIR3_Nrj
        - CIR3_Vol
        - CIR4_Nrj
        - CIR4_Vol
        - Date_Time

   #####################################
   ##                                 ##
   ##       CREATION DES ENTITES      ##
   ##           SOUHAITEES            ##
   ##                                 ##
   #####################################
   
template:
  - sensor:
        
# Template de data.json
    - name: "Valeur Tarif"
      unique_id: valeur_tarif
      state: >
        {{ state_attr('sensor.donnees_du_json','tarif_courant')}}
        
    - name: "Valeur Intensité"
      unique_id: valeur_intensite
      unit_of_measurement: "A"
      state: >
        {{ state_attr('sensor.donnees_du_json','isousc')}}
        
    - name: "Index conso"
      unique_id: index_conso
      unit_of_measurement: "kWh"
      state: >
        {{ state_attr('sensor.donnees_du_json','conso_base') / 1000}}
        
    - name: "Nom data1"
      unique_id: nom_data1
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree1')}}
        
    - name: "Nom data2"
      unique_id: nom_data2
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree2')}}
        
    - name: "Nom data3"
      unique_id: nom_data3
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree3')}}
        
    - name: "Nom data4"
      unique_id: nom_data4
      state: >
        {{ state_attr('sensor.donnees_du_json','label_entree4')}}
        
# Template de inst.json
    - name: 'Conso PC Info'
      unique_id: conso_pc_info
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data1')}}
      
    - name: 'Conso Eclairage'
      unique_id: conso_eclairage
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data2')}}
      
    - name: 'Conso Chauffage'
      unique_id: conso_chauffae
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data3')}}
      
    - name: 'Conso Chaudiere'
      unique_id: conso_chaudiere
      unit_of_measurement: "W"
      state: >
        {{ state_attr('sensor.compteur_individuel_json','data4')}}
    

   #####################################
   ##                                 ##
   ##       SENSORS & TEMPLATES       ##
   ##    CONSOMMATIONS ELECTRIQUE     ##
   ##                                 ##
   #####################################

# Tarif en Cours Donnée Brute
# Valeurs : 0 = Base
# Valeurs : 2 = Pleine / 1 = Creuse
# Valeurs : 8 = Pleine bleu / 5 = Creuse bleu
# Valeurs : 9 = Pleine blanc / 6 = Creuse blanc
# Valeurs : 10 = Pleine rouge / 7 = Creuse rouge

# Transformation Tarif en Cours > Tranche Tarifaire
#    - name: "Tranche Tarifaire"
#      unique_id: tranche_tarifaire
#      state: >
#        {% if is_state('sensor.valeur_tarif', '0') %}
#          Base
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '10') %}
#          Heure Pleine ROUGE
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '9') %}
#          Heure Pleine BLANC
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '8') %}
#          Heure Pleine BLEU
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '7') %}
#          Heure Creuse ROUGE
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '6') %}
#          Heure Creuse BLANC
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '5') %}
#          Heure Creuse BLEU
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '2') %}
#          Heure Pleine
#        {% else %}
#        {% if is_state('sensor.valeur_tarif', '1') %}
#          Heure Creuse 
#        {% endif %}

   #####################################
   ##                                 ##
   ##             RELEVES             ##
   ##           ABONNEMENT            ##
   ##                                 ##
   #####################################

# Puissance Souscrite
    - name: "Puissance Abonnement Souscrite"
      unique_id: puissance_abonnement_souscrite
      unit_of_measurement: 'kVA'
      state: >
        {% set i = states('sensor.valeur_intensite') | float(default=0) %} 
        {{ ( i / 5 ) | round(2) }}
        

   #####################################
   ##                                 ##
   ##         SENSORS CALCULS         ##
   ##        CONSOMMATION HC/HP       ##
   ##                                 ##
   #####################################

# Les Sensors ci-après permettent d'aditionner les conso issues de DATA.JSON de HP - HC y compris en tarif TEMPO
# Les sensors sont à adaptés en prenant comme base les premiers Templates
# Calcul Consommation Totale (HP + HC)
#        - name: "Legrand Consommation Totale"
#          unit_of_measurement: "kWh"
#          state: >
#            {{ float(states('sensor.legrand_consommation_hp') + #float(states.sensor.legrand_consommation_hc') | default(0) | round(2) }}

# Calcul Consommation Totale Tempo ou équivalent
#        - name: "Legrand Consommation Totale"
#          unit_of_measurement: "kWh"
#          state: >
#            {{ float(states('sensor.legrand_consommation_hp_b') + #float(states.sensor.legrand_consommation_hc_b') + #float(states('sensor.legrand_consommation_hp_w') + #float(states('sensor.legrand_consommation_hc_w') + #float(states('sensor.legrand_consommation_hp_r') + #float(states('sensor.legrand_consommation_hc_r') | default(0) | round(2) }}

   #####################################
   ##                                 ##
   ##          SENSORS COUTS          ##
   ##      FACTURATION ELECTRICITE    ##
   ##                                 ##
   #####################################

# Sensor Input Number pour insertion du prix de l'Abonnement
#    - name: "Legrand Prix Abonement"
#      unique_id: legrand_prix_abonement
#      unit_of_measurement: "€"
#      state: >-
#        {{ states('input_num.legrand_prix_abonement') | default(0) | round(2) }}


#    - name: "Legrand Prix kWh Base"
#      unique_id: legrand_prix_kwh_base
#      unit_of_measurement: "€"
#      state: >-
#        {{ states('input_num.legrand_prix_kwh_base') | default(0) | round(2) }}

input_number:
# Sensor Input Number pour insertion du prix de l'Abonnement
 legrand_prix_abonnement:
    name: Legrand Prix Abonnement 9kVA
    initial: 15.79
    min: 0
    max: 500
    step: 0.01
    mode: box 
    unit_of_measurement: "€ / Mois"
    icon: mdi:currency-eur
# Sensor Input Number pour insertion du prix du kwh en Base, à dupliquer pour les multi tarif
 legrand_prix_kwh_base:
    name: Legrand Prix kWh Base 
    initial: 25.16 
    min: 0
    max: 500
    step: 0.01
    mode: box 
    unit_of_measurement: "€ /kWh"
    icon: mdi:flash-red-eye

Le fichier data.json est vide

Merci beaucoup

Salut @cleminfo
Il semblerait qu’il manque un espace devant la ligne package du fichier configuration