Sensor templates qualité Air

Bonjour,

Je viens de me prendre un capteur Aqara TVOC pour connaitre le taux de COV dans l’air.
J’ai suivi le tuto des Alexiens pour transformer le taux en %:

J’ai malheureusement une erreur, savez-vous pourquoi? Je trouve la syntaxe bizarre… :face_with_raised_eyebrow:

## MONITEUR QUALITE AIR

qualite_air_calcul:
  friendly_name: "Qualité de l'air calcul"
  value_template: "{{ (states.sensor.qualite_air_salon_voc.state|float(0)*100/5500)|float|round(2) }}" 
qualite_air_pourcentage:
  friendly_name: "Qualité de l'air en %"
  value_template: "{{ (100) - (states.sensor.qualite_air_salon_voc.state|float(0))|float|round(1) }}" 
  unit_of_measurement: "%"

Merci ! :pray:

Bonjour,

Il s’agit de mon article.

Je n’utilise plus ce template « calcul », mais quand je le teste je n’ai aucune erreur dessus.

1 « J'aime »

Salut,

Il manque des valeurs pas défaut au float et ils sont redondants
J’ai pas testé completement mais ça doit marcher

qualite_air_calcul:
  friendly_name: "Qualité de l'air calcul"
  value_template: "{{ (states("sensor.qualite_air_salon_voc")|float(0)*100/5500)|round(2) }}" 
qualite_air_pourcentage:
  friendly_name: "Qualité de l'air en %"
  value_template: "{{ (100 - states("sensor.qualite_air_salon_voc")|float(0))|round(1) }}" 
  unit_of_measurement: "%"

Merci pour votre aide! :wink:

J’ai toujours des erreurs
Je me trompe peut etre de fichier… c’est bien à mettre dans le fichier Templates.yaml ?
J’ai hesité avec Configuration.yaml… je sais jamais :face_with_raised_eyebrow:

6 espaces d’un coup !!!

- sensor:
      - name: xxxxx

Et puis il manque les tirets devant qualite_air_calcul et qualite_air_pourcentage, c’est pas le même format de sensor non plus …

Ca fait en effet beaucoup d’espaces :laughing:
Mais ce n’est pas pour ca que ca ne marche pas, si?
J’ai rajouté des tirets, toujours pareil :face_with_peeking_eye:

Bj

indexe correctement

1 « J'aime »

Non les espaces sont pas bloquants maintenant mais bon, au bout d’un moment, ça casse tout quand même


Reprends le format du dessus.
Et remplace par le bon calcul

  • value_template => value
  • friendly_name => name
  • id => unique_id

(sur téléphone c’est pas jouable pour moi)

1 « J'aime »

Merci pour votre aide, mais je n’y arrive toujours pas…
J’ai essayé de changer le format, comme tu m’as conseillé @Pulpy-Luke mais je ne comprends pas la logique et il me manque des morceaux …
J’ai mis au propre l’indentation


# MONITEUR QUALITE AIR

- qualite_air_calcul:
  friendly_name: "Qualité de l'air calcul"
  value_template: "{{ (states("sensor.qualite_air_salon_voc")|float(0)*100/5500)|round(2) }}" 
- qualite_air_pourcentage:
  friendly_name: "Qualité de l'air en %"
  value_template: "{{ (100 - states("sensor.qualite_air_salon_voc")|float(0))|round(1) }}" 
  unit_of_measurement: '%'

Salut,

C’est évidement pas facile mais là ton souci c’est pas un souci de conversion(tu as encore le vieux format).
Voilà un truc plus proche de quelque chose qui fonctionne. Il faut ajouter le sensor:pour séparer les nouveaux formats juste plus haut. Et ajouter les espaces

sensor:
  - qualite_air_calcul:
    friendly_name: "Qualité de l'air calcul"
    value_template: "{{ (states("sensor.qualite_air_salon_voc")|float(0)*100/5500)|round(2) }}" 
  - qualite_air_pourcentage:
    friendly_name: "Qualité de l'air en %"
    value_template: "{{ (100 - states("sensor.qualite_air_salon_voc")|float(0))|round(1) }}" 
    unit_of_measurement: '%'
1 « J'aime »

Merci mais toujours pas :sweat_smile:.

J’essaie de modifier le code avec le nouveau format:

Je me lance sans grande conviction… :kissing_closed_eyes:

- sensor:
  - name: "Qualité de l'air calcul"
    state_class: measurement
    unique_id: qualite_air_calcul
    state: {{ (states("sensor.qualite_air_salon_voc")|float(0)*100/5500)|round(2) }}
- sensor:
  - name: "Qualité de l'air en %"
    unit_of_measurement: '%'
    state_class: measurement
    unique_id: qualite_air_pourcentage
    state: {{ (100 - states("sensor.qualite_air_salon_voc")|float(0))|round(1) }}

Je suis pas loin ?.. ou pas du tout ?! :face_with_peeking_eye:

C’est pas loin à condition de

  • repartir de ce que j’écris : j’ai pas mis de - devant sensor: :wink:
  • mettre les logs qui correspondent au code et inversement, sinon moi je vais me perdre

Là tu as un souci avec " qui s’entrechoquent (coté image)

Et coté code pour le nouveau format, c’est les tirets qui gênent

