Comment arrondir la valeur d'un sensor

Mon problème

J’ai un sensor MQTT qui me donne la consommation de la maison à partir d’une pince zwave mais la valeur donnée à 12 décimales.
Comment arrondir la valeur par exemple à 2 décimales ?
J’ai mis ça dans sensor.yaml

- platform: mqtt  
  state_topic: 'conso/edf'
  name: 'Consommation EDF'
  unit_of_measurement: 'kWh'   

Merci

Je n’ai pas de MQTT mais si tu mets ça qu’est ce que ça donne ?

- platform: mqtt  
  state_topic: 'conso/edf'
  name: 'Consommation EDF'
  unit_of_measurement: 'kWh'   
  value_template: '{{ value_json |round(2) }}' 
1 « J'aime »

T’es trop fort. Merci beaucoup.

1 « J'aime »

Bonjour, à tout hazard est-ce que quelqu’un saurait comment arrondir un entier à la dizaine inférieure.
Je cherche à remonter un état de batterie mais seulement tous les 10%, via un template.

par ex pour un dizaine inférieure:
batterie=54% donnerait template=50%
batterie=36% donnerait template=30%
etc…

J’ai trouvé pour la dizaine la plus proche (voir dessous) mais pas pour inférieure ou supérieure. Ca je peux m’en accomoder, mais par contre: il me remonte la valeur avec une virgule (60.0 par ex).

value_template: "{{ states('sensor.xxx') |round(-1) }}"

D’avance merci, mais je continue de chercher de mon côté!

Salut.
Le round ça marche pour la partie décimale seulement.
Tu as d’autres solutions :

  • entier divisé par 10, arrondir, multiplier par 10
  • entier modulo 10,multiplier par 10

Merci bien, je vais voir pour intégrer ce « set x »!
Bonsoir!