la gestion des dates dans python nécessite un peut d’apprentissage (et de tâtonnement pour les non-dev comme moi)
-
Si c’est juste pour de l’affichage, je recommande d’utiliser la librairie
easy_time.jinja
qui permet d’afficher et comparer des dates relativement facilement. -
Sinon, le mieux est d’utiliser les objets date et/ou datetime de python & les functions associé et de toujours spécifier le
device_class
, ce qui permet d’afficher ça très facilement
en voici un exemple :
- name: Duree Jour
unique_id: daily_duration
device_class: duration
icon: mdi:weather-sunset-up
unit_of_measurement: s
state: >
{{ (states.sun.sun.attributes.next_setting | as_datetime | relative_time - states.sun.sun.attributes.next_rising | as_datetime | relative_time).total_seconds()|int(default=0) }}
une fois que le sensor est une « vrai » date (au sens python), on peut facilement comparer et les manipuler :
- name: delta jour
unique_id: delta_jour
device_class: duration
unit_of_measurement: s
icon: mdi:weather-sunset-up
state: >
{{ states('sensor.duree_jour') | int (default=0) - states('sensor.duree_jour_veille') | int (default=0) }}
ça permet de pouvoir faire ce genre de chose dans HomeAssistant :