# Comprendre et déchiffrer les erreurs d'un Package

**URL:** <https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058>\
**Category:** Entraide Home Assistant\
**Tags:** aide\
**Created:** [Janvier 21, 2024, 12:14 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058 "2024-01-21T00:14:00Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![Yoyouri](https://forum.hacf.fr/user_avatar/forum.hacf.fr/yoyouri/32/19995_2.png) [@Yoyouri](https://forum.hacf.fr/u/Yoyouri)\
**Post date:** [Janvier 24, 2024, 10:30 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/41 "2024-01-24T10:30:32Z")

</div>

J’essai plus tranquillement ce soir

je vous tiendrais au courant

encore merci

---

<div class="post-metadata">

**Author:** ![Doubledom](https://forum.hacf.fr/user_avatar/forum.hacf.fr/doubledom/32/9606_2.png) [@Doubledom](https://forum.hacf.fr/u/Doubledom)\
**Post date:** [Janvier 24, 2024, 10:31 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/42 "2024-01-24T10:31:09Z")

</div>

Sinon quand nous sommes dispo, on passe en MP !

---

<div class="post-metadata">

**Author:** ![cob94440](https://forum.hacf.fr/user_avatar/forum.hacf.fr/cob94440/32/692_2.png) [@cob94440](https://forum.hacf.fr/u/cob94440)\
**Post date:** [Janvier 24, 2024, 10:43 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/43 "2024-01-24T10:43:20Z")

</div>

Je suis indulgent et ce n’est pas méchant. Mais il faut aussi se forcer à comprendre ce qu’on fait.  
Copier un code c st bien mais il faut l’adapter et le comprendre. Quid demain si quelqu’un met un code qui donne accès a sa domotique et remonte les infos de sécurité.  
Tout le monde n’est pas bienveillant.

---

<div class="post-metadata">

**Author:** ![cob94440](https://forum.hacf.fr/user_avatar/forum.hacf.fr/cob94440/32/692_2.png) [@cob94440](https://forum.hacf.fr/u/cob94440)\
**Post date:** [Janvier 24, 2024, 10:43 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/44 "2024-01-24T10:43:54Z")

</div>

Non il faut créer ces entités.

---

<div class="post-metadata">

**Author:** ![Doubledom](https://forum.hacf.fr/user_avatar/forum.hacf.fr/doubledom/32/9606_2.png) [@Doubledom](https://forum.hacf.fr/u/Doubledom)\
**Post date:** [Janvier 24, 2024, 10:45 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/45 "2024-01-24T10:45:36Z")

</div>

Effectivement comme dit plus haut, mais c’est vrai que cela lui est compliqué !

> [@Doubledom](#):
>
> Il faut alors créé les inputs sinon seront indisponible, là c’est sûr !  
> Et surtout regardé ou sont les références à ces `input_text` , si dans calcul ou Dashboard Energy ?

Edit: je n’avais pas vu que l’on en avait déjà discuté sur autre fil ! [→](https://forum.hacf.fr/t/ecocompteur-legrand-v1-avec-tempo-probleme-command-line-depuis-maj/34684) 🙃

---

<div class="post-metadata">

**Author:** ![Yoyouri](https://forum.hacf.fr/user_avatar/forum.hacf.fr/yoyouri/32/19995_2.png) [@Yoyouri](https://forum.hacf.fr/u/Yoyouri)\
**Post date:** [Janvier 24, 2024, 11:22 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/46 "2024-01-24T11:22:23Z")

</div>

Re  
Je veux bien avoir votre avis sur ce point dont je n’ai pas eu de réponse me semble t’il !

> [@Yoyouri](#):
>
> Merci, mais j’ai beau lire le lien communiqué, je ne sais pas s’il faut que je garde le YAML `command_line` et que j’y transfert les autres `ˋcommand_line` ˋ que j’ai dans le `packagge` ou que je peux tous mettre dans le package et supprimé le YAML `command_line` sachant que je préfèrerais la deuxième solution

Et merci pour votre aide

---

<div class="post-metadata">

**Author:** ![Doubledom](https://forum.hacf.fr/user_avatar/forum.hacf.fr/doubledom/32/9606_2.png) [@Doubledom](https://forum.hacf.fr/u/Doubledom)\
**Post date:** [Janvier 24, 2024, 11:31 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/47 "2024-01-24T11:31:49Z")

</div>

La structure des fichiers YAML est évidement plus simple à comprendre si chaque truc dans son coin !  
Avec des appels depuis le configuration.yaml des différents YAML( ou groupe de YAML) que tu pourrais avoir besoin ! Il y a pas mal d’info sur des topics du Forum !

> **Un exemple**
>
> ```auto
> frontend:
> themes: !include_dir_merge_named themes/
> automation: !include automations.yaml
> script: !include script.yaml
> scene: !include scene.yaml
> command_line: !include ligne_commande.yaml
> switch: !include switch.yaml
> template: !include template.yaml
> sensor: !include sensor_mba_jeedom.yaml
> climate: !include radiateur.yaml
> rest_command: !include rest_command.yaml
> homeassistant:
> customize: !include customize.yaml
> 
> mqtt:
> sensor: !include mqtt.yaml
> 
> ```

Les noms [des fichiers,` .yaml`]peuvent être nommés comme tu veux, du moment que le nom d’entête soit le bon !  
Après attention aux structures des différents fichiers !

---

<div class="post-metadata">

**Author:** ![Yoyouri](https://forum.hacf.fr/user_avatar/forum.hacf.fr/yoyouri/32/19995_2.png) [@Yoyouri](https://forum.hacf.fr/u/Yoyouri)\
**Post date:** [Janvier 24, 2024, 12:19 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/48 "2024-01-24T12:19:08Z")

</div>

Pour le coup pour moi ça me semble beaucoup plus logique de mettre dans le même fichier tous ce qui concerne le même équipement et non en fonction du type de requête

D’ailleurs j’ai pas compris hormis le nom et la structure de présentation la différence entre les ˋ`command_line ˋ` et les ˋ`templates`ˋ

Donc si je comprends bien je peux mettre les command\_line dans mon package !

---

<div class="post-metadata">

**Author:** ![Doubledom](https://forum.hacf.fr/user_avatar/forum.hacf.fr/doubledom/32/9606_2.png) [@Doubledom](https://forum.hacf.fr/u/Doubledom)\
**Post date:** [Janvier 24, 2024, 12:23 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/49 "2024-01-24T12:23:10Z")

</div>

C’est pour cela que l’on peut faire dans des groupes , après chacun fait un peu à sa façon , au début on fait simple et ensuite on dédie un fichier pour certain truc ! La facilité pour faire des évolutions ou modifications, surtout vu les changements sur le core de HA. ( je sais pas si les `template` vont restés ainsi !)

---

<div class="post-metadata">

**Author:** ![Yoyouri](https://forum.hacf.fr/user_avatar/forum.hacf.fr/yoyouri/32/19995_2.png) [@Yoyouri](https://forum.hacf.fr/u/Yoyouri)\
**Post date:** [Janvier 24, 2024, 11:49 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/50 "2024-01-24T23:49:43Z")

</div>

Re, encore moi  
j’ai toujours cette erreur malgré que j’ai créé les 2 inputs

```auto
Logger: homeassistant.config
Source: config.py:596
First occurred: 00:47:28 (9 occurrences)
Last logged: 00:47:28

Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 436: 'name' is an invalid option for 'template', check: name Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 437: 'unit_of_measurement' is an invalid option for 'template', check: unit_of_measurement Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 438: 'state' is an invalid option for 'template', check: state
Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 496: 'name' is an invalid option for 'template', check: name Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 497: 'unit_of_measurement' is an invalid option for 'template', check: unit_of_measurement Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 498: 'state' is an invalid option for 'template', check: state
Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 519: 'name' is an invalid option for 'template', check: name Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 520: 'unit_of_measurement' is an invalid option for 'template', check: unit_of_measurement Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 521: 'state' is an invalid option for 'template', check: state
Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 543: 'name' is an invalid option for 'template', check: name Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 544: 'unit_of_measurement' is an invalid option for 'template', check: unit_of_measurement Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 545: 'state' is an invalid option for 'template', check: state
Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 567: 'name' is an invalid option for 'template', check: name Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 568: 'unit_of_measurement' is an invalid option for 'template', check: unit_of_measurement Invalid config for 'template' at packages/package_legrand_ecocompteur.yaml, line 569: 'state' is an invalid option for 'template', check: state

```

Que faire ?

---

<div class="post-metadata">

**Author:** ![Herbs](https://forum.hacf.fr/user_avatar/forum.hacf.fr/herbs/32/8029_2.png) [@Herbs](https://forum.hacf.fr/u/Herbs)\
**Post date:** [Janvier 25, 2024, 5:59 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/51 "2024-01-25T05:59:44Z")

</div>

Salut @Yoyouri

Tu devrais, repartager le code 😉

---

<div class="post-metadata">

**Author:** ![cob94440](https://forum.hacf.fr/user_avatar/forum.hacf.fr/cob94440/32/692_2.png) [@cob94440](https://forum.hacf.fr/u/cob94440)\
**Post date:** [Janvier 25, 2024, 8:48 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/52 "2024-01-25T08:48:09Z")

</div>

C’est certain qu’il a encore des erreurs d’indentation.

---

<div class="post-metadata">

**Author:** ![Doubledom](https://forum.hacf.fr/user_avatar/forum.hacf.fr/doubledom/32/9606_2.png) [@Doubledom](https://forum.hacf.fr/u/Doubledom)\
**Post date:** [Janvier 25, 2024, 8:48 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/53 "2024-01-25T08:48:22Z")

</div>

Salut…  
Il faut que tu vérifie si tes sensors existent dans les lignes concernées !  
cela te le précise:

```auto
invalid option for 'template', check: name Invalid

```

```auto
#Ligne 434# Sensor Input Text Prix kwh Base
  - name: "Legrand Prix kWh Base"
    unit_of_measurement: "€"
    state: >-
      {{ states('input_text.legrand_prix_kwh_base') | default(0) | round(2) }}

```

```auto
#Ligne 494# Calcul Coût Quotidien
  - name: "Coût Quotidien"
    unit_of_measurement: '€'
    state: >-
      {% set a = states('sensor.energy_daily_cost') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{(a + base) | round(2) }}

```

```auto
#Ligne 516 # Calcul Coût Hebdomadaire

  - name: "Coût Hebdomadaire"
    unit_of_measurement: '€'
    state: >-
      {% set a = states('sensor.energy_daily_cost') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{ ((a * 7) + base) | round(2) }}

```

```auto
#Ligne 541 # Calcul Coût Mensuel
  - name: "Coût Mensuel"
    unit_of_measurement: '€'
    state: >-
      {% set a = states('sensor.electricite_prix_abo') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{ (a + base) | round(2) }}

```

```auto
#Ligne 565 # Calcul Coût Annuel
  - name: "Coût Annuel"
    unit_of_measurement: '€'
    state: >-
      {% set p = states('sensor.legrand_yearly_energy_peak') | float(default=0) %}
      {% set o = states('sensor.legrand_yearly_energy_offpeak') | float(default=0) %}
      {% set a = states('sensor.electricite_prix_abo') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{ ((a * 12) + base) | round(2) }}

```

---

<div class="post-metadata">

**Author:** ![cob94440](https://forum.hacf.fr/user_avatar/forum.hacf.fr/cob94440/32/692_2.png) [@cob94440](https://forum.hacf.fr/u/cob94440)\
**Post date:** [Janvier 25, 2024, 9:25 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/54 "2024-01-25T09:25:16Z")

</div>

Ce code c’est dans le cas où il a un fichier template.yaml  
Si c’est un fichier package qui commence par template, les name seront au même niveau que sensor et donc ça ne sera pas bon  
D’où l’utilité de partager son fichier.

---

<div class="post-metadata">

**Author:** ![Doubledom](https://forum.hacf.fr/user_avatar/forum.hacf.fr/doubledom/32/9606_2.png) [@Doubledom](https://forum.hacf.fr/u/Doubledom)\
**Post date:** [Janvier 25, 2024, 10:20 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/55 "2024-01-25T10:20:31Z")

</div>

De toute façon, même si tu reprends son fichier

- [il doit y avoir d’autres ou des inputs et template de définis].

Les erreurs ne sont pas aux indentations mais surtout que les noms [name] n’existe pas, donc vérifications de ces références dans les «&nbsp;state :&nbsp;» et surtout voir comment est écrit réellement son fichier chez lui comme tu le dis ! @cob94440  
Facile la copie, encore faut-il comprendre le sens du YAML @Yoyouri , il faut structuré ton fichier !

---

<div class="post-metadata">

**Author:** ![cob94440](https://forum.hacf.fr/user_avatar/forum.hacf.fr/cob94440/32/692_2.png) [@cob94440](https://forum.hacf.fr/u/cob94440)\
**Post date:** [Janvier 25, 2024, 12:25 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/56 "2024-01-25T12:25:33Z")

</div>

> [@Doubledom](#):
>
> fichier

Il me semble qu’il est en mode package vu son fichier ou il a du customize dedans.  
Je pense plutôt qu’au lieu de faire :

```auto
template:
  - sensor:
      - name:

```

Il a :

```auto
template:
  - sensor:
  - name:

```

Voir peut être même pas sensor d’où l’erreur que name n’est pas une option valide de template.

---

<div class="post-metadata">

**Author:** ![Yoyouri](https://forum.hacf.fr/user_avatar/forum.hacf.fr/yoyouri/32/19995_2.png) [@Yoyouri](https://forum.hacf.fr/u/Yoyouri)\
**Post date:** [Janvier 25, 2024, 12:27 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/57 "2024-01-25T12:27:23Z")

</div>

Salut

> [@Herbs](#):
>
> Tu devrais, repartager le code 😉

Le voici

```auto

#---
   ############################################################
   ## ##
   ## PACKAGE LEGRAND ECO-COMPTEUR ##
   ## ##
   ############################################################
homeassistant:
   ############################################################
   ## ##
   ## CUSTOMIZE ##
   ## ##
   ############################################################

  customize:

    #################
    ## Node Anchors #
    #################
    package.node_anchors:
      customize: &customize
        package: 'package_legrand_ecocompteur'

    ##########################################
    ## Personnalisation Sensors Circuits #
    ##########################################

# Circuit 1 = label_entree1
    sensor.legrand_puissance_circuit_1:
      <<: *customize
      friendly_name: "Infos PC"
      icon: mdi:alpha-w-circle-outline

# Circuit 2 = label_entree2
    sensor.legrand_puissance_circuit_2:
      <<: *customize
      friendly_name: "Éclairage"
      icon: mdi:alpha-w-circle-outline

# Circuit 3 = label_entree3
    sensor.legrand_puissance_circuit_3:
      <<: *customize
      friendly_name: "Chauffage"
      icon: mdi:alpha-w-circle-outline

# Circuit 4 = label_entree4
    sensor.legrand_puissance_circuit_4:
      <<: *customize
      friendly_name: "Chaudière"
      icon: mdi:alpha-w-circle-outline

# Circuit 5 = label_entree5
# sensor.legrand_puissance_circuit_5:
# <<: *customize
# friendly_name: "Piscine"
# icon: mdi:alpha-w-circle-outline

    #################################################################
    ## Personnalisation Sensors Tableau Consommation Electrique #
    #################################################################

    sensor.legrand_base:
      <<: *customize
      friendly_name: "Legrand Tarif en Cours"
      icon: mdi:av-timer

# sensor.legrand_hchp:
# <<: *customize
# friendly_name: "Legrand Tarif en Cours"
# icon: mdi:av-timer

    sensor.legrand_intensite_souscrite:
      <<: *customize
      friendly_name: "Legrand Intensité Souscrite"
      icon: mdi:alpha-w-circle-outline

    sensor.legrand_puissance_souscrite:
      <<: *customize
      friendly_name: "Legrand Puissance Abonnement"
      icon: mdi:alpha-w-circle-outline

    ##########################################
    ## Personnalisation Sensors Circuits #
    ##########################################

    sensor.legrand_consommation_base:
      <<: *customize
      friendly_name: "Legrand Conso."
      icon: mdi:counter

# sensor.legrand_consommation_hp:
# <<: *customize
# friendly_name: "Legrand Conso. Heures Pleines"
# icon: mdi:counter

# sensor.legrand_consommation_hc:
# <<: *customize
# friendly_name: "Legrand Conso. Heures Creuses"
# icon: mdi:counter

# sensor.legrand_consommation_hp_b:
# <<: *customize
# friendly_name: "Legrand Conso. Heures Pleines Bleu"
# icon: mdi:counter

# sensor.legrand_consommation_hc_b:
# <<: *customize
# friendly_name: "Legrand Conso. Heures Creuses Bleu"
# icon: mdi:counter

# sensor.legrand_consommation_hp_w:
# <<: *customize
# friendly_name: "Legrand Conso. Heures Pleines Blanc"
# icon: mdi:counter

# sensor.legrand_consommation_hc_w:
# <<: *customize
# friendly_name: "Legrand Conso. Heures Creuses Blanc"
# icon: mdi:counter

# sensor.legrand_consommation_hp_r:
# <<: *customize
# friendly_name: "Legrand Conso. Heures Pleines Rouge"
# icon: mdi:counter

# sensor.legrand_consommation_hc_r:
# <<: *customize
# friendly_name: "Legrand Conso. Heures Creuses Rouge"
# icon: mdi:counter

    sensor.legrand_tarif_en_cours:
      <<: *customize
      friendly_name: "Legrand Indicateur Tarif en Cours"
      icon: mdi:counter

    ###########################################
    ## Personnalisation Conso Electricité #
    ###########################################

    sensor.legrand_conso_totale:
      <<: *customize
      friendly_name: "Legrand Conso. Totale"
      icon: mdi:counter

# Personnalisation Electricité Utility Meter

    sensor.energy_daily_cost:
      <<: *customize
      friendly_name: "Legrand Conso. Electr. Quotid."
      icon: mdi:counter

    sensor.energy_weekly_cost:
      <<: *customize
      friendly_name: "Legrand Conso. Electr. Hebdo."
      icon: mdi:counter

    sensor.energy_monthly_cost:
      <<: *customize
      friendly_name: "Legrand Conso. Electr. Mensuelle"
      icon: mdi:counter

    sensor.energy_yearly_cost:
      <<: *customize
      friendly_name: "Legrand Conso. Electr. Annuelle"
      icon: mdi:counter

    ###################################
    ## Personnalisation Conso Eau #
    ###################################

# Compteur Eau
# sensor.legrand_consommation_totale_eau_m3:
# <<: *customize
# friendly_name: "Legrand Conso. Totale Eau"
# icon: mdi:water

# Personnalisation Eau Utility Meter

# sensor.water_daily_total:
# <<: *customize
# friendly_name: "Legrand Conso. Eau Quotid."
# icon: mdi:water

# sensor.water_weekly_total:
# <<: *customize
# friendly_name: "Legrand Conso. Eau Hebdo."
# icon: mdi:water

# sensor.water_monthly_total:
# <<: *customize
# friendly_name: "Legrand Conso. Eau Mensuelle"
# icon: mdi:water

# sensor.water_yearly_total:
# <<: *customize
# friendly_name: "Legrand Conso. Eau Annuelle"
# icon: mdi:water

   #####################################
   ## ##
   ## SENSORS PUISSANCES ##
   ## INSTANTANEES ##
   ## ##
   #####################################

sensor:

# ELECTRICITE

# Commande Récupération Valeur Puissances Instantanées Circuit 1
  - platform: rest
    resource: !secret Legrand_Source_Instantanes
    name: Legrand Puissance Circuit 1
    value_template: '{{ value_json.data1| round(0) }}'
    device_class: power
    unit_of_measurement: W

# Commande Récupération Valeur Puissances Instantanées Circuit 2

  - platform: rest
    resource: !secret Legrand_Source_Instantanes
    name: Legrand Puissance Circuit 2
    value_template: '{{ value_json.data2| round(0) }}'
    device_class: power
    unit_of_measurement: W

# Commande Récupération Valeur Puissances Instantanées Circuit 3
  - platform: rest
    resource: !secret Legrand_Source_Instantanes
    name: Legrand Puissance Circuit 3
    value_template: '{{ value_json.data3| round(0) }}'
    device_class: power
    unit_of_measurement: W

# Commande Récupération Valeur Puissances Instantanées Circuit 4
  - platform: rest
    resource: !secret Legrand_Source_Instantanes
    name: Legrand Puissance Circuit 4
    value_template: '{{ value_json.data4| round(0) }}'
    device_class: power
    unit_of_measurement: W

# Commande Récupération Valeur Puissances Instantanées Circuit 5
# - platform: rest
# resource: !secret Legrand_Source_Instantanes
# name: Legrand Puissance Circuit 5
# value_template: '{{ value_json.data5| round(0) }}'
# device_class: power
# unit_of_measurement: W

# EAU

# Commande Récupération Valeur Volume Conso Total Eau (m3) 
# - platform: rest
# resource: !secret Legrand_Source_Instantanes
# name: Legrand Consommation Totale Eau m3
# value_template: '{{ value_json.data6m3 }}'
# unit_of_measurement: m3

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

#Copié dans fichier Command_line
# - platform: command_line
# name: "Legrand Tarif en Cours"
# command: !secret Legrand_Cmd_Tarif_Courant
# scan_interval: 10

# Transformation Tarif en Cours > Tranche Tarifaire
template:
  - sensor:
      entity_id: sensor.legrand_tarif_en_cours
      state: >
        {% if is_state('sensor.tarif_en_cours', '0') %}
        Base
        {% if is_state('sensor.legrand_tarif_en_cours', '10') %}
        Heure Pleine ROUGE
        {% if is_state('sensor.legrand_tarif_en_cours', '9') %}
        Heure Pleine BLANC
        {% if is_state('sensor.legrand_tarif_en_cours', '8') %}
        Heure Pleine BLEU
        {% if is_state('sensor.legrand_tarif_en_cours', '7') %}
        Heure Creuse ROUGE
        {% if is_state('sensor.legrand_tarif_en_cours', '6') %}
        Heure Creuse BLANC
        {% if is_state('sensor.legrand_tarif_en_cours', '5') %}
        Heure Creuse BLEU
        {% if is_state('sensor.legrand_tarif_en_cours', '2') %}
        Heure Pleine
        {% if is_state('sensor.legrand_tarif_en_cours', '1') %}
        Heure Creuse 
        {% endif %}

   #####################################
   ## ##
   ## RELEVES ##
   ## ABONNEMENT ##
   ## ##
   #####################################
#Copié dans fichier Command_line
# Intensité Souscrite
# - platform: command_line
# name: Legrand Intensité Souscrite
# command: !secret Legrand_Cmd_Intensite_Souscrite
# scan_interval: 60
# unit_of_measurement: A

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

#Déjà dans fichier Command_line
# Conso. Base
# - platform: command_line
# name: Legrand Consommation Base
# command: !secret Legrand_Cmd_Conso_Base
# scan_interval: 10
# unit_of_measurement: kWh

# Conso. HC_b
# - platform: command_line
# name: Legrand Consommation HC_b
# command: !secret Legrand_Cmd_Conso_HC_b
# scan_interval: 10
# unit_of_measurement: kWh

# Conso. HP_b
# - platform: command_line
# name: Legrand Consommation HP_b
# command: !secret Legrand_Cmd_Conso_HP_b
# scan_interval: 10
# unit_of_measurement: kWh

# Conso. HC_w
# - platform: command_line
# name: Legrand Consommation HC_w
# command: !secret Legrand_Cmd_Conso_HC_w
# scan_interval: 10
# unit_of_measurement: kWh

# Conso. HP_w
# - platform: command_line
# name: Legrand Consommation HP_w
# command: !secret Legrand_Cmd_Conso_HP_w
# scan_interval: 10
# unit_of_measurement: kWh

# Conso. HC_r
# - platform: command_line
# name: Legrand Consommation HC_r
# command: !secret Legrand_Cmd_Conso_HC_r
# scan_interval: 10
# unit_of_measurement: kWh

# Conso. HP_r
# - platform: command_line
# name: Legrand Consommation HP_r
# command: !secret Legrand_Cmd_Conso_HP_r
# scan_interval: 10
# unit_of_measurement: kWh
    

   #####################################
   ## ##
   ## SENSORS CALCULS ##
   ## CONSOMMATION ##
   ## ##
   #####################################

# Calcul Consommation Totale (Base)
  - name: "Legrand Consommation Totale"
    unit_of_measurement: "kWh"
    state: >-
      {{ states('sensor.legrand_consommation_base') | float(default=0) | round(2) }}

# Calcul Consommation Totale (HP_b + HC_b + HP_W + HC_w + HP_r + HC_r)
# - 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 Text Abonnement
  - name: "Legrand Prix Abo"
    unit_of_measurement: "€"
    state: >-
      {{ states('input_text.legrand_prix_abo') | default(0) | round(2) }}

# Sensor Input Text Prix kwh Base
  - name: "Legrand Prix kWh Base"
    unit_of_measurement: "€"
    state: >-
      {{ states('input_text.legrand_prix_kwh_base') | default(0) | round(2) }}

# Sensor Input Text Prix kwh HP_b
# - name: "Legrand Prix kWh HP_b"
# unit_of_measurement: "€"
# state: >
# {{ states('input_text.legrand_prix_kwh_hp_b') | default(0) | round(2) }}
# icon_template: mdi:currency-eur

# Sensor Input Text Prix Kwh HC_b
# - name: "Legrand Prix kWh HC_b"
# unit_of_measurement: "€"
# state: >
# {{ states('input_text.legrand_prix_kwh_hc_b') | default(0) | round(2) }}
# icon_template: mdi:currency-eur

# Sensor Input Text Prix kwh HP_w
# - name: "Legrand Prix kWh HP_w"
# unit_of_measurement: "€"
# state: >
# {{ states('input_text.legrand_prix_kwh_hp_w') | default(0) | round(2) }}
# icon_template: mdi:currency-eur

# Sensor Input Text Prix Kwh HC_w
# - name: "Legrand Prix kWh HC_w"
# unit_of_measurement: "€"
# state: >
# {{ states('input_text.legrand_prix_kwh_hc_w') | default(0) | round(2) }}
# icon_template: mdi:currency-eur

# Sensor Input Text Prix kwh HP_r
# - name: "Legrand Prix kWh HP_r"
# unit_of_measurement: "€"
# state: >
# {{ states('input_text.legrand_prix_kwh_hp_r') | default(0) | round(2) }}
# icon_template: mdi:currency-eur

# Sensor Input Text Prix Kwh HC_r
# - name: "Legrand Prix kWh HC_r"
# unit_of_measurement: "€"
# state: >
# {{ states('input_text.legrand_prix_kwh_hc_r') | default(0) | round(2) }}
# icon_template: mdi:currency-eur

     ###########################################
     ## CALCULS CONSOMMATIONS TOTALES ##
     ###########################################

       #########################
       ## ELECTRICITE ##
       #########################

## CALCULS FACTURATION ELECTRICITE

# Calcul Coût Quotidien
  - name: "Coût Quotidien"
    unit_of_measurement: '€'
    state: >-
      {% set a = states('sensor.energy_daily_cost') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{(a + base) | round(2) }}

# Calcul Coût Quotidien
# - name: Electricité Coût Quotdien
# unit_of_measurement: '€'
# state: >
# {% set a = states('sensor.electricite_prix_abo') | float(default=0) %}
# {% set hp_b = states('sensor.electricite_prix_kwh_hp_b') | float(default=0) %}
# {% set hc_b = states('sensor.electricite_prix_kwh_hc_b') | float(default=0) %}
# {% set hp_w = states('sensor.electricite_prix_kwh_hp_w') | float(default=0) %}
# {% set hc_w = states('sensor.electricite_prix_kwh_hc_w') | float(default=0) %}
# {% set hc_r = states('sensor.electricite_prix_kwh_hp_r') | float(default=0) %}
# {% set hp_r = states('sensor.electricite_prix_kwh_hc_r') | float(default=0) %}
# {{((hp_b + hp_w + hp_r) + (hc_b + hc_w + hc_r ))| round(2) }}
# icon_template: mdi:currency-eur

# Calcul Coût Hebdomadaire

  - name: "Coût Hebdomadaire"
    unit_of_measurement: '€'
    state: >-
      {% set a = states('sensor.energy_daily_cost') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{ ((a * 7) + base) | round(2) }}

# Calcul Coût Hebdomadaire
#
# - name: "Coût Hebdomadaire"
# unit_of_measurement: '€'
# state: >
# {% set a = states('sensor.energy_daily_cost') | float %}
# {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
# {% set hp_b = states('sensor.electricite_prix_kwh_hp_b') | float(default=0) %}
# {% set hc_b = states('sensor.electricite_prix_kwh_hc_b') | float(default=0) %}
# {% set hp_w = states('sensor.electricite_prix_kwh_hp_w') | float(default=0) %}
# {% set hc_w = states('sensor.electricite_prix_kwh_hc_w') | float(default=0) %}
# {% set hc_r = states('sensor.electricite_prix_kwh_hp_r') | float(default=0) %}
# {% set hp_r = states('sensor.electricite_prix_kwh_hc_r') | float(default=0) %}
# {{ ((a * 7) + base) | round(2) }}
# icon: mdi:currency-eur

# Calcul Coût Mensuel
  - name: "Coût Mensuel"
    unit_of_measurement: '€'
    state: >-
      {% set a = states('sensor.electricite_prix_abo') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{ (a + base) | round(2) }}

# Calcul Coût Mensuel
#
# - name: "Coût Mensuel"
# unit_of_measurement: '€'
# state: >
# {% set a = states('sensor.electricite_prix_abo') | float(default=0) %}
# {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
# {% set hp_b = states('sensor.electricite_prix_kwh_hp_b') | float(default=0) %}
# {% set hc_b = states('sensor.electricite_prix_kwh_hc_b') | float(default=0) %}
# {% set hp_w = states('sensor.electricite_prix_kwh_hp_w') | float(default=0) %}
# {% set hc_w = states('sensor.electricite_prix_kwh_hc_w') | float(default=0) %}
# {% set hc_r = states('sensor.electricite_prix_kwh_hp_r') | float(default=0) %}
# {% set hp_r = states('sensor.electricite_prix_kwh_hc_r') | float(default=0) %}
# {{ (a + base) | round(2) }}
# icon: mdi:currency-eur

# Calcul Coût Annuel
  - name: "Coût Annuel"
    unit_of_measurement: '€'
    state: >-
      {% set p = states('sensor.legrand_yearly_energy_peak') | float(default=0) %}
      {% set o = states('sensor.legrand_yearly_energy_offpeak') | float(default=0) %}
      {% set a = states('sensor.electricite_prix_abo') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{ ((a * 12) + base) | round(2) }}

# Calcul Coût Annuel
#
# - name: "Coût Annuel"
# unit_of_measurement: '€'
# state: >
# {% set p = states('sensor.legrand_yearly_energy_peak') | float(default=0) %}
# {% set o = states('sensor.legrand_yearly_energy_offpeak') | float(default=0) %}
# {% set a = states('sensor.electricite_prix_abo') | float(default=0) %}
# {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
# {% set hp_b = states('sensor.electricite_prix_kwh_hp_b') | float(default=0) %}
# {% set hc_b = states('sensor.electricite_prix_kwh_hc_b') | float(default=0) %}
# {% set hp_w = states('sensor.electricite_prix_kwh_hp_w') | float(default=0) %}
# {% set hc_w = states('sensor.electricite_prix_kwh_hc_w') | float(default=0) %}
# {% set hc_r = states('sensor.electricite_prix_kwh_hp_r') | float(default=0) %}
# {% set hp_r = states('sensor.electricite_prix_kwh_hc_r') | float(default=0) %}
# {{ ((a * 12) + base) | round(2) }}
# icon: mdi:currency-eur

# Calcul Consommation TOTALE Quotidienne ELECTRICITE
# - name: Electricité Consommation Quotidienne Totale
# unit_of_measurement: 'kWh'
# state: >
# {% set hp_b = states('sensor.electricite_prix_kwh_hp_b') | float(default=0) %}
# {% set hc_b = states('sensor.electricite_prix_kwh_hc_b') | float(default=0) %}
# {% set hp_w = states('sensor.electricite_prix_kwh_hp_w') | float(default=0) %}
# {% set hc_w = states('sensor.electricite_prix_kwh_hc_w') | float(default=0) %}
# {% set hc_r = states('sensor.electricite_prix_kwh_hp_r') | float(default=0) %}
# {% set hp_r = states('sensor.electricite_prix_kwh_hc_r') | float(default=0) %}
# {{ ((hp_c + hp_w + hp_r) + (hc_b + hc_w + hc_r)) | round(2) }}
# icon_template: mdi:counter
#
# Calcul Consommation TOTALE Hebdo ELECTRICITE
# - name: Electricité Consommation Hebdo Totale
# unit_of_measurement: 'kWh'
# state: >
# {% set hp_b = states('sensor.electricite_prix_kwh_hp_b') | float(default=0) %}
# {% set hc_b = states('sensor.electricite_prix_kwh_hc_b') | float(default=0) %}
# {% set hp_w = states('sensor.electricite_prix_kwh_hp_w') | float(default=0) %}
# {% set hc_w = states('sensor.electricite_prix_kwh_hc_w') | float(default=0) %}
# {% set hc_r = states('sensor.electricite_prix_kwh_hp_r') | float(default=0) %}
# {% set hp_r = states('sensor.electricite_prix_kwh_hc_r') | float(default=0) %}
# {{ ((hp_c + hp_w + hp_r) + (hc_b + hc_w + hc_r)) | round(2) }}
# icon_template: mdi:counter
#
# Calcul Consommation TOTALE Mensuelle ELECTRICITE
# - name: Electricité Consommation Mensuelle Totale
# unit_of_measurement: 'kWh'
# state: >
# {% set hp_b = states('sensor.electricite_prix_kwh_hp_b') | float(default=0) %}
# {% set hc_b = states('sensor.electricite_prix_kwh_hc_b') | float(default=0) %}
# {% set hp_w = states('sensor.electricite_prix_kwh_hp_w') | float(default=0) %}
# {% set hc_w = states('sensor.electricite_prix_kwh_hc_w') | float(default=0) %}
# {% set hc_r = states('sensor.electricite_prix_kwh_hp_r') | float(default=0) %}
# {% set hp_r = states('sensor.electricite_prix_kwh_hc_r') | float(default=0) %}
# {{ ((hp_c + hp_w + hp_r) + (hc_b + hc_w + hc_r)) | round(2) }}
# icon_template: mdi:counter
#
# Calcul Consommation TOTALE Annuelle ELECTRICITE
# - name: Electricité Consommation Annuelle Totale
# unit_of_measurement: 'kWh'
# state: >
# {% set hp_b = states('sensor.electricite_prix_kwh_hp_b') | float(default=0) %}
# {% set hc_b = states('sensor.electricite_prix_kwh_hc_b') | float(default=0) %}
# {% set hp_w = states('sensor.electricite_prix_kwh_hp_w') | float(default=0) %}
# {% set hc_w = states('sensor.electricite_prix_kwh_hc_w') | float(default=0) %}
# {% set hc_r = states('sensor.electricite_prix_kwh_hp_r') | float(default=0) %}
# {% set hp_r = states('sensor.electricite_prix_kwh_hc_r') | float(default=0) %}
# {{ ((hp_c + hp_w + hp_r) + (hc_b + hc_w + hc_r)) | round(2) }}
# icon_template: mdi:counter

   #####################################
   ## ##
   ## UTILITY METER ##
   ## ##
   #####################################

utility_meter:

       #########################
       ## ELECTRICITE ##
       #########################

#legrand_daily_energy:
  daily_energy:
    source: sensor.legrand_conso_totale
    cycle: daily
    tariffs:
      - peak
      - offpeak
 
#legrand_weekly_energy:
  weekly_energy:
    source: sensor.legrand_conso_totale
    cycle: weekly
    tariffs:
      - peak
      - offpeak
#legrand_monthly_energy:
  monthly_energy:
    source: sensor.legrand_conso_totale
    cycle: monthly
    tariffs:
      - peak
      - offpeak
#legrand_yearly_energy:
  yearly_energy:
    source: sensor.legrand_conso_totale
    cycle: yearly
    tariffs:
      - peak
      - offpeak

```

> [@cob94440](#):
>
> Ce code c’est dans le cas où il a un fichier template.yaml

Ah mais qu’est-ce qu’il faut y mettre ?

> [@cob94440](#):
>
> Il me semble qu’il est en mode package vu son fichier ou il a du customize dedans.

En effet c’est le cas

---

<div class="post-metadata">

**Author:** ![cob94440](https://forum.hacf.fr/user_avatar/forum.hacf.fr/cob94440/32/692_2.png) [@cob94440](https://forum.hacf.fr/u/cob94440)\
**Post date:** [Janvier 25, 2024, 12:47 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/58 "2024-01-25T12:47:38Z")

</div>

Comme dit plus haut problèmes d’indentation pour les sensor.  
Tu copies des choses du code original et des infos de doubledom qui lui n’a pas fait en mode package  
Du coup rien ne vas.  
Mais quand tu enregistre le fichier il te mets pas une erreur en haut?

---

<div class="post-metadata">

**Author:** ![Doubledom](https://forum.hacf.fr/user_avatar/forum.hacf.fr/doubledom/32/9606_2.png) [@Doubledom](https://forum.hacf.fr/u/Doubledom)\
**Post date:** [Janvier 25, 2024, 1:31 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/59 "2024-01-25T13:31:41Z")

</div>

Moi je ne donne que des infos, là où je vois les erreurs, et lui donne la procédure, je ne vais pas refaire les yaml, il faut déjà qu’il comprenne ces erreurs, il y a du boulot pour séparer ces fichiers !  
🙃Aujourd’hui jardinage ! 🥹

---

<div class="post-metadata">

**Author:** ![cob94440](https://forum.hacf.fr/user_avatar/forum.hacf.fr/cob94440/32/692_2.png) [@cob94440](https://forum.hacf.fr/u/cob94440)\
**Post date:** [Janvier 25, 2024, 4:51 UTC](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058/60 "2024-01-25T16:51:47Z")

</div>

Il n’a pas besoin de séparer en revanche il devrait supprimer ce qui est en commentaire et y mettre que ses commandes rest et ses templates dans un premier temps.  
Il a la Doc les conseils qu’on lui a donné les lignes d’erreur avec ses logs.  
On ne peut rien faire de plus.

[Page précédente](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058.md?page=2)

[Page suivante](https://forum.hacf.fr/t/comprendre-et-dechiffrer-les-erreurs-dun-package/35058.md?page=4)
