je pense avoir répondu en dessous, mais j’en profite pour te proposer cette version de ton template légèrement simplifiée
{% set jourssemaine = ['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche'] %}
{% set forecast_boulogne = state_attr('weather.boulogne_billancourt','forecast') %}
{% set num_jours = ['1er','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'] %}
{% set weather_condition = {
'clear': 'temps clair',
'clear-night': 'nuit claire',
'cloudy': 'temps nuageux',
'exceptional': 'conditions météos exceptionnelles',
'fog': 'brouillard',
'hail': 'grêle',
'lightning': 'temps orageux',
'lightning-rainy': 'temps orageux et pluvieux',
'partlycloudy': 'temps partiellement nuageux',
'pouring': 'pluie battante',
'rainy': 'pluie',
'snowy': 'neige',
'snowy-rainy': 'pluie et neige mêlées',
'sunny': 'temps ensoleillé',
'windy': 'temps venteux',
'windy-variant': 'temps variable et venteux'
} %}
La météo d'aujourd'hui est {{ weather_condition[states('weather.boulogne_billancourt')] }}, il fait {{state_attr('weather.boulogne_billancourt','temperature')|round(1)}} ° avec {{state_attr('weather.boulogne_billancourt','humidity')|round(0)}} % d'hygrométrie.
demain {{ weather_condition[forecast_boulogne[3].condition] }}, il fera entre {{forecast_boulogne[1].templow|round(0)}} et {{forecast_boulogne[1].temperature|round(0)}} ° avec une hygrométrie de {{forecast_boulogne[1].humidity|round(0)}} %.
apres demain {{ jourssemaine[(now().weekday()+2) % 7] }} {{ num_jours[ (now() + timedelta(days=1)).day] }} {{ weather_condition[forecast_boulogne[4].condition] }}, il fera entre {{forecast_boulogne[2].templow|round(0)}} et {{forecast_boulogne[2].temperature|round(0)}} ° avec une hygrométrie de {{forecast_boulogne[2].humidity|round(0)}} %.
{{ jourssemaine[(now().weekday()+3) % 7] }} {{ num_jours[ (now() + timedelta(days=2)).day] }} {{ weather_condition[forecast_boulogne[3].condition] }}, il fera entre {{forecast_boulogne[3].templow|round(0)}} et {{forecast_boulogne[3].temperature|round(0)}} °.
{{ jourssemaine[(now().weekday()+4) % 7] }} {{ num_jours[ (now() + timedelta(days=3)).day] }} {{ weather_condition[forecast_boulogne[4].condition] }}, il fera entre {{forecast_boulogne[4].templow|round(0)}} et {{forecast_boulogne[4].temperature|round(0)}} °.
{{ jourssemaine[(now().weekday()+5) % 7] }} {{ num_jours[ (now() + timedelta(days=4)).day] }} {{ weather_condition[forecast_boulogne[5].condition] }}, il fera entre {{forecast_boulogne[5].templow|round(0)}} et {{forecast_boulogne[5].temperature|round(0)}} °.
{{ jourssemaine[(now().weekday()+6) % 7] }} {{ num_jours[ (now() + timedelta(days=5)).day] }} {{ weather_condition[forecast_boulogne[6].condition] }}, il fera {{forecast_boulogne[6].temperature|round(0)}} °.
{{ jourssemaine[(now().weekday()+7) % 7] }} {{ num_jours[ (now() + timedelta(days=6)).day] }} {{ weather_condition[forecast_boulogne[7].condition] }}, il fera {{forecast_boulogne[7].temperature|round(0)}} °.
{% set time = now().hour %}
{% if (time >= 22) %} Bonne nuit.
{% elif (time >= 18) %} Bonne soirée.
{% elif (time >= 12) %} Bon après-midi.
{% elif (time >= 5) %} Bonne journée.
{% else %} Va donc te coucher au lieu de dire des bêtises ! {% endif %}
Je ne suis pas content de ce tableau de chiffre juste pour écrire « 1er » mais je n’ai pas d’idée « simple » là de suite…