Recevoir une notification lorsqu'une alerte météo est en cours

Un petit dernier test @bentou avec :

{% set sep ="\u002C" "\u0020"  %} 

Bon appétit :wink:
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 :wink:

Bob

Tu peux me coller toncode @bentou stp :wink:
On va gagner :slight_smile:
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

1 « J'aime »

pour moi avec 2 alertes, c’est OK

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

Salut @WarC0zes

Désolé je viens juste de voir ton message :confused:

Mais je crois que c’est réglé depuis :wink: ?

Je n’aime pas échouer, la solution de @Tochy est nickel, je voulais quand même aller au bout de mon raisonnement:


Sans ‹ Vert › dans le tableau.

{% 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 :slight_smile:
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

1 « J'aime »

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 :grin:

J’ai triché un peu pour tester en mettant :

value in ['Jaune', 'Orange', 'Rouge', 'Vert']

Bob

1 « J'aime »

Impeccable , ça fonctionne à merveille le code de @Tochy.

1 « J'aime »

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 :rofl:, sinon quelle journée de charge !

Bob