Forcer texte état indisponible

Bonsoir,

Est il possible de changer le texte et l’icône d’un sensor déclaré « indisponible ». Sur une lampe pour lequel je fais un calcul de conso en fonction de la luminosité, marche parfaitement sauf quand la lampe est éteinte.

Dans mon cas forcer l’affichage 0.0 w au lieu de indisponible et mettre l’icône bleue

Screenshot_20210908-221758~2

Plusieurs essais de template avec custom ui mais systématiquement il reste à « indisponible »

Merci

Custom-ui devrait au moins te le mettre en couleur non ?

Partage ton code même s’il ne fonctionne pas :+1:

Pour l’état :

- platform: template
  sensors:
      conso_lampe_bureau:
        friendly_name: "Consommation lampe bureau"
        unit_of_measurement: 'W'
        value_template: "{%if state_attr('light.smart_bureau', 'brightness') >= 256 %}
                            {{ ((state_attr('light.smart_bureau', 'brightness') |float   * 5)  / 1000) |round(1)}}
                         {%elif is_state('light.smart_bureau', 'unavailable')%} 
                            0.0W
                         {% else %}
                            {{ ((state_attr('light.smart_bureau', 'brightness') |float   * 5)  / 255) |round(1)}}
                         {% endif %}"

Pour l’icone c’est OK

sensor.conso_lampe_bureau :
  templates:
    icon_color: >
     if (state === 'unavailable') return 'var(--state-icon-color)';

Merci

Tout le message serait bien :+1:

Pour l’icone c’est OK j’avais oublié la synthaxe sensor. avant :slight_smile:

J’ai modifié

Il te manque la conversion en nombre |int donc tu ne peux que récupérer un résultat unavailable car l’interpréteur rencontre une erreur sur la comparaison entre un texte et un nombre :wink:

Le W est de trop, car tu as renseigné l’unité de mesure :+1:

Donc le code devrait être :

- platform: template
  sensors:
      conso_lampe_bureau:
        friendly_name: "Consommation lampe bureau"
        unit_of_measurement: 'W'
        value_template: >
          {#Récupération de l'état de la lampe#}
          {% set unavailable = is_state('light.smart_bureau', 'unavailable') %}
          {#Récupération de la luminosité#}
          {% set bri = state_attr('light.smart_bureau', 'brightness')|int %}
          
          {% if unavailable %}
          {#La lampe est indisponible#}
            0
          {%elif bri >= 256 %}
             {{ bri * 5 / 1000 |round(1)}}
          {% else %}
             {{ bri * 5 / 255 |round(1)}}
          {% endif %}"

Merci, au top j’avais pas cette réflexion :wink:

Donc ça marche par contre il me rajoute un "

Screenshot_20210909-064123~2

Il est là…en dernière position… Enlève le :innocent:

C’est ça !!

Tout fonctionne, c’est top merci beaucoup, en plus j’ai appris :slight_smile:

Sujet clos

1 « J'aime »