Changer des infos binaire en icon ou mot

Bonjour,

je me suis dabord penché sur ces topics : Transformation des sensors en binary - #10 par Herbs

Pour changer les valeurs binaire d’un capteur de porte en mots ou en icone.
Par exemple :
0 = fermée
1 = ouverte

(Ou même avec des icones).

J’ai vu plusieurs topics en anglais et des topics français mais je n’y arrive pas.

Voici mon code initial :

mqtt:
       [...]
       sensor:
       [...]
       - name: "Porte entree"
         state_topic: "sejour/porte/etat"
         unique_id: capteur.porte_entree

Voici ce que j’ai essayé plus bas, après toute mes infos et commandes mqtt :

binary_sensor:
  - platform: template
    sensors:
        sensor.porte_entree:
        friendly_name: Porte entree
        device_class: door
        value_template: >-
            {% if is_state("sensor.porte_entree", "0") %}
              off
            {% elif is_state("sensor.porte_entree", "1") %}
              on
            {% endif %}

Mais pour l’instant c’est un échec.

Merci d’avance pour l’aide :slight_smile:

Hello
Essai cela ( adapte le )

binary_sensor:

  - platform: template
    sensors:
      XXXXXXX:
        value_template: "{% if is_state('XXXX','home') -%}
                         {{ 'off' }}
                         {%- else -%}
                         {{ 'on' }}
                         {%- endif %}"
        device_class: connectivity
        icon_template: mdi:face-woman

Merci pour ta réponse :

Voici mon adaptation :

J’ai essayé ça en premier :

binary_sensor:
  - platform: template
    sensors:
      sensor.porte_entree:
        value_template: "{% if is_state('sensor.porte_entree','0') -%}
                         {{ 'off' }}
                         {%- else -%}
                         {{ 'on' }}
                         {%- endif %}"
        device_class: door
        icon_template: mdi:door

Puis j’ai changé sensor.porte_entree par capteur_porte_entree le unique_id de mon capteur. Car il ne voulait pas de « sensor. », il m’empêchait de redémarrer.

Au redémarrage, il m’a ajouté un nouveau sensor qui s’appelle « sensor.porte_entree_2 » et « sensor.porte_entree » est indispo.

C’est normal, il faut nommer le sensor « template » avec un nouveau nom :wink:

Et tu peux aussi simplifier ton code.

Avec le code ci dessous le nouveau sensor sera « binary_sensor.new_porte_entree », et sera considéré à « ON » quand le sensor de référence sera à 1.

binary_sensor:
  - platform: template
    sensors:
      new_porte_entree:
        value_template: "{{ is_state('sensor.porte_entree','1') }}"
        device_class: door
        icon_template: mdi:door

Merci de ta réponse.

En mettant ton code (en enlevant l’ancien) il ne se passe rien sur l’interface. Toujours 0 ou 1 :confused:

Je sais pas si on s’est compris mais c’est le 0 qui est à droite que je voudrais transformer en « Fermée » ou icône fermée et « Ouverte » ou icone de porte ouverte quand c’est à 1. ( Et savoir faire les deux pour avoir le choix)
image

Sur ta carte, c’est

sensor.porte_entree

ou

binary_sensor.new_porte_entree

?

Sur ma carte c’est

sensor.porte_entree

J’ai tenté de mettre mon capteur mqtt d’ouverture fermeture en binary_sensor, sans succès.

Mais j’ai résolu ma demande.

J’ai laissé mon sensor.porte_entree comme il était puis voici le code qui ressort :


sensor:
  - platform: template
    sensors:
     template_porte_entree:
        value_template: "{% if is_state('sensor.porte_entree', '0') %}
                           Fermée
                         {% elif is_state('sensor.porte_entree', '1') %}
                           Ouverte
                         {% endif %}"

Pour obtenir ceci :
image

Par contre, si je peux être aidé sur une dernière chose: en faisant mes tests, j’ai créer plusieurs nom de capteur.
Le premier, qui a l’intégration MQTT c’est normal.
Celui qui s’appelle sensor.template_porte_entree c’est normal puisque c’est la template du sensor.
Mais les deux autres, sensor.temp_porte_entree et sensor.temp_porte_entree_2, je voudrais les supprimer et je ne peux pas :confused:

Tout est résolu, ça a finit par partir avec quelques reboot !

Merci !!