Pour info, la doc pour le templating de sensor commençant par un chiffre :
A chaque fois je me fais avoir ![]()
Pour info, la doc pour le templating de sensor commençant par un chiffre :
A chaque fois je me fais avoir ![]()
J’aurais appris quelque chose aujourd’hui ![]()
Bonjour,
Ayant pris le code de Makai recopié dans le fichier automations.yaml avec l’adaptation à mon département via le sensor.45_weather_alert de l’application Météo France. le log me donne les erreurs et warning suivant:
2025-04-21 11:13:52.254 ERROR (MainThread) [homeassistant.helpers.template] Template variable error: 'dict object' has no attribute 'from_state' when rendering '{{ trigger.from_state.state != 'vert' }}'
2025-04-21 11:13:52.257 WARNING (MainThread) [homeassistant.helpers.script] Error in 'choose[1]' evaluation: In 'template' condition: UndefinedError: 'dict object' has no attribute 'from_state'
Je ne suis pas un pro de HA et j’ai du mal à imaginer la solution pour remédier à ces erreurs.
Merci pour l’aide
Audio
Bonjour @Herbs ,
je vais t’embêter ![]()
le template que tu m’avais fait, fonctionne bien, mais j’aurais voulu quand il y a plusieurs types d’alerte qu’elle soit séparé par un espace ou virgule. Dans l’état, c’est collé et pas super visuellement.
{% if states.sensor['11_weather_alert'] is not none %}
{% if states('sensor.11_weather_alert') != 'Vert' %}
{%- for attr, value in states.sensor['11_weather_alert'].attributes.items() -%}
{%- if value in ['Jaune', 'Orange', 'Rouge'] -%}
{{ "\uE026" }} {{ attr }}
{%- endif %}
{%- endfor %}
{% else %}
{{ "\uE12C" }} Aucune alerte
{% endif %}
{% endif %}
J’ai demandé à chatgpt, mais il me sort que des conneries qui ne fonctionne pas ![]()
juste un {{ "," }} {{ attr }} ca ne va pas ?
Il aurait toujours la virgule.
Peut être ça mais je n’ai qu’une alerte donc pas testé !
{% if states.sensor['56_weather_alert'] is not none %}
{% if states('sensor.56_weather_alert') != 'Vert' %}
{% set sep = '' %}
{%- for attr, value in states.sensor['56_weather_alert'].attributes.items() -%}
{%- if value in ['Jaune', 'Orange', 'Rouge'] -%}
{{ "\uE026" }}{{ sep }} {{ attr }}
{%- endif %}
{% set sep = ", " %}
{%- endfor %}
{% else %}
{{ "\uE12C" }} Aucune alerte
{% endif %}
{% endif %}
Bob
bien vu, ça l’air bon. Je verrai quand j’aurai plusieurs types d’alerte.
Mais @Bob, a compris que si qu’une alerte, aucun intérêt à mettre la virgule. Utile quand il y en a plusieurs.
Je ferai des tests demain, car j’ai plusieurs alerte demain.
Toujours une virgule en trop ![]()
Bob
Oui, il faudrait une virgule que quand il y a plusieurs alertes, quand une seule pas de virgule ![]()
Donc mon code doit fonctionner non, premier passage {% set sep = ‹ › %}, ensuite {% set sep = ', ’ %}
Enfin en positionnant le sep en début de ligne ![]()
C’est agité demain @WarC0zes ![]()
Bob
je testerai demain ( je n’ai qu’une alerte), ou si @bentou peu tester voir le resultat avec ton code.
{% if states.sensor['56_weather_alert'] is not none %}
{% if states('sensor.56_weather_alert') != 'Vert' %}
{% set sep = '' %}
{%- for attr, value in states.sensor['56_weather_alert'].attributes.items() -%}
{%- if value in ['Jaune', 'Orange', 'Rouge'] -%}{{ "\uE026" }}{{ sep }} {{ attr }}{%- endif %}{% set sep = ", " %}{%- endfor %}
{% else %}
{{ "\uE12C" }} Aucune alerte
{% endif %}
{% endif %}
Sans retour dans le for peut être mais {% set sep = ", " %} ne semble pas être prit encompte !
Bob
Remplace
{% set sep = ", " %}
Par
{% set sep ="\u002C" "\u0020" %}
Bob
le {{ "\uE026" }} c’est une icône à afficher sous OpenHASP.

Pas utile pour faire des tests ![]()