Sensor template - nouveau format

Bonjour,

Suite à un autre message où on évoquait le nouveau format des sensors template, j’ai voulu modifier les miens mais visiblement il y a un truc que je ne fais pas bien.

Format actuel qui fonctionne :

# Pellets
- platform: template
  sensors:
    pellet_sensor_conso:
      unique_id: pellet_sensor_conso
      friendly_name: "Conso Pellet - Sensor"
      unit_of_measurement: "sacs"
      value_template: "{{states('input_number.pellet_conso')|int}}"
    pellet_sensor_depense:
      unique_id: pellet_sensor_depense
      friendly_name: "Dépense Pellet - Sensor"
      unit_of_measurement: "€"
      value_template: "{{states('input_number.pellet_depense')|float|round(2)}}"

Nouveau format testé :

# Pellets
template:
  - sensor:
    - name: pellet_sensor_conso
      unique_id: pellet_sensor_conso
      friendly_name: "Conso Pellet - Sensor"
      unit_of_measurement: "sacs"
      state: "{{states('input_number.pellet_conso')|int}}"

    - name: pellet_sensor_depense
      unique_id: pellet_sensor_depense
      friendly_name: "Dépense Pellet - Sensor"
      unit_of_measurement: "€"
      state: "{{states('input_number.pellet_depense')|float|round(2)}}"

Avec le nouveau format, j’ai le sensor qui est indisponible.

Une idée d’où vient mon erreur ?

Merci

ne pas mettre friendly_name dans le nouveau format

2 « J'aime »

Bonjour,
il manque deux espaces pour - name:

Et l’option friendly_name est remplacé par name.

template:
  - sensor:
      - name: Conso Pellet - Sensor
        unique_id: pellet_sensor_conso
        unit_of_measurement: "sacs"
        state: "{{states('input_number.pellet_conso')|int(0)}}"

      - name: Dépense Pellet - Sensor
        unique_id: pellet_sensor_depense
        unit_of_measurement: "€"
        state: "{{states('input_number.pellet_depense')|float(0)|round(2)}}"

Mettre |int(0) ou |float(0) pour avoir une valeur par défaut, si ton sensor est indisponible et éviter des messages d’erreur sur le template.

pourquoi il ne faut pas mettre de _ dans le name?

1 « J'aime »

Parce que je suis mal réveillé lol.
Je dis des bêtises. J’ai modifer mon message :wink:

Merci beaucoup les gars pour votre aide.

J’ai une question subsidiaire.

Quand je mets ton code directement dans mon configuration.yaml, cela marche parfaitement.

Par contre, si dans mon configuration.yaml, je mets

sensor: !include sensors.yaml

et dans le fichier sensors.yaml, je mets le code, cela ne fonctionne plus.

Invalid config for ‹ sensor › at configuration.yaml, line 29: required key ‹ platform › not provided, please check the docs at Sensor - Home Assistant

À ne pas mettre dans le sensor.yaml.

Si tu veux découper ta configuration pour les templates, il te faut ajouter c’est ligne dans ton configuration.yaml:

template: !include template.yaml

Puis, tu crées un fichier template.yaml dans le dossier /config ( ou homeassistant/ sous file editor ).
Et dans le fichier template.yaml tu mets ton code des templates ( sans le template: au début du fichier :

  - sensor:
      - name: Conso Pellet - Sensor
        unique_id: pellet_sensor_conso
        unit_of_measurement: "sacs"
        state: "{{states('input_number.pellet_conso')|int(0)}}"

      - name: Dépense Pellet - Sensor
        unique_id: pellet_sensor_depense
        unit_of_measurement: "€"
        state: "{{states('input_number.pellet_depense')|float(0)|round(2)}}"
1 « J'aime »

Elémentaire… :disappointed_relieved:

Un grand merci pour ta patience !