Couleur icone en fonction d'une valeur numérique de sensor

Bonjour,

je souhaite pouvoir changer la couleur de l’icone d’une carte en fonction d’une valeur.
J’ai un module Zlinky, qui récupère toutes les informations de mon compteur et je souhaiterais que la couleur de l’icone de la puissance apparente change en fonction de certains seuils, mais je coince…
Je souhaiterais 3 couleurs :

  • valeur = 0 vert
  • valeur entre 0 et 500 orange
  • valeur supérieure à 500 rouge

Mais je ne sais pas comment écrire ceci…
Voici ce que j’ai commencé à faire :

type: vertical-stack
cards:
  - type: custom:mushroom-entity-card
    entity: sensor.lixee_zlinky_tic_puissance_apparente
    fill_container: false
    name: |-
      Puissance apparente réseau
      {% set state = states('sensor.lixee_zlinky_tic_puissance_apparente')}
    icon_color: |-
      {% if is_state(entity, == '0') %} green
      {% if is_state(entity, > '0' & =< '500')} green
      {% if is_state(entity, > '500') %} green
      {% endif %}  

Par avance, à nouveau merci pour votre aide, j’apprends énormément avec vous !

Remplace le second et troisième if par elif

Je viens d’effectuer la modif, mais sans succès

type: vertical-stack
cards:
  - type: custom:mushroom-entity-card
    entity: sensor.lixee_zlinky_tic_puissance_apparente
    fill_container: false
    name: |-
      Puissance apparente réseau
      {% set state = states('sensor.lixee_zlinky_tic_puissance_apparente')}
    icon_color: |-
      {% if is_state(entity, == '0') %} green
      {% if is_state(entity, > '0' & =< '500')} orange
      {% elif is_state(entity, > '500') %} red
      {% endif %} 

Et il y a d’autres soucis c’est pas is_state pour des comparaisons mais states(‹ entity ›) >= 500 par exemple

Malgré celà, ça ne change rien malheureusement.

Salut messieurs,

Pour jouer avec mushroom et les templates c’est ça qu’il faut :

ça ne fonctionnera pas avec une mushroom-entity-card.

1 « J'aime »

C’etait un exemple pas la syntaxe correct.
bon avec une souris clavier ce sera mieux

type: vertical-stack
cards:
  - type: custom:mushroom-template-card
    entity: sensor.lixee_zlinky_tic_puissance_apparente
    primary: Puissance apparente réseau
    icon: mdi-power    
      {% set state = states('sensor.lixee_zlinky_tic_puissance_apparente') %}
    icon_color: |-
      {% if states('sensor.lixee_zlinky_tic_puissance_apparente')|int(0) == 0) %}
        green
      {% elif states('sensor.lixee_zlinky_tic_puissance_apparente')|int(0) > 0 and states('sensor.lixee_zlinky_tic_puissance_apparente')|int(0) =< 500)}
        orange
      {% elif states('sensor.lixee_zlinky_tic_puissance_apparente')|int(0) > 500 %}
        red
      {% endif %}

Si je n’ai pas fait d’erreur
Comme dit au dessus il faut une muhroom template card
pour l’icone j’ai taper un truc au hazzard

Malheureusement, ce n’est toujours pas mieux…
Merci pour le temps passé et l’intérêt porté à mon post.
En espérant trouver une solution (j’y arrive avec des valeurs ON OFF et des IOPEN CLOSED, mais pas avec du numérique)

Reprend mon post precedent j’etais en train de corriger

Bonjour,
ça ressemble à ça le code :

  - type: custom:mushroom-template-card
    entity: sensor.lixee_zlinky_tic_puissance_apparente
    primary: |-
      Puissance apparente réseau :
      {{ states('sensor.lixee_zlinky_tic_puissance_apparente') }}
    icon_color: |-
      {% if is_state(entity, == '0') %} green
      {% elif is_state(entity, > '0' & =< '500')} orange
      {% elif is_state(entity, > '500') %} red
      {% endif %} 

ça ne fonctionne pas, ça m’efface même l’icone (plus aucune icône visible)

@WarC0zes ça ne fonctionne pas non plus

Ca ressemble :joy:
mais non fonctionnelle, i lfaut qu’il trouve :stuck_out_tongue:

1 « J'aime »

Suis fatigué lol

type: custom:mushroom-template-card
entity: sensor.lixee_zlinky_tic_puissance_apparente
primary: Puissance apparente réseau
secondary: "{{ states('sensor.lixee_zlinky_tic_puissance_apparente') }}"
icon: mdi:power-off
icon_color: >-
  {% if states('sensor.lixee_zlinky_tic_puissance_apparente')|int(0) == 0 %}
    green
  {% elif (states('sensor.lixee_zlinky_tic_puissance_apparente')|int(0) > 0 and
  states('sensor.lixee_zlinky_tic_puissance_apparente')|int(0) <= 500) %}
    orange
  {% elif states('sensor.lixee_zlinky_tic_puissance_apparente')|int(0) > 500 %}
    red
  {% endif %}
1 « J'aime »

c’est bon j’ai trouvé je tape juste n’importe quoi :crazy_face:

Le pire c’est que j’utlise que ça

1 « J'aime »

Super, merci @Tochy , tout fonctionne :+1:

Mais en effet @WarC0zes a raison, il faut aussi chercher, mais ce n’est pas simple quand on débute

Oui , les utilisateurs s’habituent trop à ce que je donne les solutions . Je calme le jeu :wink:
J’ai trop de solution à mon actif.

4 « J'aime »

Bonjour, s’il vous plait ça serait possible de voir la syntaxe qui fonctionne ? parce que, moi aussi j’ai essayé plein de ‹ variantes › et rien ne marche.

Merci

Salut
Tu l’as dans le post juste au dessus de celui marqué comme solution.

j’ai recopié tel quel (en changeant l’entité par une des miennes ) … et ça ne marche pas , j’ai du faire une faute de frappe (ou d’indentation, ou autre) et comme on lit ce que l’on a voulu écrire et pas ce qu’on a sous les yeux ben, que nenni !