sensor:
  - name: "Qualité de l'air calcul"
    state_class: measurement
    unique_id: qualite_air_calcul
    state: {{ (states('sensor.qualite_air_salon_voc")|float(0)*100/5500)|round(2) }}
  - name: "Qualité de l'air en %"
    unit_of_measurement: '%'
    state_class: measurement
    unique_id: qualite_air_pourcentage
    state: {{ (100 - states("sensor.qualite_air_salon_voc")|float(0))|round(1) }}
1 « J'aime »

Merci ! :slight_smile:
Vu qu’il y avait un - devant sensor sur les Sensors au dessus, je me suis dit… Pourquoi il ne faut pas en mettre ?

On va se focaliser sur le nouveau format alors :+1:

J’ai toujours des erreurs:

sensor:
  - name: "Qualité de l'air calcul"
    state_class: measurement
    unique_id: qualite_air_calcul
    state: {{ (states('sensor.qualite_air_salon_voc")|float(0)*100/5500)|round(2) }}
  - name: "Qualité de l'air en %"
    unit_of_measurement: '%'
    state_class: measurement
    unique_id: qualite_air_pourcentage
    state: {{ (100 - states("sensor.qualite_air_salon_voc")|float(0))|round(1) }}

1

C’est quoi le !include de ton fichier template.yaml ?
Je n’avais pas vu mais il y a encore un niveau :sleepy:

Et puis il faut etre constant dans les ' et "
image

Je viens de modifier les " :kissing:

Je ne comprends pas ton histoire de !include. Je ne le vois pas dans mon fichier template.yaml

                          #################################################################
                          ##                      TEMPLATES                              ##
                          #################################################################

                          
#################################################################
##                       SENSORS                               ##
#################################################################

#Configuration Pluviometre
- sensor:
  - name: Precipitations Aujourd'hui
    unit_of_measurement: mm
    state_class: total_increasing
    unique_id: precipitation_today
    state: >-
      {% set count = states('sensor.i_flips') | int(0) %}
      {% set mm = count * 0.29154 %}
      {% if count >= 0 %}
        {{ mm|round(1, 'floor') }}
      {% endif %}
    # If you have issues with the history sensor doubling after restarting HA, add the line below (@BigG)
    availability: "{{ (states('sensor.pluviometre_flips') not in ('unknown', 'unavailable')) }}"

- sensor:
  - name: "Intensité de la pluie"
    unit_of_measurement: 'mm/h'
    state_class: measurement
    unique_id: precipitation_par_heure
    state: >-
      {% set rain_hour = ((state_attr('binary_sensor.rainfall_trend', 'gradient') | float(0)) * 3600) | round(1, 'floor') %}
      {% if rain_hour >= 0 %}
        {{ rain_hour }}
      {% else %}
        {{ 0 }}
      {% endif %}

# MONITEUR QUALITE AIR

sensor:
  - name: "Qualité de l'air calcul"
    state_class: measurement
    unique_id: qualite_air_calcul
    state: {{ (states("sensor.qualite_air_salon_voc")|float(0)*100/5500)|round(2) }}
  - name: "Qualité de l'air en %"
    unit_of_measurement: '%'
    state_class: measurement
    unique_id: qualite_air_pourcentage
    state: {{ (100 - states("sensor.qualite_air_salon_voc")|float(0))|round(1) }}

Et une partie de mon fichier configuration.yaml:

OK je vois l’info :
ça :
image
ça veut dire que template.yaml

- sensor:
  - name: Precipitations Aujourd'hui

devient au chargement

template:
  - sensor:
    - name: Precipitations Aujourd'hui

Dans ton cas avec le nouveau bloc, ça donne actuellement :

template:
  sensor:
  - name: "Qualité de l'air calcul"

Et donc je comprends mieux ton tiret de tout à l’heure

ce que l’on veut obtenir c’est

sensor:
  - name: "Qualité de l'air calcul"

Donc ça correspond à mettre le nouveau bloc dans
image
et de ne mettre QUE

 - name: "Qualité de l'air calcul"
1 « J'aime »

Ah! Je me doutais de mon erreur!
J’en parle dans mon deuxieme message…
Je suis une chevre… :laughing:

Ca semble en effet marcher :

- name: "Qualité de l'air calcul"
  state_class: measurement
  unique_id: qualite_air_calcul
  state: {{ (states("sensor.qualite_air_salon_voc")|float(0)*100/5500)|round(2) }}
- name: "Qualité de l'air en %"
  unit_of_measurement: '%'
  state_class: measurement
  unique_id: qualite_air_pourcentage
  state: {{ (100 - states("sensor.qualite_air_salon_voc")|float(0))|round(1) }}

Merci !! :face_with_peeking_eye:

1 « J'aime »

Il reste une petite erreur…

Ligne 65

2

- name: "Qualité de l'air calcul"
  state_class: measurement
  unique_id: qualite_air_calcul
  state: {{ (states("sensor.qualite_air_salon_voc")|float(0)*100/5500)|round(2) }}
- name: "Qualité de l'air en %"
  unit_of_measurement: '%'
  state_class: measurement
  unique_id: qualite_air_pourcentage
  state: {{ (100 - states("sensor.qualite_air_salon_voc")|float(0))|round(1) }}

Une idée ?

Ton capteur sensor.qualite_air_salon_voc porte bien ce nom et donne une valeur numérique ?

1 « J'aime »

Oui