Comment transformer texte en nombre

Mon problème

J’essaie désespérément d’attribuer la valeur 0 ou 1 pour un état « chauffe pas » ou « chauffe » par exemple. Mais ça serait la même chose pour Off ou On.

Plus précisément j’ai un attribut (hvac_action) d’une entité (climate.NetAtmo) qui possède deux états : idle ou heat. Afin de faire un graphique comme le propose NetAtmo justement je voudrais transformer en 0 et 1.
J’ai bien pensé à faire un template pour déclarer un sensor mais impossible jusque maintenant pour que ce sensor ait la valeur 0 ou 1.

- platform: template
  sensors:
    netatmo_hvac_action:
      value_template: ??????

La communauté a peut-être la solution :crossed_fingers:

Salut Thomas,

Tu peux essayer avec :

{{ 0 if state_attr('climate.NetAtmo', 'hvac_action') == 'idle' else 1 }}

C’est parfait :+1: Ça marche exactement comme je le voulais. Merci !

De mon point de vue (qui n’engage que moi), il serait plus judicieux de partir sur un booléen (binary_sensor) plutôt qu’un capteur (sensor) :

binary_sensor:
  - platform: template
    sensors:
      chauffage_salon:
        friendly_name: "Chauffage Salon"
        device_class: heat
        value_template: >-
          {{ state_attr('climate.NetAtmo'', 'hvac_action') == 'heat' }}

J’avais bien pensé au binary_sensor mais découvrant Lovelace je ne pensais pas pouvoir faire un graphique avec un binary_sensor… mais peut-être que je me trompe.

:upside_down_face: :innocent:

1 « J'aime »