Je cherche depuis le début de l’après à résoudre un problème qui semblait pourtant simple et comme je ne n’arrive pas trouver la solution, je fais appel à vous.
Voilà , j’ai une entité dont un attribut me donne le temps de fin d’une programmation sous cette forme:
quick_veto_end_date_time: 2023-04-24T22:01:00
et je voudrais tout simplement créer un nouveau sensor qui me donnerai le temps en heures minutes secondes qui me sépare du temps actuel.
En bref je voudrais le temps restant de la programmation.
J’ai essayé plusieur formules dans l’outil « modèle » mais j’ai à chaque fois un message d’erreur TypeError: unsupported operand type(s) for -: 'str' and 'str' .
Pour le temps actuel j’utilise as_timestamp(now())
Merci d’avance de votre aide,
Le sensor me dit unavailable alors qu’il à bien une valeur.
Voici le code que j’ai saisie. ( je suis dans la nouvelle configuration avec un repertoire template)
- sensor:
- name: "temps_restant_programmation"
unique_id: "Temps restant de la programmation"
state: >
{% set end_time = strptime(states('climate.zone_0').attributes.quick_veto_end_date_time, "%Y-%m-%dT%H:%M:%S") %}
{% set remaining_time = (end_time - now()).total_seconds() %}
{% set hours = ((remaining_time // 3600) % 24) %}
{% set minutes = ((remaining_time // 60) % 60) %}
{% set seconds = (remaining_time % 60) %}
{{ '%02d:%02d:%02d' | format(hours, minutes, seconds) }}
et si je mets {% set end_time = strptime(states('climate.zone_0').attributes.quick_veto_end_date_time, "%Y-%m-%dT%H:%M:%S") %} dans l’outil « modèle » j’ai ce message UndefinedError: 'str object' has no attribute 'attributes'