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!