Un petit dernier test @bentou avec :
{% set sep ="\u002C" "\u0020" %}
Bon appétit ![]()
Bob
Le premier set sep doit rester comme il était, modifier celui qui est dans la boucle for.
Et coller {{ sep }}{{ attr }} pour n’avoir qu’un espace ![]()
Bob
Tu peux me coller toncode @bentou stp ![]()
On va gagner ![]()
Bob
{% if states.sensor['44_weather_alert'] is not none %}
{% if states('sensor.44_weather_alert') != 'Vert' %}
{% set sep = '' %}
{%- for attr, value in states.sensor['44_weather_alert'].attributes.items() -%}
{%- if value in ['Jaune', 'Orange', 'Rouge'] -%}
{{ "\uE026" }}{{ sep }}{{ attr }}
{%- endif %}
{% set sep ="\u002C" "\u0020" %}
{%- endfor %}
{% else %}
{{ "\uE12C" }} Aucune alerte
{% endif %}
{% endif %}
{% if states.sensor['44_weather_alert'] is not none %}
{% if states('44_weather_alert') != 'Vert' %}
{% set sep = '' %}
{%- for attr, value in states.sensor['44_weather_alert'].attributes.items() -%}{%- if value in ['Jaune', 'Orange', 'Rouge'] -%}{{ sep }}{{ attr }}{% set sep ="\u002C" "\u0020" %}{%- endif %}{%- endfor %}
{% else %}
{{ "\uE12C" }} Aucune alerte
{% endif %}
{% endif %}
Salut
Perso quand j’ai besoin de rajouter des “, “ dans une liste, j’en mets après chaque sortie et je supprimes les 2 derniers caractères à l’affichage comme ça :
{% set ns = namespace(alertes = "") %}
{% if states('sensor.83_weather_alert') is not none %}
{% if states('sensor.83_weather_alert') == 'Vert' %}
{%- for attr, value in states.sensor['83_weather_alert'].attributes.items() -%}
{%- if value in ['Vert','Jaune', 'Orange', 'Rouge'] -%}
{% set ns.alertes = ns.alertes + "\uE026 " + attr + ", " %}
{%- endif %}
{%- endfor %}
{% else %}
{% set ns.alertes ="\uE12C " + "Aucune alerte, "%}
{% endif %}
{% endif %}
{{ns.alertes[:-2]}}
Attention, j’ai mis == 'Vert' au lieu de != 'Vert' à la ligne 3 et j’ai ajouté 'Vert', à la ligne 5 pour les tests
Ou comme ça si le "\uE026 " ne doit apparaitre qu’en début de ligne.
{% set ns = namespace(alertes = "") %}
{% if states('sensor.83_weather_alert') is not none %}
{% if states('sensor.83_weather_alert') == 'Vert' %}
{%- for attr, value in states.sensor['83_weather_alert'].attributes.items() -%}
{%- if value in ['Vert','Jaune', 'Orange', 'Rouge'] -%}
{% set ns.alertes = ns.alertes + attr + ", " %}
{%- endif %}
{%- endfor %}
{% set ns.alertes = "\uE026 " + ns.alertes %}
{% else %}
{% set ns.alertes ="\uE12C " + "Aucune alerte, "%}
{% endif %}
{% endif %}
{{ns.alertes[:-2]}}
Dans mon code, il ne prend pas en compte la redéfinition de :
{% set sep ="\u002C"%}
Pourquoi, ça c’est une subtilité ?
Bob
Je n’aime pas échouer, la solution de @Tochy est nickel, je voulais quand même aller au bout de mon raisonnement:
{% if states.sensor['56_weather_alert'] is not none %}
{% if states('56_weather_alert') != 'Vert' %}
{% set ns = namespace(mystring = "") %}
{%- for attr, value in states.sensor['56_weather_alert'].attributes.items() -%}{%- if value in ['Jaune', 'Orange', 'Rouge'] -%} {{ ns.mystring }}{{ attr }}{% set ns.mystring = ", " %}{%- endif %}{%- endfor %}
{% else %}
Aucune alerte
{% endif %}
{% endif %}
Ah, le nija2 ![]()
Bob
Oui il manquait le namespace qu’il faut utiliser quand tu définit une variable hors d’une boucle et qu’ensuite tu veux l’utiliser dans la boucle
Je ne sais pas, je suis en train de lire les messages, mais ça a a l’air. Je vais tester demain, car pas assez d’alerte aujourd’hui chez moi.
edit:
c’est bon, merci @Tochy .
je testerai avec plus d’alerte pour voir
@Bob, c’est quoi toutes ces alertes !!!
tu as 7 alertes différentes ?
tu as modifié l’entité alerte manuellement ?
edit2:
encore merci @Tochy , c’est top moumoute ![]()
J’ai triché un peu pour tester en mettant :
value in ['Jaune', 'Orange', 'Rouge', 'Vert']
Bob
Impeccable , ça fonctionne à merveille le code de @Tochy.
Bonjour @WarC0zes
C’est la version avec la concaténation et le -2 que tu as mis alors ?
Bonne journée
Bob
Je te posterai le template après, je suis sur mobile. Je rentre du pas de la case, avec 5h de route dans la gueule. C’est le moment de la sieste, car en plus j’ai réunion d’équipe ce soir. A toute.
Bon courage à toi @WarC0zes
à priori tu ne roules pas électrique
, sinon quelle journée de charge !
Bob