Et du coup, voici le code qui permet d’obtenir le temps restant avant l’expiration de l’un des certificats de mes ndd (le prochain à expirer) :
{# Définition de la liste des entités que l'on veut surveiller #}
{% set liste_des_entites = ['sensor.cert_expiry_timestamp_ndd1_duckdns_org','sensor.cert_expiry_timestamp_ndd2_duckdns_org'] %}
{# Définition du namespace pour récupération de la valeur en dehors de la boucle #}
{%set timestamp_des_entites_boucle = namespace(timestamp='') %}
{# Boucle parcourant tous les éléments de la liste `liste_des_entites` #}
{# Cette boucle permet de définir une liste contenant les timestamp #}
{% for entite in liste_des_entites %}
{% if loop.first %}
{# Au premier passage #}
{% set timestamp_des_entites_boucle.timestamp = [as_timestamp(states(entite))] %}
{% else %}
{# Pour les autres passages #}
{% set timestamp_des_entites_boucle.timestamp = timestamp_des_entites_boucle.timestamp + [as_timestamp(states(entite))] %}
{% endif %}
{% endfor %}
{# Définition de la liste représentant les timestamp #}
{% set timestamp_des_entites = timestamp_des_entites_boucle.timestamp %}
{# Définition de la variable contenant le timestamp le plus petit représentant le prochain évènement #}
{% set entite_la_plus_petite = timestamp_des_entites|min %}
{# Définition de la date/heure du prochain évènement en objet datetime pour faire des calculs liés au temps #}
{% set prochain_evenement = as_local(strptime(states(liste_des_entites[timestamp_des_entites.index(entite_la_plus_petite)]), '%Y-%m-%dT%H:%M:%S.000Z')).replace(tzinfo=None) %}
{# Définition de la date/heure actuel en objet datetime pour faire des calculs liés au temps #}
{% set maintenant = strptime((states('sensor.date') + " " + states('sensor.time') + ":00"), '%Y-%m-%d %H:%M:%S') %}
{# On soustrait les deux objets datetime afin de récupérer le temps restant #}
{{(prochain_evenement - maintenant)|replace('days','jours')|replace('day','jour')}}
Pour l’adapter avec tes entités, il faut modifier la liste des entités contenues dans la variable liste_des_entites
et modifier en conséquence le format utilisé pour la conversion en objet datetime à définition de la variable prochain_evenement
, n’hésite pas à demander de l’aide